[package]
edition = "2024"
rust-version = "1.88"
name = "aither"
version = "0.4.0"
authors = ["Lexo Liu <me@lexo.cool>"]
build = false
exclude = [
".github/",
".gitignore",
"target/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Providing unified trait abstractions for AI models"
documentation = "https://docs.rs/aither"
readme = "README.md"
keywords = [
"ai",
"llm",
"embedding",
"image-generation",
"no-std",
]
categories = [
"api-bindings",
"no-std",
]
license = "MIT"
repository = "https://github.com/lexoliu/aither"
resolver = "2"
[package.metadata.cargo-machete]
ignored = ["url"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[badges.maintenance]
status = "actively-developed"
[features]
agent = ["aither-agent"]
all-providers = [
"openai",
"claude",
"gemini",
"llama",
"ort",
]
all-tools = [
"browser",
"websearch",
"webfetch",
"search",
"fs",
"command",
]
browser = ["aither-browser"]
claude = ["aither-claude"]
command = ["aither-command"]
default = [
"derive",
"serde",
]
derive = ["aither-derive"]
fs = ["aither-fs"]
full = [
"all-providers",
"all-tools",
"agent",
"rag",
"mem0",
"skills",
"mcp",
]
gemini = ["aither-gemini"]
llama = ["aither-llama"]
mcp = ["aither-mcp"]
mem0 = ["aither-mem0"]
openai = ["aither-openai"]
ort = ["aither-ort"]
rag = ["aither-rag"]
search = ["aither-search"]
serde = [
"serde/derive",
"url/serde",
]
skills = ["aither-skills"]
webfetch = ["aither-webfetch"]
websearch = ["aither-websearch"]
[lib]
name = "aither"
path = "src/lib.rs"
[[example]]
name = "assistant"
path = "examples/assistant.rs"
[[example]]
name = "chatbot_gemini"
path = "examples/chatbot_gemini.rs"
[[example]]
name = "chatbot_openrouter"
path = "examples/chatbot_openrouter.rs"
[[example]]
name = "gemini_debug"
path = "examples/gemini_debug.rs"
[[example]]
name = "mem0_gemini"
path = "examples/mem0_gemini.rs"
[[example]]
name = "tool_macro"
path = "examples/tool_macro.rs"
[dependencies.aither-agent]
version = "0.4.0"
optional = true
[dependencies.aither-browser]
version = "0.4.0"
optional = true
[dependencies.aither-claude]
version = "0.4.0"
optional = true
[dependencies.aither-command]
version = "0.4.0"
optional = true
[dependencies.aither-core]
version = "0.4.0"
[dependencies.aither-derive]
version = "0.4.0"
optional = true
[dependencies.aither-fs]
version = "0.4.0"
optional = true
[dependencies.aither-gemini]
version = "0.4.0"
optional = true
[dependencies.aither-llama]
version = "0.4.0"
optional = true
[dependencies.aither-mcp]
version = "0.4.0"
optional = true
[dependencies.aither-mem0]
version = "0.4.0"
optional = true
[dependencies.aither-openai]
version = "0.4.0"
optional = true
[dependencies.aither-ort]
version = "0.4.0"
optional = true
[dependencies.aither-rag]
version = "0.4.0"
optional = true
[dependencies.aither-search]
version = "0.4.0"
optional = true
[dependencies.aither-skills]
version = "0.4.0"
optional = true
[dependencies.aither-webfetch]
version = "0.4.0"
optional = true
[dependencies.aither-websearch]
version = "0.4.0"
optional = true
[dependencies.anyhow]
version = "1.0"
default-features = false
[dependencies.futures-lite]
version = "2.6"
[dependencies.schemars]
version = "1.2"
default-features = false
[dependencies.serde]
version = "1.0"
default-features = false
[dependencies.serde_json]
version = "1.0"
default-features = false
[dependencies.url]
version = "2.5"
default-features = false
[dev-dependencies.aither-gemini]
version = "0.4.0"
[dev-dependencies.aither-mem0]
version = "0.4.0"
[dev-dependencies.aither-openai]
version = "0.4.0"
[dev-dependencies.aither-rag]
version = "0.4.0"
[dev-dependencies.aither-webfetch]
version = "0.4.0"
[dev-dependencies.crossterm]
version = "0.29"
[dev-dependencies.futures-lite]
version = "2.6"
[dev-dependencies.schemars]
version = "1.2"
[dev-dependencies.serde]
version = "1.0"
features = ["derive"]
[dev-dependencies.tokio]
version = "1.53"
features = [
"macros",
"rt",
"rt-multi-thread",
]
[dev-dependencies.tokio-test]
version = "0.4"
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
"fmt",
"env-filter",
]
[lints.clippy]
disallowed_methods = "deny"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.complexity]
level = "warn"
priority = -1
[lints.clippy.correctness]
level = "warn"
priority = -1
[lints.clippy.multiple_crate_versions]
level = "allow"
priority = 1
[lints.clippy.nursery]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.clippy.perf]
level = "warn"
priority = -1
[lints.clippy.style]
level = "warn"
priority = -1
[lints.clippy.suspicious]
level = "warn"
priority = -1
[lints.rust]
missing_debug_implementations = "warn"
missing_docs = "warn"