metabase 0.1.1

Ergonomic Rust SDK for Metabase's HTTP API, with async and blocking clients.
Documentation
[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"