SHA256
1
0
forked from pool/python-black

9 Commits

Author SHA256 Message Date
fd3f5314f8 Accepting request 1286633 from devel:languages:python
- Skip test_simple_format tests, which is failing with 3.13.5
  (gh#psf/black#4698).

- Update to 24.8.0
  * Fix regression where certain complex f-strings failed to parse
  * Fix bad performance on certain complex string literals
  * 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
  * Fix unwanted crashes caused by AST equivalency check
  * Stop moving multiline strings to a new line unless inside brackets

OBS-URL: https://build.opensuse.org/request/show/1286633
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-black?expand=0&rev=33
2025-06-18 20:28:43 +00:00
00b5fcb8c1 Fix the bug reference.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-black?expand=0&rev=73
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

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-black?expand=0&rev=72
2025-06-18 07:31:08 +00:00
12dbb9a243 Accepting request 1276821 from devel:languages:python
- 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

OBS-URL: https://build.opensuse.org/request/show/1276821
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-black?expand=0&rev=32
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

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-black?expand=0&rev=70
2025-05-12 11:56:46 +00:00
2538c47b8f Accepting request 1250385 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1250385
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-black?expand=0&rev=31
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

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-black?expand=0&rev=68
2025-03-05 10:55:18 +00:00
cf2dc2d33c Accepting request 1217236 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1217236
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-black?expand=0&rev=30
2024-11-15 14:37:48 +00:00
93edfe795b package required by SUSE AI product
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-black?expand=0&rev=66
2024-10-23 08:15:32 +00:00
5 changed files with 325 additions and 27 deletions

Binary file not shown.

BIN
black-25.1.0.tar.gz LFS Normal file

Binary file not shown.

213
click-820.patch Normal file
View File

@@ -0,0 +1,213 @@
From df50f6c30c696d4f9121e6cd8e885a05dce39360 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mark=C3=A9ta=20Cal=C3=A1bkov=C3=A1?=
<meggy.calabkova@gmail.com>
Date: Fri, 7 Feb 2025 17:05:43 +0100
Subject: [PATCH 1/4] mix_stderr parameter was removed from click 8.2.0
---
tests/test_black.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/test_black.py b/tests/test_black.py
index 31bc34d4b89..8fa352e3d22 100644
--- a/tests/test_black.py
+++ b/tests/test_black.py
@@ -114,7 +114,7 @@ class BlackRunner(CliRunner):
"""Make sure STDOUT and STDERR are kept separate when testing Black via its CLI."""
def __init__(self) -> None:
- super().__init__(mix_stderr=False)
+ super().__init__()
def invokeBlack(
From a65eb895e13263dc700cfbf60db0376e15957c4e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mark=C3=A9ta=20Cal=C3=A1bkov=C3=A1?=
<meggy.calabkova@gmail.com>
Date: Mon, 10 Feb 2025 11:12:17 +0100
Subject: [PATCH 2/4] make the call conditional on click version
---
tests/test_black.py | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/tests/test_black.py b/tests/test_black.py
index 8fa352e3d22..cbb5006d070 100644
--- a/tests/test_black.py
+++ b/tests/test_black.py
@@ -14,6 +14,7 @@
from concurrent.futures import ThreadPoolExecutor
from contextlib import contextmanager, redirect_stderr
from dataclasses import fields, replace
+from importlib.metadata import version as imp_version
from io import BytesIO
from pathlib import Path, WindowsPath
from platform import system
@@ -26,6 +27,7 @@
from click import unstyle
from click.testing import CliRunner
from pathspec import PathSpec
+from packaging.version import Version
import black
import black.files
@@ -114,7 +116,10 @@ class BlackRunner(CliRunner):
"""Make sure STDOUT and STDERR are kept separate when testing Black via its CLI."""
def __init__(self) -> None:
- super().__init__()
+ if Version(imp_version('click')) >= Version('8.2.0'):
+ super().__init__()
+ else:
+ super().__init__(mix_stderr=False)
def invokeBlack(
From bdc188f550709e40b86f97777465e4068c61c261 Mon Sep 17 00:00:00 2001
From: "pre-commit-ci[bot]"
<66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Mon, 10 Feb 2025 11:02:28 +0000
Subject: [PATCH 3/4] [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---
tests/test_black.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/test_black.py b/tests/test_black.py
index cbb5006d070..9870cec4c26 100644
--- a/tests/test_black.py
+++ b/tests/test_black.py
@@ -26,8 +26,8 @@
import pytest
from click import unstyle
from click.testing import CliRunner
-from pathspec import PathSpec
from packaging.version import Version
+from pathspec import PathSpec
import black
import black.files
From 3dfacb5f34476b8c1ff28b5eb05cb85ff7418a66 Mon Sep 17 00:00:00 2001
From: MeggyCal <MeggyCal@users.noreply.github.com>
Date: Mon, 17 Feb 2025 12:01:26 +0100
Subject: [PATCH 4/4] double quotes
---
tests/test_black.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/test_black.py b/tests/test_black.py
index 9870cec4c26..4bdbdbba5cf 100644
--- a/tests/test_black.py
+++ b/tests/test_black.py
@@ -116,7 +116,7 @@ class BlackRunner(CliRunner):
"""Make sure STDOUT and STDERR are kept separate when testing Black via its CLI."""
def __init__(self) -> None:
- if Version(imp_version('click')) >= Version('8.2.0'):
+ if Version(imp_version("click")) >= Version("8.2.0"):
super().__init__()
else:
super().__init__(mix_stderr=False)
From 17101f151b407cb3346b0a472d9e32d7a56d5aca Mon Sep 17 00:00:00 2001
From: "Michael R. Crusoe" <michael.crusoe@gmail.com>
Date: Thu, 27 Feb 2025 15:17:21 +0100
Subject: [PATCH] additional fix for click 8.2.0
---
tests/test_black.py | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/tests/test_black.py b/tests/test_black.py
index 4bdbdbba5cf..ca19c17678b 100644
--- a/tests/test_black.py
+++ b/tests/test_black.py
@@ -192,10 +192,10 @@ def test_piping(self) -> None:
input=BytesIO(source.encode("utf-8")),
)
self.assertEqual(result.exit_code, 0)
- self.assertFormatEqual(expected, result.output)
- if source != result.output:
- black.assert_equivalent(source, result.output)
- black.assert_stable(source, result.output, DEFAULT_MODE)
+ self.assertFormatEqual(expected, result.stdout)
+ if source != result.stdout:
+ black.assert_equivalent(source, result.stdout)
+ black.assert_stable(source, result.stdout, DEFAULT_MODE)
def test_piping_diff(self) -> None:
diff_header = re.compile(
@@ -215,7 +215,7 @@ def test_piping_diff(self) -> None:
black.main, args, input=BytesIO(source.encode("utf-8"))
)
self.assertEqual(result.exit_code, 0)
- actual = diff_header.sub(DETERMINISTIC_HEADER, result.output)
+ actual = diff_header.sub(DETERMINISTIC_HEADER, result.stdout)
actual = actual.rstrip() + "\n" # the diff output has a trailing space
self.assertEqual(expected, actual)
@@ -300,7 +300,7 @@ def test_expression_diff(self) -> None:
self.assertEqual(result.exit_code, 0)
finally:
os.unlink(tmp_file)
- actual = result.output
+ actual = result.stdout
actual = diff_header.sub(DETERMINISTIC_HEADER, actual)
if expected != actual:
dump = black.dump_to_file(actual)
@@ -409,7 +409,7 @@ def test_skip_magic_trailing_comma(self) -> None:
self.assertEqual(result.exit_code, 0)
finally:
os.unlink(tmp_file)
- actual = result.output
+ actual = result.stdout
actual = diff_header.sub(DETERMINISTIC_HEADER, actual)
actual = actual.rstrip() + "\n" # the diff output has a trailing space
if expected != actual:
@@ -1831,7 +1831,7 @@ def test_bpo_2142_workaround(self) -> None:
self.assertEqual(result.exit_code, 0)
finally:
os.unlink(tmp_file)
- actual = result.output
+ actual = result.stdout
actual = diff_header.sub(DETERMINISTIC_HEADER, actual)
self.assertEqual(actual, expected)
@@ -1841,7 +1841,7 @@ def compare_results(
) -> None:
"""Helper method to test the value and exit code of a click Result."""
assert (
- result.output == expected_value
+ result.stdout == expected_value
), "The output did not match the expected value."
assert result.exit_code == expected_exit_code, "The exit code is incorrect."
From 7cf419741ab55028519f43524c3414a759aaa984 Mon Sep 17 00:00:00 2001
From: Daniel Garcia Moreno <daniel.garcia@suse.com>
Date: Mon, 12 May 2025 13:49:11 +0200
Subject: [PATCH] Update test_code_option_safe to work with click 8.2.0
---
tests/test_black.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tests/test_black.py b/tests/test_black.py
index acafb521619..f5c950244ef 100644
--- a/tests/test_black.py
+++ b/tests/test_black.py
@@ -1907,7 +1907,8 @@ def test_code_option_safe(self) -> None:
args = ["--safe", "--code", code]
result = CliRunner().invoke(black.main, args)
- self.compare_results(result, error_msg, 123)
+ assert error_msg == result.output
+ assert result.exit_code == 123
def test_code_option_fast(self) -> None:
"""Test that the code option ignores errors when the sanity checks fail."""

View File

@@ -1,18 +1,95 @@
-------------------------------------------------------------------
Wed Jun 18 07:27:52 UTC 2025 - Matej Cepl <mcepl@cepl.eu>
- Skip test_simple_format tests, which is failing with 3.13.5
(gh#psf/black#4698).
-------------------------------------------------------------------
Mon May 12 11:01:03 UTC 2025 - Daniel Garcia <daniel.garcia@suse.com>
- 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
-------------------------------------------------------------------
Mon Feb 10 09:37:29 UTC 2025 - Nico Krapp <nico.krapp@suse.com>
- 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
-------------------------------------------------------------------
Fri Sep 27 01:22:37 UTC 2024 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
- 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)
-------------------------------------------------------------------
Sun Jul 21 16:03:44 UTC 2024 - Andrea Manzini <andrea.manzini@suse.com>
- update to 24.4.2
* Fix regression where certain complex f-strings failed to parse
* Fix bad performance on certain complex string literals
* 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
* 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
* 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
* Stop moving multiline strings to a new line unless inside brackets
-------------------------------------------------------------------

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-black
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,50 +16,52 @@
#
%if 0%{?suse_version} > 1500
%bcond_without libalternatives
%else
%bcond_with libalternatives
%endif
%{?sle15_python_module_pythons}
Name: python-black
Version: 24.4.2
Version: 25.1.0
Release: 0
Summary: A code formatter written in, and written for Python
License: MIT
URL: https://github.com/psf/black
Source: https://files.pythonhosted.org/packages/source/b/black/black-%{version}.tar.gz
# PATCH-FIX-UPSTREAM click-820.patch gh#psf/black#4577, gh#psf/black#4591, gh#psf/black#4666
Patch0: click-820.patch
BuildRequires: %{python_module aiohttp >= 3.3.2}
BuildRequires: %{python_module aiohttp_cors}
BuildRequires: %{python_module attrs >= 18.1.0}
BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module click >= 8.0.0}
BuildRequires: %{python_module hatch-fancy-pypi-readme}
BuildRequires: %{python_module hatch_vcs}
BuildRequires: %{python_module hatchling >= 1.8.0}
BuildRequires: %{python_module mypy_extensions >= 0.4.3}
BuildRequires: %{python_module packaging}
BuildRequires: %{python_module packaging >= 22.0}
BuildRequires: %{python_module pathspec >= 0.9.0}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module platformdirs >= 2}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module tomli >= 1.1.0}
%if 0%{?suse_version} > 1500
BuildRequires: %{python_module typing_extensions >= 3.10.0.0 if %python-base < 3.11}
%endif
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-aiohttp >= 3.3.2
Requires: python-aiohttp_cors
Requires: python-attrs >= 18.1.0
Suggests: python-aiohttp >= 3.10.0
Requires: python-click >= 8.0.0
Requires: python-mypy_extensions >= 0.4.3
Requires: python-packaging
Requires: python-pathspec >= 0.9.0
Requires: python-platformdirs >= 2
Requires: python-tomli >= 1.1.0
%if %{with libalternatives}
BuildRequires: alts
Requires: alts
%else
Requires(post): update-alternatives
Requires(postun): update-alternatives
BuildArch: noarch
%if 0%{?python_version_nodots} < 311
Requires: python-typing_extensions >= 3.10.0.0
%endif
BuildArch: noarch
%python_subpackages
%description
@@ -87,15 +89,21 @@ also recognizes YAPF's block comments to the same effect.
%check
# Copy one of the executable scripts into the PATH
mkdir ~/bin
mkdir -p ~/bin
cp $(ls %{buildroot}%{_bindir}/black-* | head -1) ~/bin/black
export PATH=$PATH:~/bin
# test_expression_diff - sometimes fails on async timing in OBS
# test_bpo_2142_workaround fails on arm
skiptests="test_expression_diff or test_bpo_2142_workaround"
# gh#psf/black#4698
skiptests+=" or test_simple_format"
%pytest -k "not ($skiptests)"
%pre
# If libalternatives is used: Removing old update-alternatives entries.
%python_libalternatives_reset_alternative black
%post
%python_install_alternative black blackd