[package] name = "remoteit-api" version = "0.12.2" edition = "2021" rust-version = "1.72.1" authors = ["Feriixu "] 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 = [] # Enables the credentials loader, which can be used to load remote.it credentials from a file. credentials_loader = ["dep:dirs", "dep:config"] # Enabled the blocking API, which is used to make blocking requests to the remote.it API. blocking = ["dep:reqwest", "reqwest/blocking"] # Enables the async API, which is used to make async requests to the remote.it API. async = ["dep:reqwest"] # Enables file upload support. See https://docs.remote.it/developer-tools/device-scripting#uploading-a-script # This feature on it's own does not provide the necessary functionality to upload files. You need to also enable either async or blocking. 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" itertools = "0.13.0" ring = "0.17.8" hmac = "0.13.0-pre.4" thiserror = "1.0.63" bon = "1.2.1" 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.14.0", features = ["ini"], optional = true, default-features = false } dirs = { version = "5.0.1", optional = true } [dev-dependencies] tempfile = "3.12.0" tokio = { version = "1.39.3", features = ["full", "test-util"] }