astral-sh/ruff
Dependencies
A high-level view of the third-party Rust crates this workspace pulls in. The authoritative list is Cargo.toml (workspace dependencies) and Cargo.lock.
Foundational
| Crate | Used for |
|---|---|
serde, serde_json |
Configuration, notebooks, JSON output formats. |
clap |
CLI argument parsing in ruff and ty. |
rayon |
Parallelism in the linter and formatter. |
tokio, tower-lsp |
The two LSP servers. |
anyhow, thiserror |
Error types. |
tracing, tracing-subscriber |
Structured logs. |
bitflags |
Compact rule flags, scope flags. |
aho-corasick, bstr |
String search; used by some rules and the noqa parser. |
argfile |
Support for @arguments.txt argument files. |
clap_complete_command |
Shell completion generation. |
clearscreen |
Watch-mode screen clearing. |
File system / IO
| Crate | Used for |
|---|---|
ignore, globset |
File discovery honoring .gitignore. |
cachedir |
Detection of OS cache directories (for .ruff_cache). |
camino |
UTF-8 paths used in ruff_db::system. |
fs-err |
Wrapper around std::fs with better error messages. |
Parsing / formatting
| Crate | Used for |
|---|---|
bincode |
Binary serialization (cache). |
serde-toml, toml |
TOML configuration parsing. |
pulldown-cmark |
Markdown processing in mdtest and docs. |
Snapshot testing
| Crate | Used for |
|---|---|
insta |
Snapshot tests. |
assert_fs, assert_cmd |
Filesystem-aware integration tests. |
tempfile |
Test temp dirs. |
Benchmarking
| Crate | Used for |
|---|---|
criterion |
Benchmark framework. |
codspeed-criterion-compat |
CodSpeed integration in CI. |
ty-specific
| Crate | Used for |
|---|---|
salsa |
Incremental computation framework that ty is built on. |
dashmap, hashbrown |
Concurrent hash maps in tracked queries. |
rustc-hash, fxhash |
Faster hashing in hot paths. |
Forked / bundled
ruff_annotate_snippets— fork ofannotate-snippets-rs. Lives atcrates/ruff_annotate_snippets.ruff_formatter— fork ofrome_formatter. Lives atcrates/ruff_formatter.ty_vendored— bundled typeshed stubs.
Renovate / Dependabot
The .github/renovate.json file controls automatic dependency updates. Patch and minor updates are auto-merged where possible; major updates need human review.
Lock file
Cargo.lock is committed (134 KB). Updates are reviewed PR-by-PR; the team is conservative about breaking dependency changes since they can ripple into rule behavior or performance characteristics.
See also
- The full list of workspace dependencies is in
Cargo.tomlunder[workspace.dependencies]. - Per-crate dependencies are declared in each crate's
Cargo.tomland reuseworkspace = true.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.