linear-api 0.1.0

Unofficial async Rust client for the Linear GraphQL API (API-key auth)
Documentation
[package]
name = "linear-api"
version = "0.1.0"
edition = "2024"
rust-version = "1.85"
license = "MIT OR Apache-2.0"
description = "Unofficial async Rust client for the Linear GraphQL API (API-key auth)"
repository = "https://github.com/bipa-app/linear-api"
readme = "README.md"
keywords = ["linear", "graphql", "api", "client", "sdk"]
categories = ["api-bindings", "asynchronous", "web-programming::http-client"]
# Repo-only material stays out of the crates.io package. schema/ must ship:
# tests/schema_validation.rs include_str!s the committed SDL snapshot.
exclude = ["docs/", ".github/"]

[dependencies]
reqwest = { version = "0.13", default-features = false, features = ["json"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"
time = { version = "0.3", features = [
  "serde",
  "parsing",
  "formatting",
  "macros",
  "serde-well-known",
] }
futures = "0.3"
bon = "3.9"
secrecy = "0.10"
fastrand = "2"
url = "2"
# Timer for retry backoff / rate-limit waits. reqwest already requires the tokio
# runtime, so this adds no new runtime dependency — only the "time" feature.
tokio = { version = "1", default-features = false, features = ["time"] }
tracing = { version = "0.1", optional = true }

[dev-dependencies]
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
wiremock = "0.6"
insta = { version = "1.48", features = ["json"] }
apollo-compiler = "1"
anyhow = "1"
# Integration tests consume the `list_stream` Streams (futures is otherwise a
# normal dependency, invisible to tests/*).
futures = "0.3"

[features]
default = ["rustls-tls"]
# reqwest 0.13 split its former `rustls-tls` feature into `rustls` (the TLS
# backend) plus a root-store choice; `webpki-roots` matches the old semantics.
rustls-tls = ["reqwest/rustls", "reqwest/webpki-roots"]
native-tls = ["reqwest/native-tls"]
tracing = ["dep:tracing"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]