ruff/crates/ruff_python_formatter
Brent Westbrook 94e0418006
Enable `--document-private-items` for `ruff_python_formatter`
Summary
--

I wanted to use a link to a preview function to help remember to update some
documentation in #21385, but I noticed that we weren't enforcing doc checks for
private items. I had Claude take the first stab here, but I ended up having to
go back through most of the changes to get the correct links.

The first commit makes everything compile, mostly by adding `(path::to::item)`
entries to the links, or removing brackets when the items aren't public enough.
There were only a couple of cases where I think things were renamed, and I tried
to find the new name for the type that was referenced (e.g.
`FlatBinaryExpressionSlice`).

The second commit rewraps the lines that were now too long and fixes a couple of
very small typos I noticed.

Test Plan
--

CI on this PR
2025-12-10 14:48:00 -05:00
..
resources/test/fixtures Fix leading comment formatting for lambdas with multiple parameters (#21879) 2025-12-09 18:15:12 -05:00
src Enable `--document-private-items` for `ruff_python_formatter` 2025-12-10 14:48:00 -05:00
tests Fix leading comment formatting for lambdas with multiple parameters (#21879) 2025-12-09 18:15:12 -05:00
CONTRIBUTING.md Use `npm ci --ignore-scripts` everywhere (#21742) 2025-12-01 17:13:52 -05:00
Cargo.toml [`ruff`] Update schemars to v1 (#20942) 2025-10-20 08:59:52 +02:00
README.md Add f-string formatting to the docs (#15367) 2025-01-09 10:20:06 +01:00
generate.py Implement template strings (#17851) 2025-05-30 15:00:56 -05:00
orphan_rules_in_the_formatter.svg Generate FormatRule definitions (#4724) 2023-06-01 08:38:53 +02:00

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.