datadog-api-client 0.34.0

Rust client for the Datadog API.
[package]
authors = ["support@datadoghq.com"]
categories = [
    "api-bindings",
    "config",
    "web-programming::http-client"
]
description = "Rust client for the Datadog API."
edition = "2021"
include = [
    "/build.rs",
    "/Cargo.toml",
    "/LICENSE-3rdparty.csv",
    "/LICENSE",
    "/NOTICE",
    "/README.md",
    "/src/**/*",
    "/examples/*",
]
keywords = [
    "datadog",
    "api",
    "client",
    "openapi"
]
license = "Apache-2.0"
name = "datadog-api-client"
readme = "README.md"
repository = "https://github.com/DataDog/datadog-api-client-rust"
version = "0.34.0"

[dependencies]
async-stream = "0.3.6"
chrono = {version = "0.4.44", features = ["serde"] }
# Activates JS crypto API for getrandom on wasm32-unknown-unknown (browser); harmless on other targets
getrandom = { version = "0.2", features = ["js"] }
flate2 = "1.1.9"
form-data-builder = "1.0.1"
futures-core = "0.3.32"
lazy_static = "1.5.0"
log = "0.4.29"
reqwest = { version = "0.13.2", features = ["multipart", "query"], default-features = false }
reqwest-middleware = { version = "0.5.1", features = ["query"] }
reqwest-retry = { version = "0.9.1", optional = true }
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.149"
serde_with = "3.18.0"
url = "2.5.8"
uuid = { version = "1.23.0", features = ["v4", "fast-rng", "macro-diagnostics", "serde", "js"] }
zstd = { version = "0.13.3", optional = true }

[build-dependencies]
rustc_version = "0.4.1"

[dev-dependencies]
chrono = "0.4.44"
convert_case = "0.11.0"
cucumber = "0.22.1"
env_logger = "0.11.10"
futures = "0.3.32"
futures-util = "0.3.32"
minijinja = "2.18.0"
regex = "1.12.3"
rvcr = { path = "patches/rvcr" }
sha256 = "1.6.0"
tokio = { version = "1.50", features = ["macros", "rt-multi-thread", "time"] }
urlencoding = "2.1.3"
vcr-cassette = "2.0.1"

[[test]]
harness = false # allows Cucumber to print output instead of libtest
name = "main"
path = "tests/main.rs"

[[example]] # signal to Cargo that dev-dependencies are allowed for examples
doc-scrape-examples = true
name="v1_authentication_Validate"

[package.metadata.docs.rs]
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]

[features]
default = ["native-tls", "zstd", "retry"]
native-tls = ["reqwest/native-tls"]
rustls-tls = ["reqwest/rustls"]
# Enable zstd request body compression (requires C toolchain; not available for wasm targets)
zstd = ["dep:zstd"]
# Enable automatic request retry with exponential backoff (requires tokio; not available for wasm32-unknown-unknown)
retry = ["dep:reqwest-retry"]
# Convenience feature for wasm32-unknown-unknown (browser) targets:
# disables zstd (C FFI) and retry (tokio::time); uuid/js provides entropy via JS crypto API
# Usage: --no-default-features --features wasm
# For wasm32-wasip2: --no-default-features --features rustls-tls,retry
wasm = []