Open-Source Wikis

/

Ruff

/

Reference

/

Dependencies

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 of annotate-snippets-rs. Lives at crates/ruff_annotate_snippets.
  • ruff_formatter — fork of rome_formatter. Lives at crates/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.toml under [workspace.dependencies].
  • Per-crate dependencies are declared in each crate's Cargo.toml and reuse workspace = true.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Dependencies – Ruff wiki | Factory