[package]
edition = "2024"
rust-version = "1.94"
name = "ruff"
version = "0.15.19"
authors = ["Charlie Marsh <charlie.r.marsh@gmail.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "ruff"
description = "An extremely fast Python linter and code formatter"
homepage = "https://docs.astral.sh/ruff"
documentation = "https://docs.astral.sh/ruff"
readme = "README.md"
license = "MIT"
repository = "https://github.com/astral-sh/ruff"
resolver = "2"
[package.metadata.cargo-shear]
ignored = ["jiff"]
[package.metadata.dist]
dist = true
[lib]
name = "ruff"
path = "src/lib.rs"
doctest = false
[[bin]]
name = "ruff"
path = "src/main.rs"
[[test]]
name = "analyze_graph"
path = "tests/analyze_graph.rs"
[[test]]
name = "cli"
path = "tests/cli/main.rs"
[[test]]
name = "config"
path = "tests/config.rs"
[[test]]
name = "direxist_guard"
path = "tests/direxist_guard.rs"
[[test]]
name = "integration_test"
path = "tests/integration_test.rs"
[[test]]
name = "resolve_files"
path = "tests/resolve_files.rs"
[dependencies.anyhow]
version = "1.0.80"
[dependencies.argfile]
version = "1.0.0"
[dependencies.bincode]
version = "2.0.0"
features = ["serde"]
[dependencies.bitflags]
version = "2.5.0"
[dependencies.cachedir]
version = "0.3.1"
[dependencies.clap]
version = "4.5.3"
features = [
"derive",
"derive",
"env",
"wrap_help",
]
[dependencies.clap_complete_command]
version = "0.6.0"
[dependencies.clearscreen]
version = "4.0.0"
[dependencies.colored]
version = "3.0.0"
[dependencies.filetime]
version = "0.2.23"
[dependencies.globwalk]
version = "0.9.1"
[dependencies.ignore]
version = "0.4.24"
[dependencies.indexmap]
version = "2.6.0"
[dependencies.is-macro]
version = "0.3.5"
[dependencies.itertools]
version = "0.14.0"
[dependencies.jiff]
version = "0.2.0"
[dependencies.log]
version = "0.4.17"
[dependencies.notify]
version = "8.0.0"
[dependencies.path-absolutize]
version = "3.1.1"
features = ["once_cell_cache"]
[dependencies.rayon]
version = "1.10.0"
[dependencies.regex]
version = "1.10.2"
[dependencies.ruff_cache]
version = "0.0.2"
[dependencies.ruff_db]
version = "0.0.2"
features = ["os"]
default-features = false
[dependencies.ruff_diagnostics]
version = "0.0.2"
[dependencies.ruff_graph]
version = "0.0.2"
features = [
"serde",
"clap",
]
[dependencies.ruff_linter]
version = "0.15.19"
features = ["clap"]
[dependencies.ruff_macros]
version = "0.0.2"
[dependencies.ruff_markdown]
version = "0.0.2"
[dependencies.ruff_notebook]
version = "0.0.2"
[dependencies.ruff_options_metadata]
version = "0.0.2"
features = ["serde"]
[dependencies.ruff_python_ast]
version = "0.0.2"
[dependencies.ruff_python_formatter]
version = "0.0.2"
[dependencies.ruff_python_parser]
version = "0.0.2"
[dependencies.ruff_server]
version = "0.0.2"
[dependencies.ruff_source_file]
version = "0.0.2"
[dependencies.ruff_text_size]
version = "0.0.2"
[dependencies.ruff_workspace]
version = "0.0.2"
[dependencies.rustc-hash]
version = "2.0.0"
[dependencies.serde]
version = "1.0.197"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.113"
[dependencies.shellexpand]
version = "3.0.0"
[dependencies.strum]
version = "0.28.0"
features = ["strum_macros"]
[dependencies.tempfile]
version = "3.9.0"
[dependencies.thiserror]
version = "2.0.0"
[dependencies.toml]
version = "1.0.0"
[dependencies.tracing]
version = "0.1.40"
features = ["log"]
[dependencies.walkdir]
version = "2.3.2"
[dependencies.wild]
version = "2"
[dev-dependencies.assert_fs]
version = "1.1.0"
[dev-dependencies.colored]
version = "3.0.0"
features = ["no-color"]
[dev-dependencies.dunce]
version = "1.0.5"
[dev-dependencies.indoc]
version = "2.0.4"
[dev-dependencies.insta]
version = "1.35.1"
features = [
"filters",
"json",
]
[dev-dependencies.insta-cmd]
version = "0.6.0"
[dev-dependencies.ruff_linter]
version = "0.15.19"
features = [
"clap",
"test-rules",
]
[dev-dependencies.ruff_python_trivia]
version = "0.0.2"
[dev-dependencies.tempfile]
version = "3.9.0"
[dev-dependencies.test-case]
version = "3.3.1"
[target.'cfg(all(not(target_os = "windows"), not(target_os = "openbsd"), not(target_os = "aix"), not(target_os = "android"), any(target_arch = "x86_64", target_arch = "aarch64", target_arch = "powerpc64", target_arch = "riscv64")))'.dependencies.tikv-jemallocator]
version = "0.6.0"
[target.'cfg(target_os = "windows")'.dependencies.mimalloc]
version = "0.1.49"
features = ["v2"]
[lints.clippy]
char_lit_as_u8 = "allow"
collapsible_else_if = "allow"
collapsible_if = "allow"
collapsible_match = "allow"
dbg_macro = "warn"
debug_assert_with_mut_call = "warn"
disallowed_methods = "allow"
empty_drop = "warn"
empty_structs_with_brackets = "warn"
exit = "warn"
get_unwrap = "warn"
if_not_else = "allow"
ignore_without_reason = "allow"
implicit_hasher = "allow"
iter_over_hash_type = "warn"
large_stack_arrays = "allow"
map_unwrap_or = "allow"
match_same_arms = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
needless_continue = "allow"
needless_raw_string_hashes = "allow"
print_stderr = "warn"
print_stdout = "warn"
rc_buffer = "warn"
rc_mutex = "warn"
redundant_clone = "warn"
rest_pat_in_fully_bound_structs = "warn"
similar_names = "allow"
single_match_else = "allow"
too_many_lines = "allow"
unnecessary_debug_formatting = "allow"
unused_peekable = "warn"
[lints.clippy.pedantic]
level = "warn"
priority = -2
[lints.rust]
unreachable_pub = "warn"
unsafe_code = "warn"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(fuzzing)",
"cfg(codspeed)",
]