Skip to content

📋 Formatter black compatibility tracking issue #5828

@konstin

Description

@konstin

We will continuously update this issue with compatibility measure between our formatter and black and the general status of the formatter.

Not Implemented

not_yet_implemented usages: 0
not_yet_implemented_custom_text usages: 0

Select Projects / Small ecosystem check

To condense the compatibility over an entire repository, we use the similarity index. It is defined as the percentage of lines that remains unchanged between black's formatting and our formatting. You could compute it as the number of neutral lines in a diff divided by the neutral plus the removed lines.

I chose 6 different projects to check for now, we may update this list in the future.
To reproduce these numbers or to check your own changes, you can run scripts/formatter_progress.sh:

django (web framework): 2752 files, similarity index 0.99805:

transformers (ML framework): 2527 files, similarity index 0.99620

twine (small util library): 32 files, similarity index 0.99876

typeshed (stub files): 3627 files, similarity index 0.99953

warehouse (pypi backend): 641 files, similarity index 0.99601

zulip (a django user): 1424 files, similarity index 0.99727

Large ecosystem check

There is a number of formatter bugs showing up in the ecosystem checks, a list from 2023-08-21 is in https://gist.github.com/konstin/c7183dda99e65c7a1acbd970d2f44b42. Implicit string concatenation and fluent style seem to be the two common causes. Gist created by:

target/release/ruff_dev format-dev --stability-check --error-file target/errors-$(date --iso-8601).txt --multi-project target/checkouts > target/stability-check-release-$(date --iso-8601).txt

and manually removing e.g. slow formatting.

Metadata

Metadata

Assignees

No one assigned

    Labels

    formatterRelated to the formatter

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions