Name: python-black
Version: 24.1.1
Release: %autorelease
Summary: The uncompromising code formatter
License: MIT
URL: https://github.com/psf/black
Source: %{pypi_source black}
BuildArch: noarch
BuildRequires: python3-devel
# test requirements (upstream mixed with coverage, we hand-pick what we need only):
BuildRequires: python3-pytest
# the black[jupyter] extra is allowed by default
# disable to avoid the ipython-black bootstrap loop
# note that tests/test_no_ipynb.py only runs without jupyter
# extra paranoid packagers can build this both with and without to run all tests
%bcond jupyter 1
# uvloop is sometimes not ready for new Python, e.g. https://bugzilla.redhat.com/2203920
%bcond uvloop 1
%global _description %{expand:
Black is the uncompromising Python code formatter. By using it, you agree to
cease control over minutiae of hand-formatting. In return, Black gives you
speed, determinism, and freedom from pycodestyle nagging about formatting.
You will save time and mental energy for more important matters.}
%description %_description
%package -n black
Summary: %{summary}
Recommends: black+d = %{version}-%{release}
%py_provides python3-black
# The [python2] extra was removed in 22.1.0
# This can be safely removed in Fedora 39+
Obsoletes: black+python2 < 22.1.0
%description -n black %_description
%prep
%autosetup -n black-%{version} -p1
%generate_buildrequires
%global extras_without_d colorama%{?with_jupyter:,jupyter}%{?with_uvloop:,uvloop}
%pyproject_buildrequires -rx d,%{extras_without_d}
%build
%pyproject_wheel
%install
%pyproject_install
%pyproject_save_files 'black*' '_black*' blib2to3
for exe in black blackd; do
ln -sr %{buildroot}%{_bindir}/${exe}{,-%{python3_version}}
done
%check
export PIP_INDEX_URL=http://host.invalid./
export PIP_NO_DEPS=yes
%pytest -Wdefault -rs --run-optional %{!?with_jupyter:no_}jupyter
%files -n black -f %{pyproject_files}
%license LICENSE
%doc README.md
%{_bindir}/black
%{_bindir}/black-%{python3_version}
%pyproject_extras_subpkg -n black d
%{_bindir}/blackd
%{_bindir}/blackd-%{python3_version}
%pyproject_extras_subpkg -n black %{extras_without_d}
%changelog
%autochangelog