Sync from SUSE:ALP:Source:Standard:1.0 python-black revision 321517f1a34458ded08064d6860865dd

This commit is contained in:
Adrian Schröter 2023-10-18 23:18:17 +02:00
commit f011af7006
4 changed files with 626 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

BIN
black-23.9.1.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

483
python-black.changes Normal file
View File

@ -0,0 +1,483 @@
-------------------------------------------------------------------
Tue Sep 19 14:51:16 UTC 2023 - Dirk Müller <dmueller@suse.com>
- remove buildrequires that are not used on sle15
-------------------------------------------------------------------
Tue Sep 12 07:11:17 UTC 2023 - Dirk Müller <dmueller@suse.com>
- 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)
-------------------------------------------------------------------
Sun Jul 16 14:00:30 UTC 2023 - Dirk Müller <dmueller@suse.com>
- 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)
-------------------------------------------------------------------
Thu Jun 22 15:25:56 UTC 2023 - Dirk Müller <dmueller@suse.com>
- limit to newer python versions, older are no longer needed
-------------------------------------------------------------------
Fri Apr 21 12:22:42 UTC 2023 - Dirk Müller <dmueller@suse.com>
- add sle15_python_module_pythons (jsc#PED-68)
-------------------------------------------------------------------
Thu Apr 13 22:40:17 UTC 2023 - Matej Cepl <mcepl@suse.com>
- Make calling of %{sle15modernpython} optional.
-------------------------------------------------------------------
Mon Apr 3 18:49:11 UTC 2023 - Dirk Müller <dmueller@suse.com>
- 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
-------------------------------------------------------------------
Fri Sep 9 14:42:55 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
- 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)
-------------------------------------------------------------------
Fri Jul 15 04:52:30 UTC 2022 - Arun Persaud <arun@gmx.de>
- 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)
-------------------------------------------------------------------
Sat Apr 9 02:02:54 UTC 2022 - Arun Persaud <arun@gmx.de>
- 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).
-------------------------------------------------------------------
Sun Mar 27 19:34:20 UTC 2022 - Ben Greiner <code@bnavigator.de>
- 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
-------------------------------------------------------------------
Thu Jan 27 12:04:33 UTC 2022 - Ben Greiner <code@bnavigator.de>
- 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
-------------------------------------------------------------------
Wed Jan 12 03:39:41 UTC 2022 - Steve Kowalik <steven.kowalik@suse.com>
- 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.
-------------------------------------------------------------------
Sat Dec 5 23:44:07 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
- 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
-------------------------------------------------------------------
Fri Sep 4 12:19:10 UTC 2020 - John Vandenberg <jayvdb@gmail.com>
- 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
-------------------------------------------------------------------
Mon Aug 24 21:56:53 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
- 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
-------------------------------------------------------------------
Wed May 27 09:36:28 UTC 2020 - Petr Gajdos <pgajdos@suse.com>
- %python3_only -> %python_alternative
-------------------------------------------------------------------
Wed Nov 13 11:25:32 UTC 2019 - Ondřej Súkup <mimi.vx@gmail.com>
- Add missing Requires
-------------------------------------------------------------------
Mon Nov 11 14:14:38 UTC 2019 - Ondřej Súkup <mimi.vx@gmail.com>
- update to 19.10b0
- add fix-tests.patch to avoid problem during test collection
- dont distribute 'blackd' as missing deps
* no obvious changelog
-------------------------------------------------------------------
Tue Jun 4 13:53:31 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Skip randomly failing test (only in OBS)
-------------------------------------------------------------------
Thu Mar 21 15:44:47 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 19.3b0:
* No obvious changelog
-------------------------------------------------------------------
Wed Oct 3 12:40:28 UTC 2018 - Ondřej Súkup <mimi.vx@gmail.com>
- 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
-------------------------------------------------------------------
Wed Aug 29 10:31:11 UTC 2018 - tchvatal@suse.com
- Raise minimal py required to be 3.6
-------------------------------------------------------------------
Tue Aug 28 21:27:40 UTC 2018 - jengelh@inai.de
- Replace all the marketing in the description with something
substantial.
-------------------------------------------------------------------
Mon Aug 27 19:27:43 UTC 2018 - mimi.vx@gmail.com
- disable testsuite for py older than 3.7
-------------------------------------------------------------------
Mon Aug 27 09:08:50 UTC 2018 - tchvatal@suse.com
- Code formatter used by pytest/etc

117
python-black.spec Normal file
View File

@ -0,0 +1,117 @@
#
# spec file for package python-black
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?sle15_python_module_pythons}
Name: python-black
Version: 23.9.1
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
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 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
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
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
%python_subpackages
%description
Black is a code formatter written in Python, and reformats Python 2.x
and 3.x code.
Black reformats entire files in place. It is not configurable. It
does not take previous formatting into account. The coding style
enforced is a PEP-8 subset, adheres to PEP-257, and otherwise passes
the rules of the "pycodestyle" checker. Black skips over blocks that
start and end with "# fmt: off" and "# fmt: on", respectively. It
also recognizes YAPF's block comments to the same effect.
%prep
%autosetup -p1 -n black-%{version}
%build
%pyproject_wheel
%install
%pyproject_install
%python_clone -a %{buildroot}%{_bindir}/black
%python_clone -a %{buildroot}%{_bindir}/blackd
%{python_expand %fdupes %{buildroot}%{$python_sitelib}}
%check
# Copy one of the executable scripts into the PATH
mkdir ~/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"
%pytest -k "not ($skiptests)"
%post
%python_install_alternative black blackd
%postun
%python_uninstall_alternative black
%files %{python_files}
%doc README.md CHANGES.md docs/*.md
%license LICENSE
%python_alternative %{_bindir}/black
%python_alternative %{_bindir}/blackd
%{python_sitelib}/_black_version.py*
%{python_sitelib}/black/
%{python_sitelib}/blackd/
%{python_sitelib}/blib2to3/
%{python_sitelib}/black-%{version}*-info
%pycache_only %{python_sitelib}/__pycache__/*
%changelog