| 
				 
		
			Some checks are pending
		
		
	 
	CI / Determine changes (push) Waiting to run 
				
			CI / cargo fmt (push) Waiting to run 
				
			CI / cargo clippy (push) Blocked by required conditions 
				
			CI / cargo test (linux) (push) Blocked by required conditions 
				
			CI / cargo test (linux, release) (push) Blocked by required conditions 
				
			CI / cargo test (windows) (push) Blocked by required conditions 
				
			CI / cargo test (wasm) (push) Blocked by required conditions 
				
			CI / cargo build (release) (push) Waiting to run 
				
			CI / cargo build (msrv) (push) Blocked by required conditions 
				
			CI / cargo fuzz build (push) Blocked by required conditions 
				
			CI / fuzz parser (push) Blocked by required conditions 
				
			CI / test scripts (push) Blocked by required conditions 
				
			CI / ecosystem (push) Blocked by required conditions 
				
			CI / Fuzz for new ty panics (push) Blocked by required conditions 
				
			CI / cargo shear (push) Blocked by required conditions 
				
			CI / python package (push) Waiting to run 
				
			CI / pre-commit (push) Waiting to run 
				
			CI / mkdocs (push) Waiting to run 
				
			CI / formatter instabilities and black similarity (push) Blocked by required conditions 
				
			CI / test ruff-lsp (push) Blocked by required conditions 
				
			CI / check playground (push) Blocked by required conditions 
				
			CI / benchmarks-instrumented (push) Blocked by required conditions 
				
			CI / benchmarks-walltime (push) Blocked by required conditions 
				
			[ty Playground] Release / publish (push) Waiting to run 
				
			Co-authored-by: Micha Reiser <micha@reiser.io>  | 
			||
|---|---|---|
| .. | ||
| resources/test/fixtures | ||
| src | ||
| tests | ||
| Cargo.toml | ||
| CONTRIBUTING.md | ||
| generate.py | ||
| orphan_rules_in_the_formatter.svg | ||
| README.md | ||
Ruff Formatter
The Ruff formatter is an extremely fast Python code formatter that ships as part of the ruff
CLI.
Goals
The formatter is designed to be a drop-in replacement for Black, but with an excessive focus on performance and direct integration with Ruff.
Specifically, the formatter is intended to emit near-identical output when run over Black-formatted code. When run over extensive Black-formatted projects like Django and Zulip, > 99.9% of lines are formatted identically. When migrating an existing project from Black to Ruff, you should expect to see a few differences on the margins, but the vast majority of your code should be unchanged.
If you identify deviations in your project, spot-check them against the intentional deviations enumerated below, as well as the unintentional deviations filed in the issue tracker. If you've identified a new deviation, please file an issue.
When run over non-Black-formatted code, the formatter makes some different decisions than Black, and so more deviations should be expected, especially around the treatment of end-of-line comments. For details, see Style Guide.
Getting started
Head to The Ruff Formatter for usage instructions and a comparison to Black.