[package]
edition = "2021"
name = "tasker-client"
version = "0.1.3"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Tasker API client library — transport-agnostic REST and gRPC clients"
readme = "README.md"
keywords = [
"api",
"client",
"orchestration",
"rest",
"workflow",
]
categories = [
"api-bindings",
"asynchronous",
"web-programming",
]
license = "MIT"
repository = "https://github.com/tasker-systems/tasker-core"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[package.metadata.cargo-machete]
ignored = [
"dotenvy",
"tokio-test",
"workspace_tools",
"futures",
"once_cell",
]
[features]
default = ["grpc"]
grpc = [
"tonic",
"prost-types",
"tasker-shared/grpc-api",
]
test-services = []
[lib]
name = "tasker_client"
path = "src/lib.rs"
[[test]]
name = "grpc_integration_test"
path = "tests/grpc_integration_test.rs"
[[test]]
name = "orchestration_api_gaps_test"
path = "tests/orchestration_api_gaps_test.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.chrono]
version = "0.4.43"
features = ["serde"]
[dependencies.config]
version = "0.15"
[dependencies.dirs]
version = "6.0"
[dependencies.futures]
version = "0.3"
[dependencies.once_cell]
version = "1.19"
[dependencies.prost-types]
version = "0.14"
optional = true
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
]
default-features = false
[dependencies.serde]
version = "=1.0.228"
features = [
"derive",
"std",
]
[dependencies.serde_json]
version = "1.0"
[dependencies.tasker-shared]
version = "=0.1.3"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.49"
features = ["full"]
[dependencies.toml]
version = "0.9"
[dependencies.tonic]
version = "0.14"
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.uuid]
version = "1.11"
features = [
"serde",
"v4",
"v7",
]
[dependencies.workspace_tools]
version = "0.11.0"
features = ["full"]
[dev-dependencies.dotenvy]
version = "0.15"
[dev-dependencies.tempfile]
version = "3.24"
[dev-dependencies.tokio-test]
version = "0.4"
[lints.clippy]
dbg_macro = "warn"
module_inception = "allow"
multiple_crate_versions = "allow"
undocumented_unsafe_blocks = "warn"
uninlined_format_args = "allow"
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.correctness]
level = "warn"
priority = -1
[lints.clippy.suspicious]
level = "warn"
priority = -1
[lints.rust]
missing_debug_implementations = "warn"
redundant_imports = "warn"
unsafe_op_in_unsafe_fn = "warn"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(tokio_unstable)"]