python-isort/python-isort.spec

165 lines
5.4 KiB
RPMSpec
Raw Normal View History

#
- update to version 5.9.1: - Fixed #1758: projects with many files and skip_ignore set can lead to a command-line overload. - update to version 5.9.0: - Improved CLI startup time. - Implemented #1697: Provisional support for PEP 582: skip `__pypackages__` directories by default. - Implemented #1705: More intuitive handling of isort:skip_file comments on streams. - Implemented #1737: Support for using action comments to avoid adding imports to individual files. - Implemented #1750: Ability to customize output format lines. - Implemented #1732: Support for custom sort functions. - Implemented #1722: Improved behavior for running isort in atomic mode over Cython source files. - Fixed (https://github.com/PyCQA/isort/pull/1695): added imports being added to doc string in some cases. - Fixed (https://github.com/PyCQA/isort/pull/1714): in rare cases line continuation combined with tabs can output invalid code. - Fixed (https://github.com/PyCQA/isort/pull/1726): isort ignores reverse_sort when force_sort_within_sections is true. - Fixed #1741: comments in hanging indent modes can lead to invalid code. - Fixed #1744: repeat noqa comments dropped when * import and non * imports exist from the same package. - Fixed #1721: repeat noqa comments on separate from lines with force-single-line set, sometimes get dropped. - Goal Zero (Tickets related to aspirational goal of achieving 0 regressions for remaining 5.0.0 lifespan): - Implemented #1394: 100% branch coverage (in addition to line coverage) enforced. - Implemented #1751: Strict typing enforcement (turned on mypy strict mode). OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-isort?expand=0&rev=80
2021-07-04 19:18:19 +00:00
# spec file
#
# Copyright (c) 2021 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/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
%else
%define psuffix %{nil}
%bcond_with test
%endif
%define skip_python2 1
Name: python-isort%{psuffix}
Version: 5.10.1
Release: 0
Summary: A Python utility / library to sort Python imports
License: MIT
URL: https://pycqa.github.io/isort/
# tests and example projects are not packaged for PyPI, get them from Github
Source: https://github.com/PyCQA/isort/archive/%{version}.tar.gz#/isort-%{version}-gh.tar.gz
BuildRequires: %{python_module pip}
BuildRequires: %{python_module poetry-core}
BuildRequires: fdupes
BuildRequires: python-rpm-macros >= 20210127.3a18043
Requires: python-setuptools
Requires(post): update-alternatives
2021-03-21 19:44:10 +00:00
Requires(postun):update-alternatives
Recommends: python-colorama >= 0.4.3
Recommends: python-pip-api
Recommends: python-pipreqs
Suggests: git
BuildArch: noarch
%if %{with test}
BuildRequires: %{python_module black}
BuildRequires: %{python_module colorama >= 0.4.3}
BuildRequires: %{python_module hypothesmith}
BuildRequires: %{python_module libcst}
BuildRequires: %{python_module natsort}
BuildRequires: %{python_module pip-api}
BuildRequires: %{python_module pipreqs}
BuildRequires: %{python_module poetry}
BuildRequires: %{python_module pylama}
2021-03-21 19:44:10 +00:00
BuildRequires: %{python_module pytest > 6.0}
BuildRequires: %{python_module pytest-mock}
BuildRequires: git
BuildRequires: %{python_module numpy if (%python-base without python36-base)}
%endif
%python_subpackages
%description
isort your python imports for you so you dont have to.
isort is a Python utility / library to sort imports alphabetically, and
automatically separated into sections and by type. It provides a command line
utility, Python library and plugins for various editors to quickly sort all your
imports. It requires Python 3.6+ to run but supports formatting Python 2 code
too.
%prep
%setup -q -n isort-%{version}
chmod -x LICENSE
echo "
# increase test deadline for slow obs executions
import hypothesis
hypothesis.settings.register_profile(
'obs',
deadline=5000,
suppress_health_check=[hypothesis.HealthCheck.too_slow]
)
" >> tests/conftest.py
%build
%pyproject_wheel
%if !%{with test}
%install
%pyproject_install
%python_clone -a %{buildroot}%{_bindir}/isort
%python_clone -a %{buildroot}%{_bindir}/isort-identify-imports
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%endif
%if %{with test}
%check
# test_projects_using_isort.py: these tests try to clone from online git repositories.
ignoretests="--ignore tests/integration/test_projects_using_isort.py"
# don't run benchmarks
ignoretests+=" --ignore tests/benchmark"
# test_setting_combinations.py::test_isort_is_idempotent
# is flaky https://github.com/PyCQA/isort/issues/1466
donttest="(test_setting_combinations and test_isort_is_idempotent)"
# requirementslib is not available yet for python 3.9 or greater,
# it's a deprecated finder for isort so we drop it
# https://github.com/sarugaku/requirementslib/issues/288
donttest+=" or (test_deprecated_finders and test_pipfile_finder)"
ORIGPATH=$PATH
%{python_expand # install isort and required example projects into custom root
mkdir isort-test-%{$python_bin_suffix}
export PATH="$(pwd)/isort-test-%{$python_bin_suffix}/usr/bin:$ORIGPATH"
export PYTHONPATH="$(pwd)/isort-test-%{$python_bin_suffix}%{$python_sitelib}"
export PYTHONDONTWRITEBYTECODE=1
for proj in build/isort-%{version}-py3-none-any.whl \
./example_shared_isort_profile \
./example_isort_formatting_plugin \
./example_isort_sorting_plugin
do
$python -m pip install --verbose \
--no-index \
--root $(pwd)/isort-test-%{$python_bin_suffix} \
--no-deps \
--use-pep517 \
--no-cache-dir\
--no-build-isolation \
--progress-bar off \
--disable-pip-version-check \
${proj}
done
pytest-%{$python_bin_suffix} -v \
-W "ignore::UserWarning" \
-W "ignore::DeprecationWarning" \
--hypothesis-profile="obs" \
${ignoretests} \
-k "not (${donttest} ${$python_donttest})"
}
%endif
%if !%{with test}
%post
%python_install_alternative isort isort-identify-imports
%postun
%python_uninstall_alternative isort
%files %{python_files}
%doc README.md
Accepting request 505500 from home:sebix:branches:devel:languages:python - update description - install LICENSE as %license if possible - update to 4.2.15 * Fixed certain one line imports not being successfully wrapped - update to 4.2.14 * Fixed #559 & #565: Added missing standard library imports - update to 4.2.13 * Fixed #553: Check only and --diff now work together again - update to 4.2.12 * Fixed a problem with the wheel distribution - update to 4.2.11 * Fixed #546: Can't select y/n/c after latest update * Fixed #545: Incorrectly moves future imports above encoding comments - update to 4.2.9 * Fixed #428: Check only modifies sorting * Fixed #540: Not correctly identifying stdlib modules - update to 4.2.8 * Added --virtual-env switch command line option * Added --enforce-whitespace option to go along with --check-only for more exact checks (issue #423) * Fixed imports with a tailing '' and no space in-between getting removed (issue #425) * Fixed issue #299: long lines occasionally not wrapped * Fixed issue #432: No longer add import inside class when class starts at top of file after encoding comment * Fixed issue #440: Added missing --use-parentheses option to command line tool and documentation * Fixed issue #496: import* imports now get successfully identified and reformatted instead of deleted * Fixed issue #491: Non ending parentheses withing single line comments no longer cause formatting issues * Fixed issue #471: Imports that wrap the maximum line length and contain comments on the last line are no longer rendered incorrectly * Fixed issue #436: Force sort within section no longer rearranges comments * Fixed issue #473: Force_to_top and force_sort_within_sections now work together * Fixed issue #484 & #472: Consistent output with imports of same spelling but different case * Fixed issue #433: No longer incorrectly add an extra new-line when comment between imports and function definition OBS-URL: https://build.opensuse.org/request/show/505500 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-isort?expand=0&rev=4
2017-06-23 17:12:16 +00:00
%license LICENSE
%python_alternative %{_bindir}/isort
%python_alternative %{_bindir}/isort-identify-imports
%{python_sitelib}/isort
%{python_sitelib}/isort-%{version}.dist-info
%endif
%changelog