pypi black 26.5.0

7 hours ago

Highlights

  • Add support for unpacking in comprehensions (PEP 798) and for lazy imports (PEP 810),
    both new syntactic features in Python 3.15 (#5048)
  • Python 3.15 is now supported. Compiled wheels are not yet provided for Python 3.15, so
    performance may be slower than on existing Python versions. Wheels will be provided
    once Python 3.15 is later in its release cycle. (#5127)

Stable style

  • Fix # fmt: skip being ignored in nested if expressions with parenthesized in
    clauses (#4903)
  • Add syntactic support for Python 3.15 (#5048)
  • Fix crash when an f-string follows a # fmt: off comment inside brackets (#5097)
  • Preserve multiline compound statement headers when # fmt: skip is placed on the
    colon line (#5117)

Preview style

  • Improve heuristics around whether blank lines should appear before, within and after
    groups of same-name decorated functions (such as @overload groups) in .pyi stub
    files (#5021)
  • Fix blank lines being removed between a function and a decorated class in .pyi stub
    files (#5092)
  • Prevent string merger from creating unsplittable long lines when a pragma comment
    (e.g. # type: ignore) follows the closing bracket (#5096)

Packaging

Output

  • Improve parse error readability by showing multi-line output with an error pointer.
    (#5068)
  • Add SourceASTParseError to distinguish source parse failures from internal safety
    errors, improving error reporting when Black's lenient parser accepts input that
    ast.parse() rejects (#5080)

Blackd

  • Return HTTP 400 (Bad Request) for source parse failures instead of HTTP 500, keeping
    HTTP 500 only for genuine internal safety errors (#5080)

Integrations

  • Added documentation for doctest formatting tools and updated the integrations index to
    match (#4916)

Documentation

  • Use "Version X.Y.Z" headings in changelog for stable permalink anchors on ReadTheDocs
    (#5063)
  • Note in the editor integrations that the SublimeText sublack plugin is archived and
    unmaintained (#5082)

Don't miss a new black release

NewReleases is sending notifications on new releases.