[dependencies.fastrand]
default-features = false
features = ["std"]
version = "2.3.0"
[dependencies.http]
default-features = false
features = ["std"]
version = "1.4.0"
[dependencies.httpdate]
default-features = false
version = "1.0.3"
[dependencies.metrics]
default-features = false
optional = true
version = "0.24.3"
[dependencies.reqwest]
default-features = false
features = ["json", "multipart", "rustls-no-provider"]
optional = true
version = "0.13.1"
[dependencies.rustls]
default-features = false
features = ["ring", "std", "tls12"]
optional = true
version = "0.23.35"
[dependencies.secrecy]
default-features = false
features = ["serde"]
version = "0.10.3"
[dependencies.serde]
default-features = false
features = ["derive"]
version = "1.0.228"
[dependencies.serde_json]
default-features = false
features = ["std"]
version = "1.0.148"
[dependencies.serde_path_to_error]
default-features = false
version = "0.1.20"
[dependencies.thiserror]
default-features = false
features = ["std"]
version = "2.0.17"
[dependencies.tokio]
default-features = false
features = ["macros", "rt-multi-thread", "time"]
optional = true
version = "1.48.0"
[dependencies.tracing]
default-features = false
features = ["std"]
optional = true
version = "0.1.44"
[dependencies.ureq]
default-features = false
features = ["rustls-no-provider", "json", "multipart"]
optional = true
version = "3.1.4"
[dependencies.url]
default-features = false
features = ["std"]
version = "2.5.7"
[dependencies.wiremock]
default-features = false
optional = true
version = "0.6.5"
[[example]]
name = "async_health"
path = "examples/async_health.rs"
[[example]]
name = "blocking_health"
path = "examples/blocking_health.rs"
[[example]]
name = "error_handling"
path = "examples/error_handling.rs"
[features]
async = ["dep:reqwest", "dep:tokio", "rustls"]
blocking = ["dep:ureq", "rustls"]
default = ["async", "rustls"]
metrics = ["dep:metrics"]
mock = ["dep:wiremock"]
rustls = ["dep:rustls"]
tracing = ["dep:tracing"]
unstable-raw = []
[lib]
name = "metabase"
path = "src/lib.rs"
[lints.clippy]
dbg_macro = "deny"
expect_used = "deny"
panic = "deny"
result_large_err = "allow"
todo = "deny"
unimplemented = "deny"
unwrap_used = "deny"
[lints.rust]
unsafe_code = "forbid"
[package]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["api-bindings", "web-programming::http-client"]
description = "Ergonomic Rust SDK for Metabase's HTTP API, with async and blocking clients."
documentation = "https://docs.rs/metabase"
edition = "2024"
homepage = "https://github.com/lvillis/metabase-rs"
include = ["src/**", "tests/**", "examples/**", "README.md", "CHANGELOG.md", "Cargo.toml", "LICENSE"]
keywords = ["metabase", "sdk", "api"]
license = "MIT"
name = "metabase"
publish = true
readme = "README.md"
repository = "https://github.com/lvillis/metabase-rs"
rust-version = "1.92.0"
version = "0.1.1"
[package.metadata.docs.rs]
all-features = true
[[test]]
name = "blocking_sdk"
path = "tests/blocking_sdk.rs"
[[test]]
name = "sdk"
path = "tests/sdk.rs"