Commit Graph

  • b686383587 Accepting request 1318930 from devel:languages:python factory Ana Guerrero 2025-11-24 13:05:13 +00:00
  • b2ae651af2 - update to 25.11.0: * Enable base 3.14 support * Add support for the new Python 3.14 t-string syntax introduced by PEP 750 * Fix bug where comments between # fmt: off and # fmt: on were reformatted * Comments containing fmt directives now preserve their exact formatting instead of being normalized * Add no_cache option to control caching behavior. Dirk Mueller 2025-11-20 21:35:25 +00:00
  • 947481aa62 Accepting request 1306430 from devel:languages:python Ana Guerrero 2025-09-23 14:05:53 +00:00
  • f6cd2027bf - update to 25.9.0: * Remove support for pre-python 3.7 await/async as soft keywords/variable names * Fix crash while formatting a long del statement containing tuples * Fix crash while formatting expressions using the walrus operator in complex with statements * Handle # fmt: skip followed by a comment at the end of file * Fix crash when a tuple appears in the as clause of a with statement * Fix crash when tuple is used as a context manager inside a with statement * Fix crash when formatting a \ followed by a followed by a comment * Fix crash on a \r * Fix crash on await ... (where ... is a literal Ellipsis) * Fix crash on parenthesized expression inside a type parameter bound * Fix crash when using line ranges excluding indented single line decorated items * (#4670) * Fix a bug where one-liner functions/conditionals marked with # fmt: skip would still be formatted * Improve multiline_string_handling with ternaries and dictionaries * Fix a bug where string_processing would not split f-strings directly after expressions * Wrap the in` clause of comprehensions across lines if Dirk Mueller 2025-09-22 07:35:41 +00:00
  • f4d89a7c92 Accepting request 1286790 from devel:languages:python Ana Guerrero 2025-06-23 12:55:41 +00:00
  • fd3f5314f8 Accepting request 1286633 from devel:languages:python slfo-main slfo-1.2 Ana Guerrero 2025-06-18 20:28:43 +00:00
  • 0a29e7c4f2 - Instead of skipping the test, apply upstream fix as update-PEP-701.patch (code from gh#psf/black!4690). Matej Cepl 2025-06-18 20:27:43 +00:00
  • 00b5fcb8c1 Fix the bug reference. Matej Cepl 2025-06-18 10:54:53 +00:00
  • 67f07faedc - Skip test_simple_format tests, which is failing with 3.13.5 (gh#pypy/pypy#5297). - Use libalternatives instead of update-alternatives - Add upstream click-820.patch to make it work with latest python-click gh#psf/black#4577, gh#psf/black#4591, gh#psf/black#4666 - Update to 25.1.0: Highlights: * Normalize casing of Unicode escape characters in strings to lowercase (#2916) * Fix inconsistencies in whether certain strings are detected as docstrings (#4095) * Consistently add trailing commas to typed function parameters (#4164) * Remove redundant parentheses in if guards for case blocks (#4214) * Add parentheses to if clauses in case blocks when the line is too long (#4269) * Whitespace before # fmt: skip comments is no longer normalized (#4146) * Fix line length computation for certain expressions that involve the power operator (#4154) * Check if there is a newline before the terminating quotes of a docstring (#4185) * Fix type annotation spacing between * and more complex type variable tuple (#4440) * Remove parentheses around sole list items (#4312) * Generic function definitions are now formatted more elegantly: parameters are split over multiple lines first instead of type parameter definitions (#4553) Stable style: * Fix formatting cells in IPython notebooks with magic methods and starting or trailing empty lines (#4484) * Fix crash when formatting with statements containing tuple generators/unpacking (#4538) Preview style: * Fix/remove string merging changing f-string quotes on f-strings with internal quotes (#4498) * Collapse multiple empty lines after an import into one (#4489) * Prevent string_processing and wrap_long_dict_values_in_parens from removing parentheses around long dictionary values (#4377) * Move wrap_long_dict_values_in_parens from the unstable to preview style (#4561) Packaging: * Store license identifier inside the License-Expression metadata field, see PEP 639. (#4479) Performance: * Speed up the is_fstring_start function in Black's tokenizer (#4541) Integrations: * If using stdin with --stdin-filename set to a force excluded path, stdin won't be formatted. (#4539) - update requirements from pyproject.toml - Update to 24.8.0 Stable style * Fix crash when # fmt: off is used before a closing parenthesis or bracket. (#4363) Parser * Fix regression where Black failed to parse a multiline f-string containing another multiline string (#4339) * Fix regression where Black failed to parse an escaped single quote inside an f-string (#4401) * Fix bug with Black incorrectly parsing empty lines with a backslash (#4343) * Fix bugs with Black's tokenizer not handling \{ inside f-strings very well (#4422) * Fix incorrect line numbers in the tokenizer for certain tokens within f-strings (#4423) Performance * Improve performance when a large directory is listed in .gitignore (#4415) Blackd * Fix blackd (and all extras installs) for docker container (#4357) - update to 24.4.2 * Fix regression where certain complex f-strings failed to parse * Fix bad performance on certain complex string literals - update to 24.4.1 * Add support for the new Python 3.12 f-string syntax introduced by PEP 701 * Fix crash involving indented dummy functions containing newlines * Add support for type parameter defaults, a new syntactic feature added to Python 3.13 by PEP 696 - update to 24.4.0 * Fix unwanted crashes caused by AST equivalency check * if guards in case blocks are now wrapped in parentheses when the line is too long. * Stop moving multiline strings to a new line unless inside brackets - update to 24.3.0 (bsc#1221530, CVE-2024-21503): * Don't move comments along with delimiters, which could cause crashes * Strengthen AST safety check to catch more unsafe changes to strings. Previous versions of Black would incorrectly format the contents of certain unusual f-strings containing nested strings with the same quote type. Now, Black will crash on such strings until support for the new f-string syntax is implemented. * Fix a bug where line-ranges exceeding the last code line would not work as expected * Fix catastrophic performance on docstrings that contain large numbers of leading tab characters. This fixes CVE-2024-21503. * Note what happens when --check is used with --quiet - Update to 24.2.0 * Consistently add trailing comma on typed parameters (#4164) * Fixed a bug where comments where mistakenly removed along with redundant parentheses (#4218) * Move the hug_parens_with_braces_and_square_brackets feature to the unstable style due to an outstanding crash and proposed formatting tweaks (#4198) * Black now ignores pyproject.toml that is missing a [tool.black] section when discovering project root and configuration. * More changes, see upstream CHANGES.md - update to 24.1.0: * Add parentheses around if-else expressions * Dummy class and function implementations consisting only of ... are formatted more compactly * If an assignment statement is too long, we now prefer splitting on the right-hand side * Hex codes in Unicode escape sequences are now standardized to lowercase * Allow empty first lines at the beginning of most blocks * Add parentheses around long type annotations * Enforce newline after module docstrings * Fix incorrect magic trailing comma handling in return types * Remove blank lines before class docstrings * Wrap multiple context managers in parentheses if combined in a single with statement * Fix bug in line length calculations for power operations * Add trailing commas to collection literals even if there's a comment after the last entry * When using --skip-magic-trailing-comma or -C, trailing commas are stripped from subscript expressions with more than 1 element * Add extra blank lines in stubs in a few cases * Accept raw strings as docstrings * Split long lines in case blocks * Stop removing spaces from walrus operators within subscripts * Fix incorrect formatting of certain async statements * Allow combining # fmt: skip with other comments * There are already a few improvements in the --preview style, which are slated for the 2025 stable style. Try them out and share your feedback. In the past, the preview style has included some features that we were not able to stabilize. This year, we're adding a separate --unstable style for features with known problems. Now, the --preview style only includes features that we actually expect to make it into next year's stable style. * Fix comment handling when parenthesising conditional expressions * Fix bug where spaces were not added around parenthesized walruses in subscripts, unlike other binary operators * Remove empty lines before docstrings in async functions * Address a missing case in the change to allow empty lines at the beginning of all blocks, except immediately before a docstring * For stubs, fix logic to enforce empty line after nested classes with bodies * Add --unstable style, covering preview features that have known problems that would block them from going into the stable style. Also add the --enable-unstable-feature flag; for example, use --enable-unstable-feature hug_parens_with_braces_and_square_brackets to apply this preview feature throughout 2024, even if a later Black release downgrades the feature to unstable * Format module docstrings the same as class and function docstrings * Fix crash when using a walrus in a dictionary * Fix unnecessary parentheses when wrapping long dicts * Stop normalizing spaces before # fmt: skip comments * Print warning when configuration in pyproject.toml contains an invalid key * Fix symlink handling, properly ignoring symlinks that point outside of root * Fix cache mtime logic that resulted in false positive cache hits * Remove the long-deprecated --experimental-string-processing flag. This feature can currently be enabled with --preview --enable-unstable- feature string_processing. * Revert the change to run Black's pre-commit integration only on specific git hooks (#3940) for better compatibility with older versions of pre-commit - update to 23.12.1: * Fixed a bug that included dependencies from the d extra by default * This release (23.12.0) will still produce the 2023 style. Most but not all of the changes in --preview mode will be in the 2024 stable style. * Fix bug where # fmt: off automatically dedents when used with the --line-ranges option, even when it is not within the specified line range. * Fix feature detection for parenthesized context managers * Prefer more equal signs before a break when splitting chained assignments * Standalone form feed characters at the module level are no longer removed * Additional cases of immediately nested tuples, lists, and dictionaries are now indented less * Allow empty lines at the beginning of all blocks, except immediately before a docstring * Fix crash in preview mode when using a short --line-length * Keep suites consisting of only an ellipsis on their own lines if they are not functions or class definitions * --line-ranges now skips _Black_'s internal stability check in --safe mode. This avoids a crash on rare inputs that have many unformatted same-content lines. - update to 23.11.0: * Support formatting ranges of lines with the new --line- ranges command-line option * Fix crash on formatting bytes strings that look like docstrings (#4003) * Fix crash when whitespace followed a backslash before newline in a docstring (#4008) * Fix standalone comments inside complex blocks crashing Black * Fix crash on formatting code like await (a ** b) (#3994) * No longer treat leading f-strings as docstrings. This matches Python's behaviour and fixes a crash (#4019) * Consistently apply force exclusion logic before resolving symlinks (#4015) * Fix a bug in the matching of absolute path names in --include (#3976) - update to 23.10.1: * Maintanence release to get a fix out for GitHub Action edge case (#3957) * Fix merging implicit multiline strings that have inline comments (#3956) * Allow empty first line after block open before a comment or compound statement (#3967) * Fix comments getting removed from inside parenthesized strings (#3909) * Fix long lines with power operators getting split before the line length (#3942) * Long type hints are now wrapped in parentheses and properly indented when split across multiple lines (#3899) * Magic trailing commas are now respected in return types. * Require one empty line after module-level docstrings. (#3932) * Treat raw triple-quoted strings as docstrings (#3947) * Fix bug where attributes named type were not accepted inside match statements * Add support for PEP 695 type aliases containing lambdas and other unusual expressions * Black no longer attempts to provide special errors for attempting to format Python 2 code (#3933) * Black will more consistently print stacktraces on internal errors in verbose mode - remove buildrequires that are not used on sle15 - update to 23.9.1: * Upgrade to mypy 1.5.1 (#3864) * Store raw tuples instead of NamedTuples in Black's cache, improving performance and decreasing the size of the cache * More concise formatting for dummy implementations (#3796) * In stub files, add a blank line between a statement with a body (e.g an if sys.version_info > (3, x):) and a function definition on the same level (#3862) * Fix a bug whereby spaces were removed from walrus operators within subscript(#3823) * Black now applies exclusion and ignore logic before resolving symlinks (#3846) * Avoid importing IPython if notebook cells do not contain magics (#3782) * Improve caching by comparing file hashes as fallback for mtime and size (#3821) * Fix an issue in blackd with single character input (#3558) - update to 23.7.0: * Runtime support for Python 3.7 has been removed. Formatting 3.7 code will still be supported until further notice (#3765) * Fix a bug where an illegal trailing comma was added to return type annotations using PEP 604 unions (#3735) * Fix several bugs and crashes where comments in stub files were removed or mishandled under some circumstances (#3745) * Fix a crash with multi-line magic comments like type: ignore within parentheses * Fix error in AST validation when _Black_ removes trailing whitespace in a type comment * Remove patching of Click that mitigated errors on Python 3.6 with LANG=C (#3768) * Add support for the new PEP 695 syntax in Python 3.12 (#3703) * Speed up _Black_ significantly when the cache is full (#3751) * Avoid importing IPython in a case where we wouldn't need it (#3748) * Use aware UTC datetimes internally, avoids deprecation warning on Python 3.12 (#3728) * Change verbose logging to exactly mirror _Black_'s logic for source discovery (#3749) - limit to newer python versions, older are no longer needed - add sle15_python_module_pythons (jsc#PED-68) - Make calling of %{sle15modernpython} optional. - update to 23.3.0: * Import lines with # fmt: skip and # fmt: off no longer have an extra blank line added when they are right after another import line (#3610) * Added support for formatting files with invalid type comments * Document that only the most recent release is supported for security issues; * Introduce the 2023 stable style, which incorporates most aspects of last year's preview style (#3418). * Enforce empty lines before classes and functions with sticky leading comments * Reformat empty and whitespace-only files as either an empty file (if no newline is present) or as a single newline character (if a newline is present) (#3348) * Correctly handle trailing commas that are inside a line's leading non-nested parens * --skip-string-normalization / -S now prevents docstring prefixes from being * Details see https://github.com/psf/black/releases/tag/23.3.0 - update to version 22.8.0: * Highlights + Python 3.11 is now supported, except for blackd as aiohttp does not support 3.11 as of publishing (#3234) + This is the last release that supports running Black on Python 3.6 (formatting 3.6 code will continue to be supported until further notice) + Reword the stability policy to say that we may, in rare cases, make changes that affect code that was not previously formatted by Black (#3155) * Stable style + Fix an infinite loop when using # fmt: on/off in the middle of an expression or code block (#3158) + Fix incorrect handling of # fmt: skip on colon (:) lines (#3148) + Comments are no longer deleted when a line had spaces removed around power operators (#2874) * Preview style + Single-character closing docstring quotes are no longer moved to their own line as this is invalid. This was a bug introduced in version 22.6.0. (#3166) + --skip-string-normalization / -S now prevents docstring prefixes from being normalized as expected (#3168) + When using --skip-magic-trailing-comma or -C, trailing commas are stripped from subscript expressions with more than 1 element (#3209) + Implicitly concatenated strings inside a list, set, or tuple are now wrapped inside parentheses (#3162) + Fix a string merging/split issue when a comment is present in the middle of implicitly concatenated strings on its own line (#3227) * Blackd + blackd now supports enabling the preview style via the X-Preview header (#3217) * Configuration + Black now uses the presence of debug f-strings to detect target version (#3215) + Fix misdetection of project root and verbose logging of sources in cases involving --stdin-filename (#3216) + Immediate .gitignore files in source directories given on the command line are now also respected, previously only .gitignore files in the project root and automatically discovered directories were respected (#3237) * Documentation + Recommend using BlackConnect in IntelliJ IDEs (#3150) * Integrations + Vim plugin: prefix messages with Black: so it's clear they come from Black (#3194) + Docker: changed to a /opt/venv installation + added to PATH to be available to non-root users (#3202) + Vim plugin: add flag (g:black_preview) to enable/disable the preview style (#3246) * Output + Change from deprecated asyncio.get_event_loop() to create our event loop which removes DeprecationWarning (#3164) + Remove logging from internal blib2to3 library since it regularly emits error logs about failed caching that can and should be ignored (#3193) * Parser + Type comments are now included in the AST equivalence check consistently so accidental deletion raises an error. Though type comments can't be tracked when running on PyPy 3.7 due to standard library limitations. (#2874) * Performance + Reduce Black's startup time when formatting a single file by 15-30% (#3211) - update to version 22.6.0: * Style + Fix unstable formatting involving #fmt: skip and # fmt:skip comments (notice the lack of spaces) (#2970) * Preview style + Docstring quotes are no longer moved if it would violate the line length limit (#3044) + Parentheses around return annotations are now managed (#2990) + Remove unnecessary parentheses around awaited objects (#2991) + Remove unnecessary parentheses in with statements (#2926) + Remove trailing newlines after code block open (#3035) * Integrations + Add scripts/migrate-black.py script to ease introduction of Black to a Git project (#3038) * Output + Output Python version and implementation as part of --version flag (#2997) * Packaging + Use tomli instead of tomllib on Python 3.11 builds where tomllib is not available (#2987) * Parser + PEP 654 syntax (for example, except *ExceptionGroup:) is now supported (#3016) + PEP 646 syntax (for example, Array[Batch, *Shape] or def fn(*args: *T) -> None) is now supported (#3071) * Vim Plugin + Fix strtobool function. It didn't parse true/on/false/off. (#3025) - specfile: * removed black-primer - update to version 22.3.0: * Preview style + Code cell separators #%% are now standardised to # %% (#2919) + Remove unnecessary parentheses from except statements (#2939) + Remove unnecessary parentheses from tuple unpacking in for loops (#2945) + Avoid magic-trailing-comma in single-element subscripts (#2942) * Configuration + Do not format __pypackages__ directories by default (#2836) + Add support for specifying stable version with --required-version (#2832). + Avoid crashing when the user has no homedir (#2814) + Avoid crashing when md5 is not available (#2905) + Fix handling of directory junctions on Windows (#2904) * Documentation + Update pylint config documentation (#2931) * Integrations + Move test to disable plugin in Vim/Neovim, which speeds up loading (#2896) * Output + In verbose, mode, log when Black is using user-level config (#2861) * Packaging + Fix Black to work with Click 8.1.0 (#2966) + On Python 3.11 and newer, use the standard library's tomllib instead of tomli (#2903) + black-primer, the deprecated internal devtool, has been removed and copied to a separate repository (#2924) * Parser + Black can now parse starred expressions in the target of for and async for statements, e.g for item in *items_1, *items_2: pass (#2879). - Update to 22.1.0 * Remove Python 2 support (#2740) * Introduce the --preview flag (#2752) * Deprecate --experimental-string-processing and move the functionality under --preview (#2789) * For stubs, one blank line between class attributes and methods is now kept if there's at least one pre-existing blank line (#2736) * Black now normalizes string prefix order (#2297) * Remove spaces around power operators if both operands are simple (#2726) * Work around bug that causes unstable formatting in some cases in the presence of the magic trailing comma (#2807) * Use parentheses for attribute access on decimal float and int literals (#2799) * Don't add whitespace for attribute access on hexadecimal, binary, octal, and complex literals (#2799) * Treat blank lines in stubs the same inside top-level if statements (#2820) * Fix unstable formatting with semicolons and arithmetic expressions (#2817) * Fix unstable formatting around magic trailing comma (#2572) * Fix mapping cases that contain as-expressions, like case {"key": 1 | 2 as password} (#2686) * Fix cases that contain multiple top-level as-expressions, like case 1 as a, 2 as b (#2716) * Fix call patterns that contain as-expressions with keyword arguments, like case Foo(bar=baz as quux) (#2749) * Tuple unpacking on return and yield constructs now implies 3.8+ (#2700) * Unparenthesized tuples on annotated assignments (e.g values: Tuple[int, ...] = 1, 2, 3) now implies 3.8+ (#2708) * Fix handling of standalone match() or case() when there is a trailing newline or a comment inside of the parentheses. (#2760) * from __future__ import annotations statement now implies Python 3.7+ (#2690) * Speed-up the new backtracking parser about 4X in general (enabled when --target-version is set to 3.10 and higher). (#2728) * Black is now compiled with mypyc for an overall 2x speed-up. 64-bit Windows, MacOS, and Linux (not including musl) are supported. (#1009, #2431) * Do not accept bare carriage return line endings in pyproject.toml (#2408) * Add configuration option (python-cell-magics) to format cells with custom magics in Jupyter Notebooks (#2744) * Allow setting custom cache directory on all platforms with environment variable BLACK_CACHE_DIR (#2739). * Enable Python 3.10+ by default, without any extra need to specify --target-version=py310. (#2758) * Make passing SRC or --code mandatory and mutually exclusive (#2804) * Improve error message for invalid regular expression (#2678) * Improve error message when parsing fails during AST safety check by embedding the underlying SyntaxError (#2693) * No longer color diff headers white as it's unreadable in light themed terminals (#2691) * Text coloring added in the final statistics (#2712) * Verbose mode also now describes how a project root was discovered and which paths will be formatted. (#2526) * All upper version bounds on dependencies have been removed (#2718) * typing-extensions is no longer a required dependency in Python 3.10+ (#2772) * Set click lower bound to 8.0.0 as Black crashes on 7.1.2 (#2791) * Deprecate the black-primer tool (#2809) * Document Python support policy (#2819) - Drop black-pr2718-unpin.patch - Unpin tomli and pathspec * black-pr2718-unpin.patch -- gh#psf/black#2718 * gh#psf/black#2703 - Remove obsolete python36 flavor expression - Update requirements for Python 3.6 distros - Update to 21.12.0b1: * Fix determination of f-string expression spans (#2654) * Fix bad formatting of error messages about EOF in multi-line statements (#2343) * Functions and classes in blocks now have more consistent surrounding spacing (#2472) * from __future__ import annotations statement now implies Python 3.7+ (#2690) * Fix assignment to environment variables in Jupyter Notebooks (#2642) * Point users to using --target-version py310 if we detect 3.10-only syntax (#2668) * Fix match statements with open sequence subjects, like match a, b: or match a, *b: (#2639) (#2659) * Fix match/case statements that contain match/case soft keywords multiple times, like match re.match() (#2661) * Fix case statements with an inline body (#2665) * Fix styling of starred expressions inside match subject (#2667) * Fix parser error location on invalid syntax in a match statement (#2649) * Fix Python 3.10 support on platforms without ProcessPoolExecutor (#2631) * Improve parsing performance on code that uses match under --target-version py310 up to ~50% (#2670) * Remove dependency on regex (#2644) (#2663) * Warn about Python 2 deprecation in more cases by improving Python 2 only syntax detection (#2592) * Add experimental PyPy support (#2559) * Add partial support for the match statement. As it's experimental, it's only enabled when --target-version py310 is explicitly specified (#2586) * Add support for parenthesized with (#2586) * Declare support for Python 3.10 for running Black (#2562) * Add new --workers parameter (#2514) * Fixed feature detection for positional-only arguments in lambdas (#2532) * Fixed a Python 3.10 compatibility issue where the loop argument was still being passed even though it has been removed (#2580) * Deprecate Python 2 formatting support (#2523) * Fix missing modules in self-contained binaries (#2466) * Fix missing toml extra used during installation (#2475) * Add support for formatting Jupyter Notebook files (#2357) * Move from appdirs dependency to platformdirs (#2375) * Present a more user-friendly error if .gitignore is invalid (#2414) * Pin setuptools-scm build-time dependency version (#2457) * Configuration files using TOML features higher than spec v0.5.0 are now supported (#2301) * Accept empty stdin (#2346) * Provide a more useful error when parsing fails during AST safety checks (#2304) * Fix failure caused by fmt: skip and indentation (#2281) * Account for += assignment when deciding whether to split string (#2312) * Correct max string length calculation when there are string operators (#2292) * Fixed option usage when using the --code flag (#2259) * Do not call uvloop.install() when Black is used as a library (#2303) * Added --required-version option to require a specific version to be running (#2300) * Fix incorrect custom breakpoint indices when string group contains fake f-strings (#2311) * Fix regression where R prefixes would be lowercased for docstrings (#2285) * Fix handling of named escapes (\N{...}) when --experimental-string-processing is used (#2319) * Restored compatibility with Click 8.0 on Python 3.6 when LANG=C used (#2227) * Add extra uvloop install + import support if in python env (#2258) * Fix --experimental-string-processing crash when matching parens are not found (#2283) * Make sure to split lines that start with a string operator (#2286) * Fix regular expression that black uses to identify f-expressions (#2287) * Blackd * Add a lower bound for the aiohttp-cors dependency. Only 0.4.0 or higher is supported. (#2231) * Refactor src/black/__init__.py into many files (#2206) * Set --pyi mode if --stdin-filename ends in .pyi (#2169) * Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are being called but with no arguments (#2182) * Fix crash if the user configuration directory is inaccessible. (#2158) * Clarify circumstances in which Black may change the AST (#2159) * Fix crash on docstrings ending with "\ ". (#2142) * Fix crash when atypical whitespace is cleaned out of dostrings (#2120) * Reflect the --skip-magic-trailing-comma and --experimental-string-processing flags in the name of the cache file. Without this fix, changes in these flags would not take effect if the cache had already been populated. (#2131) * Fixed a rare but annoying formatting instability created by the combination of optional trailing commas inserted by Black and optional parentheses looking at pre-existing "magic" trailing commas. This fixes issue #1629 and all of its many many duplicates. (#2126) * Black now cleans up leading non-breaking spaces in comments (#2092) * Black no longer removes all empty lines between non-function code and decorators when formatting typing stubs. Now Black enforces a single empty line. (#1646) * Black no longer adds an incorrect space after a parenthesized assignment expression in if/while statements (#1655) * Added --skip-magic-trailing-comma / -C to avoid using trailing commas as a reason to split lines (#1824) * fixed a crash when PWD=/ on POSIX (#1631) * fixed "I/O operation on closed file" when using --diff (#1664) * Prevent coloured diff output being interleaved with multiple files (#1673) * Added support for PEP 614 relaxed decorator syntax on python 3.9 (#1711) * Added parsing support for unparenthesized tuples and yield expressions in annotated assignments (#1835) * --diff correctly indicates when a file doesn't end in a newline (#1662) * Added --stdin-filename argument to allow stdin to respect --force-exclude rules (#1780) * Lines ending with fmt: skip will now be not formatted (#1800) * PR #2053: Black no longer relies on typed-ast for Python 3.8 and higher - Skip python 2 tests unconditionally. - Fix Python 3.6 for Leap 15.2 and for the upcoming python36 flavor in Tumbleweed: Requires python-dataclasses gh#openSUSE/python-rpm-macros#66 - Include change log and docs in package - Update to v20.8b1 * Explicitly depend on Click 7.1.2 or newer as Black no longer works with versions older than 7.0 - from v20.8b0 * Re-implemented support for explicit trailing commas: now it works consistently within any bracket pair, including nested structures * Reindents docstrings when reindenting code around it * Show colored diffs * Supports Python 3.8 code, e.g. star expressions in return statements * No longer normalizes capital R-string prefixes as those have a community-accepted meaning * Uses exit code 2 when specified configuration file doesn't exit * Works on AWS Lambda * Added --force-exclude argument * Removed deprecated --py36 option * Fixed --diff output when EOF is encountered * Fixed # fmt: off handling around decorators * Fixed unstable formatting with some # type: ignore comments * Fixed invalid removal on organizing brackets followed by indexing * Introduced black-primer, a CI tool that allows us to run regression tests against existing open source users of Black * Introduced property-based fuzzing to our test suite based on Hypothesis and Hypothersmith * Implemented experimental and disabled by default long string rewrapping hidden under a --experimental-string-processing flag while it's being worked on; this is an undocumented and unsupported feature * Vim plugin prefer virtualenv packages over global packages - update URL - python-aiohttp_cors is now available --> install blackd - skip python2 test on big endian platforms gh#psf/black#1109 - drop fix-tests.patch - %python3_only -> %python_alternative - Add missing Requires - update to 19.10b0 - add fix-tests.patch to avoid problem during test collection - dont distribute 'blackd' as missing deps * no obvious changelog - Skip randomly failing test (only in OBS) - Update to 19.3b0: * No obvious changelog - update to 18.9b0 * numeric literals are now formatted by Black * numeric literals are normalized to include _ separators on Python 3.6+ code * added --skip-numeric-underscore-normalization to disable the above behavior and leave numeric underscores as they were in the input * code with _ in numeric literals is recognized as Python 3.6+ * most letters in numeric literals are lowercased (e.g., in 1e10, 0x01) * hexadecimal digits are always uppercased (e.g. 0xBADC0DE) * added blackd, see its documentation for more info * adjacent string literals are now correctly split into multiple lines * trailing comma is now added to single imports that don't fit on a line * cache is now populated when --check is successful for a file which speeds up consecutive checks of properly formatted unmodified files * whitespace at the beginning of the file is now removed * fixed mangling pweave and Spyder IDE special comments * fixed unstable formatting when unpacking big tuples * fixed parsing of __future__ imports with renames * fixed scope of # fmt: off when directly preceding yield and other nodes * fixed formatting of lambda expressions with default arguments * fixed async for statements: Black no longer breaks them into separate lines * note: the Vim plugin stopped registering ,= as a default chord as it turned out to be a bad idea - Raise minimal py required to be 3.6 - Replace all the marketing in the description with something substantial. - disable testsuite for py older than 3.7 - Code formatter used by pytest/etc Matej Cepl 2025-06-18 07:31:08 +00:00
  • 12dbb9a243 Accepting request 1276821 from devel:languages:python Ana Guerrero 2025-05-13 18:12:36 +00:00
  • 4de8aee8eb - Use libalternatives instead of update-alternatives - Add upstream click-820.patch to make it work with latest python-click gh#psf/black#4577, gh#psf/black#4591, gh#psf/black#4666 Daniel Garcia 2025-05-12 11:56:46 +00:00
  • 2538c47b8f Accepting request 1250385 from devel:languages:python Ana Guerrero 2025-03-06 13:48:25 +00:00
  • 26ca7ee935 - Update to 25.1.0: Highlights: * Normalize casing of Unicode escape characters in strings to lowercase (#2916) * Fix inconsistencies in whether certain strings are detected as docstrings (#4095) * Consistently add trailing commas to typed function parameters (#4164) * Remove redundant parentheses in if guards for case blocks (#4214) * Add parentheses to if clauses in case blocks when the line is too long (#4269) * Whitespace before # fmt: skip comments is no longer normalized (#4146) * Fix line length computation for certain expressions that involve the power operator (#4154) * Check if there is a newline before the terminating quotes of a docstring (#4185) * Fix type annotation spacing between * and more complex type variable tuple (#4440) * Remove parentheses around sole list items (#4312) * Generic function definitions are now formatted more elegantly: parameters are split over multiple lines first instead of type parameter definitions (#4553) Stable style: * Fix formatting cells in IPython notebooks with magic methods and starting or trailing empty lines (#4484) * Fix crash when formatting with statements containing tuple generators/unpacking (#4538) Preview style: * Fix/remove string merging changing f-string quotes on f-strings with internal quotes (#4498) * Collapse multiple empty lines after an import into one (#4489) * Prevent string_processing and wrap_long_dict_values_in_parens from removing parentheses around long dictionary values (#4377) * Move wrap_long_dict_values_in_parens from the unstable to preview style (#4561) Packaging: * Store license identifier inside the License-Expression metadata field, see PEP 639. (#4479) Performance: * Speed up the is_fstring_start function in Black's tokenizer (#4541) Integrations: * If using stdin with --stdin-filename set to a force excluded path, stdin won't be formatted. (#4539) - update requirements from pyproject.toml Markéta Machová 2025-03-05 10:55:18 +00:00
  • cf2dc2d33c Accepting request 1217236 from devel:languages:python Ana Guerrero 2024-11-15 14:37:48 +00:00
  • 93edfe795b package required by SUSE AI product Dirk Mueller 2024-10-23 08:15:32 +00:00
  • b86d1b2a52 Accepting request 1188913 from devel:languages:python Dominique Leuenberger 2024-07-24 13:32:44 +00:00
  • 8494645af4 Accepting request 1188905 from home:amanzini:branches:devel:languages:python Matej Cepl 2024-07-21 20:49:34 +00:00
  • 2ba08e7bbe Accepting request 1161451 from devel:languages:python Ana Guerrero 2024-03-26 18:25:10 +00:00
  • 2387a3c3a0 Accepting request 1158808 from devel:languages:python Ana Guerrero 2024-03-18 15:43:44 +00:00
  • 6360062229 baserev update by copy to link target OBS User buildservice-autocommit 2024-03-18 15:43:44 +00:00
  • 733a93a52c Updating link to change in openSUSE:Factory/python-black revision 27 OBS User buildservice-autocommit 2024-03-18 15:43:44 +00:00
  • 97f18f3250 - update to 24.3.0 (bsc#1221530, CVE-2024-21503): Dirk Mueller 2024-03-18 14:19:26 +00:00
  • b5b30e9dab - update to 24.3.0: * Don't move comments along with delimiters, which could cause crashes * Strengthen AST safety check to catch more unsafe changes to strings. Previous versions of Black would incorrectly format the contents of certain unusual f-strings containing nested strings with the same quote type. Now, Black will crash on such strings until support for the new f-string syntax is implemented. * Fix a bug where line-ranges exceeding the last code line would not work as expected * Fix catastrophic performance on docstrings that contain large numbers of leading tab characters. This fixes CVE-2024-21503. * Note what happens when --check is used with --quiet * Fixed a bug where comments where mistakenly removed along with * Move the hug_parens_with_braces_and_square_brackets feature to the unstable style due to an outstanding crash and proposed Dirk Mueller 2024-03-17 19:13:14 +00:00
  • d75feb03d0 Accepting request 1153125 from devel:languages:python Dominique Leuenberger 2024-03-01 22:34:15 +00:00
  • 85148b7cb2 Accepting request 1152440 from home:mcalabkova:branches:devel:languages:python Matej Cepl 2024-02-29 09:00:33 +00:00
  • 016c9fa538 Accepting request 1142193 from devel:languages:python Ana Guerrero 2024-01-29 21:26:55 +00:00
  • 5e66f0666a - update to 24.1.0: * Add parentheses around if-else expressions * Dummy class and function implementations consisting only of ... are formatted more compactly * If an assignment statement is too long, we now prefer splitting on the right-hand side * Hex codes in Unicode escape sequences are now standardized to lowercase * Allow empty first lines at the beginning of most blocks * Add parentheses around long type annotations * Enforce newline after module docstrings * Fix incorrect magic trailing comma handling in return types * Remove blank lines before class docstrings * Wrap multiple context managers in parentheses if combined in a single with statement * Fix bug in line length calculations for power operations * Add trailing commas to collection literals even if there's a comment after the last entry * When using --skip-magic-trailing-comma or -C, trailing commas are stripped from subscript expressions with more than 1 element * Add extra blank lines in stubs in a few cases * Accept raw strings as docstrings * Split long lines in case blocks * Stop removing spaces from walrus operators within subscripts * Fix incorrect formatting of certain async statements * Allow combining # fmt: skip with other comments * There are already a few improvements in the --preview style, which are slated for the 2025 stable style. Try them out and share your feedback. In the past, the preview Dirk Mueller 2024-01-29 08:53:10 +00:00
  • a0fae840ec Accepting request 1136067 from devel:languages:python Dominique Leuenberger 2024-01-05 21:58:42 +00:00
  • 01dcc94d86 - update to 23.12.1: * Fixed a bug that included dependencies from the d extra by default * This release (23.12.0) will still produce the 2023 style. Most but not all of the changes in --preview mode will be in the 2024 stable style. * Fix bug where # fmt: off automatically dedents when used with the --line-ranges option, even when it is not within the specified line range. * Fix feature detection for parenthesized context managers * Prefer more equal signs before a break when splitting chained assignments * Standalone form feed characters at the module level are no longer removed * Additional cases of immediately nested tuples, lists, and dictionaries are now indented less * Allow empty lines at the beginning of all blocks, except immediately before a docstring * Fix crash in preview mode when using a short --line-length * Keep suites consisting of only an ellipsis on their own lines if they are not functions or class definitions * --line-ranges now skips _Black_'s internal stability check in --safe mode. This avoids a crash on rare inputs that have many unformatted same-content lines. Dirk Mueller 2024-01-02 08:21:00 +00:00
  • fe8c36aa40 Accepting request 1127150 from devel:languages:python Ana Guerrero 2023-11-16 19:31:54 +00:00
  • de20fda3d9 - update to 23.11.0: * Support formatting ranges of lines with the new --line- ranges command-line option * Fix crash on formatting bytes strings that look like docstrings (#4003) * Fix crash when whitespace followed a backslash before newline in a docstring (#4008) * Fix standalone comments inside complex blocks crashing Black * Fix crash on formatting code like await (a ** b) (#3994) * No longer treat leading f-strings as docstrings. This matches Python's behaviour and fixes a crash (#4019) * Consistently apply force exclusion logic before resolving symlinks (#4015) * Fix a bug in the matching of absolute path names in --include (#3976) Dirk Mueller 2023-11-16 17:32:01 +00:00
  • 9a2b506c24 Accepting request 1120053 from devel:languages:python Ana Guerrero 2023-10-25 16:02:41 +00:00
  • 1d5176a913 - update to 23.10.1: * Maintanence release to get a fix out for GitHub Action edge case (#3957) * Fix merging implicit multiline strings that have inline comments (#3956) * Allow empty first line after block open before a comment or compound statement (#3967) * Fix comments getting removed from inside parenthesized strings (#3909) * Fix long lines with power operators getting split before the line length (#3942) * Long type hints are now wrapped in parentheses and properly indented when split across multiple lines (#3899) * Magic trailing commas are now respected in return types. * Require one empty line after module-level docstrings. (#3932) * Treat raw triple-quoted strings as docstrings (#3947) * Fix bug where attributes named type were not accepted inside match statements * Add support for PEP 695 type aliases containing lambdas and other unusual expressions * Black no longer attempts to provide special errors for attempting to format Python 2 code (#3933) * Black will more consistently print stacktraces on internal errors in verbose mode Dirk Mueller 2023-10-24 16:06:46 +00:00
  • b25f061ab1 Accepting request 1112329 from devel:languages:python Dominique Leuenberger 2023-09-20 11:30:23 +00:00
  • 8e872cac14 - remove buildrequires that are not used on sle15 Dirk Mueller 2023-09-19 15:04:26 +00:00
  • 97b8c8a894 one version shy Markéta Machová 2023-09-14 12:08:30 +00:00
  • 1d1cc2b9e2 - update to 23.9.1: * Upgrade to mypy 1.5.1 (#3864) * Store raw tuples instead of NamedTuples in Black's cache, improving performance and decreasing the size of the cache * More concise formatting for dummy implementations (#3796) * In stub files, add a blank line between a statement with a body (e.g an if sys.version_info > (3, x):) and a function definition on the same level (#3862) * Fix a bug whereby spaces were removed from walrus operators within subscript(#3823) * Black now applies exclusion and ignore logic before resolving symlinks (#3846) * Avoid importing IPython if notebook cells do not contain magics (#3782) * Improve caching by comparing file hashes as fallback for mtime and size (#3821) * Fix an issue in blackd with single character input (#3558) have an extra blank line added when they are right after - update to version 22.8.0: + Immediate .gitignore files in source directories given on the command line are now also respected, previously only .gitignore files - python-aiohttp_cors is now available --> install blackd - Add missing Requires as it turned out to be a bad idea Dirk Mueller 2023-09-12 07:15:03 +00:00
  • fff179655d Accepting request 1098965 from devel:languages:python Dominique Leuenberger 2023-07-18 19:54:26 +00:00
  • 6880841a29 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-black?expand=0&rev=44 Dirk Mueller 2023-07-16 14:03:13 +00:00
  • 61b1b384c8 - update to 23.7.0: * Runtime support for Python 3.7 has been removed. Formatting 3.7 code will still be supported until further notice (#3765) * Fix a bug where an illegal trailing comma was added to return type annotations using PEP 604 unions (#3735) * Fix several bugs and crashes where comments in stub files were removed or mishandled under some circumstances (#3745) * Fix a crash with multi-line magic comments like type: ignore within parentheses * Fix error in AST validation when _Black_ removes trailing whitespace in a type comment * Remove patching of Click that mitigated errors on Python 3.6 with LANG=C (#3768) * Add support for the new PEP 695 syntax in Python 3.12 (#3703) * Speed up _Black_ significantly when the cache is full (#3751) * Avoid importing IPython in a case where we wouldn't need it (#3748) * Use aware UTC datetimes internally, avoids deprecation warning on Python 3.12 (#3728) * Change verbose logging to exactly mirror _Black_'s logic for source discovery (#3749) Dirk Mueller 2023-07-16 14:01:28 +00:00
  • 493cf02d43 Accepting request 1094694 from devel:languages:python Dominique Leuenberger 2023-06-22 21:27:12 +00:00
  • 7a5cd4af8b - limit to newer python versions, older are no longer needed Dirk Mueller 2023-06-22 15:37:55 +00:00
  • 60153cf076 Accepting request 1081980 from devel:languages:python Dominique Leuenberger 2023-04-21 16:48:17 +00:00
  • 0615751b88 Accepting request 1081347 from home:dirkmueller:acdc:as_python3_module Dirk Mueller 2023-04-21 14:52:26 +00:00
  • 7c60c5526a Accepting request 1077524 from devel:languages:python Dominique Leuenberger 2023-04-05 19:28:41 +00:00
  • 1458b772c5 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-black?expand=0&rev=37 Dirk Mueller 2023-04-05 12:28:22 +00:00
  • a4d81f4c8b - update to 23.3.0: * Import lines with # fmt: skip and # fmt: off no longer have an extra blank line added when they are right after another import line (#3610) * Added support for formatting files with invalid type comments * Document that only the most recent release is supported for security issues; * Introduce the 2023 stable style, which incorporates most aspects of last year's preview style (#3418). * Enforce empty lines before classes and functions with sticky leading comments * Reformat empty and whitespace-only files as either an empty file (if no newline is present) or as a single newline character (if a newline is present) (#3348) * Correctly handle trailing commas that are inside a line's leading non-nested parens * --skip-string-normalization / -S now prevents docstring prefixes from being * Details see https://github.com/psf/black/releases/tag/23.3.0 Dirk Mueller 2023-04-03 19:05:30 +00:00
  • 615981e86d Accepting request 1002716 from devel:languages:python Dominique Leuenberger 2022-09-15 20:57:26 +00:00
  • c2c4fa0182 Accepting request 1002332 from home:yarunachalam:branches:devel:languages:python Dirk Mueller 2022-09-12 07:39:54 +00:00
  • 3eb7da5fc4 Accepting request 997499 from devel:languages:python Dominique Leuenberger 2022-08-18 14:48:48 +00:00
  • 3223cc8062 Accepting request 997457 from home:apersaud:branches:devel:languages:python Dirk Mueller 2022-08-17 08:26:46 +00:00
  • 83a9d60cc0 Accepting request 967998 from devel:languages:python Dominique Leuenberger 2022-04-11 22:13:47 +00:00
  • 3d93e505d8 Accepting request 967939 from home:apersaud:branches:devel:languages:python Dirk Mueller 2022-04-09 11:29:15 +00:00
  • a23d74e1fe Accepting request 965300 from devel:languages:python Dominique Leuenberger 2022-03-31 15:18:09 +00:00
  • 773c9b83d0 Accepting request 965253 from home:bnavigator:branches:devel:languages:python Dirk Mueller 2022-03-28 06:40:56 +00:00
  • 369e918a64 Accepting request 949594 from devel:languages:python Dominique Leuenberger 2022-02-03 22:16:06 +00:00
  • fd961282b7 Accepting request 949437 from home:bnavigator:branches:devel:languages:python Dirk Mueller 2022-01-28 08:18:03 +00:00
  • 33c721f467 Accepting request 945716 from devel:languages:python Dominique Leuenberger 2022-01-19 23:11:47 +00:00
  • 40c9ee755b - Skip python 2 tests unconditionally. Steve Kowalik 2022-01-12 03:44:13 +00:00
  • 4483c08ff4 - Update to 21.12.0b1: * Fix determination of f-string expression spans (#2654) * Fix bad formatting of error messages about EOF in multi-line statements (#2343) * Functions and classes in blocks now have more consistent surrounding spacing (#2472) * from __future__ import annotations statement now implies Python 3.7+ (#2690) * Fix assignment to environment variables in Jupyter Notebooks (#2642) * Point users to using --target-version py310 if we detect 3.10-only syntax (#2668) * Fix match statements with open sequence subjects, like match a, b: or match a, *b: (#2639) (#2659) * Fix match/case statements that contain match/case soft keywords multiple times, like match re.match() (#2661) * Fix case statements with an inline body (#2665) * Fix styling of starred expressions inside match subject (#2667) * Fix parser error location on invalid syntax in a match statement (#2649) * Fix Python 3.10 support on platforms without ProcessPoolExecutor (#2631) * Improve parsing performance on code that uses match under --target-version py310 up to ~50% (#2670) * Remove dependency on regex (#2644) (#2663) * Warn about Python 2 deprecation in more cases by improving Python 2 only syntax detection (#2592) * Add experimental PyPy support (#2559) * Add partial support for the match statement. As it's experimental, it's only enabled when --target-version py310 is explicitly specified (#2586) * Add support for parenthesized with (#2586) * Declare support for Python 3.10 for running Black (#2562) * Add new --workers parameter (#2514) * Fixed feature detection for positional-only arguments in lambdas (#2532) * Fixed a Python 3.10 compatibility issue where the loop argument was still being passed even though it has been removed (#2580) * Deprecate Python 2 formatting support (#2523) * Fix missing modules in self-contained binaries (#2466) * Fix missing toml extra used during installation (#2475) * Add support for formatting Jupyter Notebook files (#2357) * Move from appdirs dependency to platformdirs (#2375) * Present a more user-friendly error if .gitignore is invalid (#2414) * Pin setuptools-scm build-time dependency version (#2457) Steve Kowalik 2022-01-12 03:16:26 +00:00
  • 51174bd073 Accepting request 853412 from devel:languages:python Dominique Leuenberger 2020-12-12 19:28:40 +00:00
  • 81a7ce48de Accepting request 853335 from home:bnavigator:branches:devel:languages:python Matej Cepl 2020-12-06 17:34:55 +00:00
  • f616b4fb0f Accepting request 832119 from devel:languages:python Dominique Leuenberger 2020-09-08 20:45:52 +00:00
  • 0262806461 Accepting request 832116 from home:jayvdb:branches:devel:languages:python Tomáš Chvátal 2020-09-04 13:58:32 +00:00
  • 693df56fed Accepting request 829087 from devel:languages:python Dominique Leuenberger 2020-09-04 08:57:29 +00:00
  • 9b071474f9 Accepting request 829051 from home:bnavigator:branches:devel:languages:python Tomáš Chvátal 2020-08-25 06:48:20 +00:00
  • 97a6bee89d Accepting request 809803 from devel:languages:python Dominique Leuenberger 2020-06-09 22:42:09 +00:00
  • 42f8edd925 Accepting request 809567 from home:pgajdos:python Tomáš Chvátal 2020-05-28 07:31:55 +00:00
  • b4c47deaae Accepting request 748168 from devel:languages:python Dominique Leuenberger 2019-11-14 22:48:42 +00:00
  • 7b5ee76e28 - Add missing Requires Ondřej Súkup 2019-11-13 11:25:53 +00:00
  • 20ddfb0e52 Accepting request 747363 from devel:languages:python Dominique Leuenberger 2019-11-11 20:35:24 +00:00
  • 7a46720332 - dont distribute 'blackd' as missing deps Ondřej Súkup 2019-11-11 14:22:48 +00:00
  • 4f5c0d4f1f - update to 19.10b0 - add fix-tests.patch to avoid problem during test collection * no obvious changelog Ondřej Súkup 2019-11-11 14:16:48 +00:00
  • c761fafa42 Accepting request 707610 from devel:languages:python Dominique Leuenberger 2019-06-14 18:24:27 +00:00
  • f869789d74 - Skip randomly failing test (only in OBS) Tomáš Chvátal 2019-06-04 13:53:49 +00:00
  • 932c89ee38 Accepting request 687397 from devel:languages:python Dominique Leuenberger 2019-03-22 14:10:48 +00:00
  • 6c21de215b - Update to 19.3b0: * No obvious changelog Tomáš Chvátal 2019-03-21 15:47:01 +00:00
  • 0130a34ad1 Accepting request 639818 from devel:languages:python Dominique Leuenberger 2018-10-04 17:01:50 +00:00
  • 2c41e095e5 Accepting request 639753 from home:mimi_vx:branches:devel:languages:python Tomáš Chvátal 2018-10-03 20:21:52 +00:00
  • b27cd63cf5 Accepting request 632123 from devel:languages:python Dominique Leuenberger 2018-08-31 08:45:20 +00:00
  • 18fa11e394 - Raise minimal py required to be 3.6 Tomáš Chvátal 2018-08-29 10:31:45 +00:00
  • 382807f45f Accepting request 632042 from home:jengelh:branches:devel:languages:python Tomáš Chvátal 2018-08-29 04:57:09 +00:00
  • caefd006f8 Accepting request 631849 from home:mimi_vx:branches:devel:languages:python Ondřej Súkup 2018-08-27 20:01:43 +00:00
  • 1fdb637ed1 - Code formatter used by pytest/etc Tomáš Chvátal 2018-08-27 10:34:38 +00:00