[package]
name = "remoteit-api"
version = "0.14.1"
edition = "2024"
authors = ["Feriixu <remoteit-api.9iois@passmail.net>"]
description = "A wrapper around the Remote.it GraphQL API, also implementing the custom request signing."
license = "MIT OR Apache-2.0"
repository = "https://github.com/Feriixu/remoteit-api-wrapper-rs"
keywords = ["remoteit", "api", "wrapper", "graphql", "client"]
categories = ["api-bindings"]
[package.metadata.docs.rs]
all-features = true
[features]
default = []
credentials_loader = ["dep:dirs", "dep:config"]
blocking = ["dep:reqwest", "reqwest/blocking"]
async = ["dep:reqwest"]
file_upload = [
"dep:reqwest",
"dep:tokio",
"dep:tokio-util",
"reqwest/multipart",
"reqwest/stream"]
native-tls-vendored = ["reqwest/native-tls-vendored"]
[lints.rust]
missing_docs = "deny"
[lints.clippy]
pedantic = "warn"
cargo = "warn"
missing_errors_doc = { level = "deny", priority = -1 }
missing_panics_doc = { level = "deny", priority = -1 }
[dependencies]
chrono = { version = "0.4.38", features = ["serde"] }
serde = { version = "1.0.208", features = ["derive"] }
base64 = "0.22.1"
ring = "0.17.8"
hmac = "0.13.0-pre.4"
thiserror = "2.0.12"
bon = "3.6.3"
serde_json = "1.0.125"
graphql_client = "0.14.0"
tokio = { version = "1.39.3", optional = true, default-features = false, features = ["fs"] }
tokio-util = { version = "0.7.11", optional = true, default-features = false, features = ["codec"]}
reqwest = { version = "0.12.7", features = ["json", "http2", "default-tls"], default-features = false, optional = true}
config = { version = "0.15.11", features = ["ini"], optional = true, default-features = false }
dirs = { version = "6.0.0", optional = true }
[dev-dependencies]
tempfile = "3.12.0"
tokio = { version = "1.39.3", features = ["full", "test-util"] }