[package]
name = "litchee"
version = "0.1.5"
edition = "2024"
rust-version = "1.95"
authors = ["Olivier Bazin <olivierbazin.it@gmail.com>"]
description = "Async, builder-pattern Rust client for the Lichess API: full endpoint coverage, NDJSON streaming, and OAuth2 PKCE ('Log in with Lichess')."
documentation = "https://docs.rs/litchee"
homepage = "https://github.com/obazin/litchee"
repository = "https://github.com/obazin/litchee"
license = "MIT"
readme = "README.md"
keywords = ["lichess", "chess", "api", "client", "oauth"]
categories = ["api-bindings", "asynchronous", "web-programming::http-client"]
exclude = [
"/reference",
"/.github",
"/.claude",
"/.gitignore",
"/.gitmodules",
"/.envrc",
"/clippy.toml",
"/rustfmt.toml",
"/flake.nix",
"/flake.lock",
"/rust-toolchain.toml",
"/CLAUDE.md",
"/todo.md",
]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[dependencies]
async-stream = "0.3.6"
base64 = "0.22.1"
bytes = "1.11.1"
futures-core = "0.3.32"
futures-util = "0.3.32"
percent-encoding = "2.3"
rand = "0.10"
reqwest = { version = "0.13.4", default-features = false, features = ["rustls", "json", "form", "query", "stream", "http2"] }
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.150"
serde_urlencoded = "0.7.1"
sha2 = "0.11"
thiserror = "2.0.18"
tokio = { version = "1", default-features = false, features = ["time"] }
url = "2.5.8"
[dev-dependencies]
futures-util = "0.3.32"
tokio = { version = "1.52.3", features = ["macros", "rt-multi-thread", "net", "io-util", "time"] }
wiremock = "0.6.5"
[lints.rust]
unsafe_code = "forbid"
missing_docs = "warn"
missing_debug_implementations = "warn"
unreachable_pub = "warn"
[lints.clippy]
all = { level = "deny", priority = -1 }
pedantic = { level = "warn", priority = -1 }
module_name_repetitions = "allow"
missing_errors_doc = "allow"
must_use_candidate = "allow"