14
0
forked from pool/python-pylint
Files
python-pylint/python-pylint.spec
Dirk Mueller 0b1dc83cde Accepting request 880524 from home:bnavigator:branches:devel:languages:python
- Update to 2.7.2
  * Fix False Positive on ``Enum.__members__.items()``,
  ``Enum.__members__.values``, and ``Enum.__members__.keys``
  * Properly strip dangerous sys.path entries (not just the first
    one)
  * Workflow and packaging improvements
- Release 2.7.1
  * Expose ``UnittestLinter`` in pylint.testutils
  * Don't check directories starting with '.' when using
    register_plugins
- Release 2.7.0
  * Introduce DeprecationMixin for reusable deprecation checks.
  * Fix false positive for ``builtin-not-iterating`` when ``map``
    receives iterable
  * Python 3.6+ is now required.
  * Fix false positive for ``builtin-not-iterating`` when ``zip``
    receives iterable
  * Add ``nan-comparison`` check for NaN comparisons
  * Bug fix for empty-comment message line number.
  * Only emit ``bad-reversed-sequence`` on dictionaries if below
    py3.8
  * Handle class decorators applied to function.
  * Add check for empty comments
  * Fix minor documentation issue in contribute.rst
  * Enums are now required to be named in UPPER_CASE by
    ``invalid-name``.
  * Add missing checks for deprecated functions.
  * Postponed evaluation of annotations are now recognized by
    default if python version is above 3.10
  * Fix column metadata for anomalous backslash lints
  * Drop support for Python 3.5
  * Add support for pep585 with postponed evaluation
  * Check alternative union syntax - PEP 604
  * Fix multiple false positives with assignment expressions
  * Fix TypedDict inherit-non-class false-positive Python 3.9+
  * Fix issue with nested PEP 585 syntax
  * Fix issue with nested PEP 604 syntax
  * Fix a crash in ``undefined-variable`` caused by chained
    attributes in metaclass
  * Fix false positive for ``not-async-context-manager`` when
    ``contextlib.asynccontextmanager`` is used
  * Fix linter multiprocessing pool shutdown (triggered warnings
    when runned in parallels with other pytest plugins)
  * Fix a false-positive emission of ``no-self-use`` and
    ``unused-argument`` for methods of generic structural types
    (`Protocol[T]`)
  * Fix bug that lead to duplicate messages when using
    ``--jobs 2`` or more.
  * Adds option ``check-protected-access-in-special-methods`` in
    the ClassChecker to activate/deactivate
    ``protected-access`` message emission for single underscore
      prefixed attribute in special methods.
  * Fix vulnerable regular expressions in ``pyreverse``
  * ``inconsistent-return-statements`` message is now emitted if
    one of ``try/except`` statement is not returning explicitly
    while the other do.
  * Fix ``useless-super-delegation`` false positive when default
    keyword argument is a dictionnary.
  * Fix a crash when a specified config file does not exist
  * Add support to ``ignored-argument-names`` in
    DocstringParameterChecker and adds ``useless-param-doc`` and
    ``useless-type-doc`` messages.
  * Enforce docparams consistently when docstring is not present
  * Fix ``duplicate-code`` false positive when lines only contain
    whitespace and non-alphanumeric characters (e.g. parentheses,
    bracket, comman, etc.)
  * Improve lint message for ``singleton-comparison`` with bools
  * Fix spell-checker crash on indented docstring lines that look
    like # comments
  * Fix AttributeError in checkers/refactoring.py
  * Improve sphinx directives spelling filter
  * Fix a bug with postponed evaluation when using aliases for
    annotations.
  * Fix minor documentation issues
  * Improve the performance of the line length check.
  * Removed incorrect deprecation of ``inspect.getfullargspec``
  * Fix ``signature-differs`` false positive for functions with
    variadics
  * Fix a crash in ``consider-using-enumerate`` when encountering
   ``range()`` without arguments
  * ``len-as-conditions`` is now triggered only for classes that
    are inheriting directly from list, dict, or set and not
    implementing the ``__bool__`` function, or from generators
    like range or list/dict/set comprehension. This should reduce
    the false positives for other classes, like pandas's DataFrame
    or numpy's Array.
  * Fixes duplicate-errors not working with -j2+
  * ``generated-members`` now matches the qualified name of members
  * Add check for bool function to ``len-as-condition``
  * Add ``simplifiable-condition`` check for extraneous constants
    in conditionals using and/or.
  * Add ``condition-evals-to-constant`` check for conditionals
    using and/or that evaluate to a constant.
  * Changed setup.py to work with distlib
  * New check: ``consider-using-generator``
    This check warns when a comprehension is used inside an
    ``any`` or ``all`` function, since it is unnecessary and
    should be replaced by a generator instead. Using a generator
    would be less code and way faster.   
  * Add Github Actions to replace Travis and AppVeyor in the 
    future

OBS-URL: https://build.opensuse.org/request/show/880524
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=120
2021-03-22 22:11:38 +00:00

113 lines
3.6 KiB
RPMSpec

#
# spec file for package python-pylint
#
# 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() python3-%{**}}
%bcond_without tests
%define skip_python2 1
Name: python-pylint
Version: 2.7.2
Release: 0
Summary: Syntax and style checker for Python code
License: GPL-2.0-or-later
Group: Development/Languages/Python
URL: https://github.com/pycqa/pylint
Source: https://files.pythonhosted.org/packages/source/p/pylint/pylint-%{version}.tar.gz
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-astroid >= 2.5.1
Requires: python-isort >= 4.2.5
Requires: python-mccabe >= 0.6
Requires: python-toml >= 0.7.1
%if %{with tests}
BuildRequires: %{python_module astroid >= 2.5.1}
BuildRequires: %{python_module isort >= 4.2.5}
BuildRequires: %{python_module mccabe >= 0.6}
BuildRequires: %{python_module pytest-benchmark}
BuildRequires: %{python_module pytest-runner}
BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module toml >= 0.7.1}
%endif
Requires(post): update-alternatives
Requires(postun):update-alternatives
BuildArch: noarch
%python_subpackages
%description
Pylint analyzes Python source code looking for bugs and signs of poor
quality.
Pylint is a python tool that checks if a module satisfies a coding
standard. Pylint can be seen as another PyChecker since nearly all
tests you can do with PyChecker can also be done with Pylint. But
Pylint offers some more features, like checking line-code's length,
checking if variable names are well-formed according to your coding
standard, or checking if declared interfaces are truly implemented, and
much more (see the complete check list).
The big advantage with Pylint is that it is highly configurable,
customizable, and you can easily write a small plugin to add a personal
feature.
%prep
%setup -q -n pylint-%{version}
sed -i '1{/^#!/ d}' pylint/__main__.py
%build
export LC_ALL="en_US.UTF-8"
%python_build
%install
export LC_ALL="en_US.UTF-8"
%python_install
for p in pylint epylint pyreverse symilar ; do
%python_clone -a %{buildroot}%{_bindir}/$p
done
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%if %{with tests}
%check
export LC_ALL="en_US.UTF-8"
# need the local dir for imports from tests ...
export PYTHONPATH=$(pwd)
# ... but make sure that we import from installed package
mv pylint pylint.tmp
%pytest --benchmark-disable
mv pylint.tmp pylint
%endif
%post
%python_install_alternative pylint epylint pyreverse symilar
%postun
%python_uninstall_alternative pylint
%files %{python_files}
%license COPYING
%doc ChangeLog README.rst
%doc examples/
%python_alternative %{_bindir}/pylint
%python_alternative %{_bindir}/epylint
%python_alternative %{_bindir}/pyreverse
%python_alternative %{_bindir}/symilar
%{python_sitelib}/pylint/
%{python_sitelib}/pylint-%{version}-py*.egg-info
%changelog