[package]
edition = "2024"
name = "codanna"
version = "0.9.20"
authors = ["Angel Bartolli <bartolli@gmail.com>"]
build = false
exclude = [
".github/",
"contributing/",
"tests/",
"docs/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Code Intelligence for Large Language Models"
homepage = "https://github.com/bartolli/codanna"
documentation = "https://docs.rs/codanna"
readme = "README.md"
keywords = [
"mcp-server",
"code-intelligence",
"semantic-search",
"llm",
"rag",
]
categories = [
"development-tools",
"command-line-utilities",
"parsing",
"text-processing",
"compilers",
]
license = "Apache-2.0"
repository = "https://github.com/bartolli/codanna"
[package.metadata.binstall]
pkg-fmt = "txz"
bin-dir = "{ name }-{ version }-{ target-family }/{ bin }{ binary-ext }"
[package.metadata.binstall.overrides.x86_64-unknown-linux-gnu]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ version }-linux-x64.tar.xz"
bin-dir = "{ name }-{ version }-linux-x64/{ bin }"
[package.metadata.binstall.overrides.x86_64-apple-darwin]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ version }-macos-x64.tar.xz"
bin-dir = "{ name }-{ version }-macos-x64/{ bin }"
[package.metadata.binstall.overrides.aarch64-apple-darwin]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ version }-macos-arm64.tar.xz"
bin-dir = "{ name }-{ version }-macos-arm64/{ bin }"
[package.metadata.binstall.overrides.x86_64-pc-windows-msvc]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ version }-windows-x64.zip"
pkg-fmt = "zip"
bin-dir = "{ name }-{ version }-windows-x64/{ bin }{ binary-ext }"
[features]
axum = ["dep:axum"]
axum-server = ["dep:axum-server"]
default = ["http-server"]
http-server = [
"axum",
"tower",
"tower-http",
]
https-server = [
"http-server",
"axum-server",
"rustls",
"rcgen",
]
rcgen = ["dep:rcgen"]
rustls = ["dep:rustls"]
tower = ["dep:tower"]
tower-http = ["dep:tower-http"]
[lib]
name = "codanna"
path = "src/lib.rs"
[[bin]]
name = "codanna"
path = "src/main.rs"
[[example]]
name = "simple_progress_demo"
path = "examples/simple_progress_demo.rs"
[[example]]
name = "pipeline_metrics_demo"
path = "examples/pipeline_metrics_demo.rs"
[[bench]]
name = "go_parser_bench"
path = "benches/go_parser_bench.rs"
[[bench]]
name = "kotlin_parser_bench"
path = "benches/kotlin_parser_bench.rs"
harness = false
[[bench]]
name = "unified_output_bench"
path = "benches/unified_output_bench.rs"
harness = false
[dependencies.anyhow]
version = "1.0.102"
[dependencies.async-trait]
version = "0.1.89"
[dependencies.axum]
version = "0.8.8"
optional = true
[dependencies.axum-server]
version = "0.8.0"
features = ["tls-rustls-no-provider"]
optional = true
[dependencies.bitflags]
version = "2.11.0"
[dependencies.chrono]
version = "0.4.44"
[dependencies.clap]
version = "4.6.0"
features = [
"derive",
"color",
"env",
]
[dependencies.comfy-table]
version = "7.2.2"
[dependencies.console]
version = "0.16.3"
[dependencies.crossbeam-channel]
version = "0.5.15"
[dependencies.dashmap]
version = "6.1.0"
[dependencies.dirs]
version = "6.0.0"
[dependencies.fastembed]
version = "=5.6.0"
[dependencies.figment]
version = "0.10.19"
features = [
"toml",
"env",
]
[dependencies.glob]
version = "0.3.3"
[dependencies.ignore]
version = "0.4.25"
[dependencies.indexmap]
version = "2.13.0"
features = ["serde"]
[dependencies.indicatif]
version = "0.18.4"
[dependencies.is-terminal]
version = "0.4.17"
[dependencies.memmap2]
version = "0.9.10"
[dependencies.notify]
version = "8.2.0"
[dependencies.num_cpus]
version = "1.17.0"
[dependencies.owo-colors]
version = "4.3.0"
[dependencies.parking_lot]
version = "0.12.5"
[dependencies.rand]
version = "0.10.0"
[dependencies.rayon]
version = "1.11.0"
[dependencies.rcgen]
version = "0.14.7"
optional = true
[dependencies.regex]
version = "1.12.3"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
]
default-features = false
[dependencies.rmcp]
version = "1.2.0"
features = [
"server",
"client",
"transport-io",
"transport-child-process",
"transport-streamable-http-server",
"transport-worker",
]
[dependencies.rustls]
version = "0.23.37"
features = ["ring"]
optional = true
default-features = false
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.149"
[dependencies.serde_json5]
version = "0.2.1"
[dependencies.serde_urlencoded]
version = "0.7"
[dependencies.sha2]
version = "0.10"
[dependencies.sysinfo]
version = "0.38.4"
[dependencies.tantivy]
version = "0.25.0"
[dependencies.tempfile]
version = "3.27.0"
[dependencies.thiserror]
version = "2.0.18"
[dependencies.tokio]
version = "1.50.0"
features = ["full"]
[dependencies.tokio-util]
version = "0.7.18"
[dependencies.toml]
version = "0.9.8"
features = ["preserve_order"]
[dependencies.tower]
version = "0.5.3"
optional = true
[dependencies.tower-http]
version = "0.6.8"
features = ["cors"]
optional = true
[dependencies.tracing]
version = "0.1.44"
[dependencies.tracing-subscriber]
version = "0.3.23"
features = ["env-filter"]
[dependencies.tree-sitter]
version = "0.26.7"
[dependencies.tree-sitter-c]
version = "0.24.1"
[dependencies.tree-sitter-c-sharp]
version = "0.23.1"
[dependencies.tree-sitter-clojure-orchard]
version = "0.2.5"
[dependencies.tree-sitter-cpp]
version = "0.23.4"
[dependencies.tree-sitter-gdscript]
version = "6.1.0"
[dependencies.tree-sitter-go]
version = "0.25.0"
[dependencies.tree-sitter-java]
version = "0.23.5"
[dependencies.tree-sitter-javascript]
version = "0.25.0"
[dependencies.tree-sitter-kotlin-codanna]
version = "0.3.9"
[dependencies.tree-sitter-lua]
version = "0.5.0"
[dependencies.tree-sitter-php]
version = "0.24.1"
[dependencies.tree-sitter-python]
version = "0.25.0"
[dependencies.tree-sitter-rust]
version = "0.24.0"
[dependencies.tree-sitter-swift]
version = "0.7.1"
[dependencies.tree-sitter-typescript]
version = "0.23.2"
[dependencies.walkdir]
version = "2.5.0"
[dev-dependencies.criterion]
version = "0.8.2"
features = ["html_reports"]
[dev-dependencies.ort]
version = "=2.0.0-rc.10"
default-features = false
[dev-dependencies.testcontainers]
version = "0.27.1"
[dev-dependencies.thread-id]
version = "5.1.0"
[lints.clippy]
uninlined_format_args = "warn"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ['cfg(feature, values("gpu-cuda", "gpu-tensorrt", "gpu-coreml", "gpu-directml", "gpu-openvino", "gpu-rocm"))']
[profile.release]