14
0
forked from pool/python-pylint
Files
python-pylint/python-pylint.spec

119 lines
4.1 KiB
RPMSpec
Raw Normal View History

#
# 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.8.3
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
Accepting request 891349 from home:bnavigator:branches:devel:languages:python ----------------------------------------------------------------- - Update to 2.8.2 * Keep ``__pkginfo__.numversion`` a tuple to avoid breaking pylint-django. * scm_setuptools has been added to the packaging. * Pylint's tags are now the standard form ``vX.Y.Z`` and not ``pylint-X.Y.Z`` anymore. * New warning message ``deprecated-class``. This message is emitted if import or call deprecated class of the standard library (like ``collections.Iterable`` that will be removed Python 3.10). * Add numversion back (temporarily) in __pkginfo__ because it broke Pylama and revert the unnecessary pylint.version beaking change. - Release 2.8.0 * New refactoring message ``consider-using-with``. This message is emitted if resource-allocating functions or methods of the standard library (like ``open()`` or ``threading.Lock.acquire() ``) that can be used as a context manager are called without a ``with`` block. * Resolve false positives on unused variables in decorator functions * Add new extension ``ConfusingConsecutiveElifChecker``. This optional checker emits a refactoring message (R5601 ``confusing-consecutive-elif``) if if/elif statements with different indentation levels follow directly one after the other. * New option ``--output=<file>`` to output result to a file rather than printing to stdout. * Use a prescriptive message for ``unidiomatic-typecheck`` * Apply ``const-naming-style`` to module constants annotated with ``typing.Final`` * The packaging is now done via setuptools exclusively. ``doc``, ``tests``, ``man``, ``elisp`` and ``Changelog`` are not packaged anymore - reducing the size of the package by 75%. * Debian packaging is now (officially) done in https://salsa. debian.org/python-team/packages/pylint. * The 'doc' extra-require has been removed. * ``__pkginfo__`` now only contain ``__version__`` (also accessible with ``pylint.__version__``), other meta-information are still accessible with ``from importlib import metadata;metadata. metadata('pylint')``. * COPYING has been renamed to LICENSE for standardization. * Fix false-positive ``used-before-assignment`` in function returns. * Updated ``astroid`` to 2.5.3 * Add ``consider-using-min-max-builtin`` check for if statement which could be replaced by Python builtin min or max * Don't auto-enable postponed evaluation of type annotations with Python 3.10 * Update ``astroid`` to 2.5.4 * Add new extension ``TypingChecker``. This optional checker can detect the use of deprecated typing aliases and can suggest the use of the alternative union syntax where possible. (For example, 'typing.Dict' can be replaced by 'dict', and 'typing.Unions' by '|', etc.) Make sure to check the config options if you plan on using it! * Reactivates old counts in report mode. * During detection of ``inconsistent-return-statements`` consider that ``assert False`` is a return node. * Run will not fail if score exactly equals ``config. fail_under``. * Functions that never returns may declare ``NoReturn`` as type hints, so that ``inconsistent-return-statements`` is not emitted. * Improved protected access checks to allow access inside class methods * Fix issue with PEP 585 syntax and the use of ``collections. abc. Set`` * Fix issue that caused class variables annotated with ``typing. ClassVar`` to be identified as class constants. Now, class variables nnotated with ``typing.Final`` are identified as such. * Continuous integration with read the doc has been added. * Don't show ``DuplicateBasesError`` for attribute access * Fix crash when checking ``setup.cfg`` for pylint config when there are non-ascii characters in there * Allow code flanked in backticks to be skipped by spellchecker * Allow Python tool directives (for black, flake8, zimports, isort, mypy, bandit, pycharm) at beginning of comments to be skipped by spellchecker * Fix issue that caused emacs pylint to fail when used with tramp * Improve check for invalid PEP 585 syntax inside functions if postponed evaluation of type annotations is enabled * Improve check for invalid PEP 585 syntax as default function arguments - Release 2.7.4 * Fix a problem with disabled msgid not being ignored * Fix issue with annotated class constants - Release 2.7.3 * Introduce logic for checking deprecated attributes in DeprecationMixin. * Reduce usage of blacklist/whitelist terminology. Notably, ``extension-pkg-allow-list`` is an alternative to ``extension-pkg-whitelist`` and the message ``blacklisted-name`` is now emitted as ``disallowed-name``. The previous names are accepted to maintain backward compatibility. * Move deprecated checker to ``DeprecatedMixin`` * Bump ``astroid`` version to ``2.5.2`` * Fix false positive for ``method-hidden`` when using private attribute and method * ``use-symbolic-message-instead`` now also works on legacy messages like ``C0111`` (``missing-docstring``). * Remove unwanted print to stdout from ``_emit_no_member`` * Introduce a command-line option to specify pyreverse output directory * Fix issue with Enums and ``class-attribute-naming-style=snake_case`` * Add ``allowed-redefined-builtins`` option for fine tuning ``redefined-builtin`` check. * Fix issue when executing with ``python -m pylint`` * Exempt ``typing.TypedDict`` from ``too-few-public-methods`` check. * Fix false-positive ``no-member`` for typed annotations without default value. * Add ``--class-const-naming-style`` for Enum constants and class variables annotated with ``typing.ClassVar`` * Fix astroid.Inference error for undefined-variables with ``len()``` * Fix column index on FIXME warning messages * Improve handling of assignment expressions, better edge case handling * Improve check if class is subscriptable PEP585 * Fix documentation and filename handling of --import-graph * Fix false-positive for ``unused-import`` on class keyword arguments * Fix regression with plugins on PYTHONPATH if latter is cwd - Add pylint-pr4450-import-init.patch gh#PyCQA/pylint#4450 fix broken tests OBS-URL: https://build.opensuse.org/request/show/891349 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=122
2021-05-07 21:05:34 +00:00
# PATCH-FIX-UPSTREAM pylint-pr4450-import-init.patch -- gh#PyCQA/pylint#4450 fix broken tests
Patch1: https://github.com/PyCQA/pylint/pull/4450.patch#/pylint-pr4450-import-init.patch
BuildRequires: %{python_module setuptools_scm}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Accepting request 891349 from home:bnavigator:branches:devel:languages:python ----------------------------------------------------------------- - Update to 2.8.2 * Keep ``__pkginfo__.numversion`` a tuple to avoid breaking pylint-django. * scm_setuptools has been added to the packaging. * Pylint's tags are now the standard form ``vX.Y.Z`` and not ``pylint-X.Y.Z`` anymore. * New warning message ``deprecated-class``. This message is emitted if import or call deprecated class of the standard library (like ``collections.Iterable`` that will be removed Python 3.10). * Add numversion back (temporarily) in __pkginfo__ because it broke Pylama and revert the unnecessary pylint.version beaking change. - Release 2.8.0 * New refactoring message ``consider-using-with``. This message is emitted if resource-allocating functions or methods of the standard library (like ``open()`` or ``threading.Lock.acquire() ``) that can be used as a context manager are called without a ``with`` block. * Resolve false positives on unused variables in decorator functions * Add new extension ``ConfusingConsecutiveElifChecker``. This optional checker emits a refactoring message (R5601 ``confusing-consecutive-elif``) if if/elif statements with different indentation levels follow directly one after the other. * New option ``--output=<file>`` to output result to a file rather than printing to stdout. * Use a prescriptive message for ``unidiomatic-typecheck`` * Apply ``const-naming-style`` to module constants annotated with ``typing.Final`` * The packaging is now done via setuptools exclusively. ``doc``, ``tests``, ``man``, ``elisp`` and ``Changelog`` are not packaged anymore - reducing the size of the package by 75%. * Debian packaging is now (officially) done in https://salsa. debian.org/python-team/packages/pylint. * The 'doc' extra-require has been removed. * ``__pkginfo__`` now only contain ``__version__`` (also accessible with ``pylint.__version__``), other meta-information are still accessible with ``from importlib import metadata;metadata. metadata('pylint')``. * COPYING has been renamed to LICENSE for standardization. * Fix false-positive ``used-before-assignment`` in function returns. * Updated ``astroid`` to 2.5.3 * Add ``consider-using-min-max-builtin`` check for if statement which could be replaced by Python builtin min or max * Don't auto-enable postponed evaluation of type annotations with Python 3.10 * Update ``astroid`` to 2.5.4 * Add new extension ``TypingChecker``. This optional checker can detect the use of deprecated typing aliases and can suggest the use of the alternative union syntax where possible. (For example, 'typing.Dict' can be replaced by 'dict', and 'typing.Unions' by '|', etc.) Make sure to check the config options if you plan on using it! * Reactivates old counts in report mode. * During detection of ``inconsistent-return-statements`` consider that ``assert False`` is a return node. * Run will not fail if score exactly equals ``config. fail_under``. * Functions that never returns may declare ``NoReturn`` as type hints, so that ``inconsistent-return-statements`` is not emitted. * Improved protected access checks to allow access inside class methods * Fix issue with PEP 585 syntax and the use of ``collections. abc. Set`` * Fix issue that caused class variables annotated with ``typing. ClassVar`` to be identified as class constants. Now, class variables nnotated with ``typing.Final`` are identified as such. * Continuous integration with read the doc has been added. * Don't show ``DuplicateBasesError`` for attribute access * Fix crash when checking ``setup.cfg`` for pylint config when there are non-ascii characters in there * Allow code flanked in backticks to be skipped by spellchecker * Allow Python tool directives (for black, flake8, zimports, isort, mypy, bandit, pycharm) at beginning of comments to be skipped by spellchecker * Fix issue that caused emacs pylint to fail when used with tramp * Improve check for invalid PEP 585 syntax inside functions if postponed evaluation of type annotations is enabled * Improve check for invalid PEP 585 syntax as default function arguments - Release 2.7.4 * Fix a problem with disabled msgid not being ignored * Fix issue with annotated class constants - Release 2.7.3 * Introduce logic for checking deprecated attributes in DeprecationMixin. * Reduce usage of blacklist/whitelist terminology. Notably, ``extension-pkg-allow-list`` is an alternative to ``extension-pkg-whitelist`` and the message ``blacklisted-name`` is now emitted as ``disallowed-name``. The previous names are accepted to maintain backward compatibility. * Move deprecated checker to ``DeprecatedMixin`` * Bump ``astroid`` version to ``2.5.2`` * Fix false positive for ``method-hidden`` when using private attribute and method * ``use-symbolic-message-instead`` now also works on legacy messages like ``C0111`` (``missing-docstring``). * Remove unwanted print to stdout from ``_emit_no_member`` * Introduce a command-line option to specify pyreverse output directory * Fix issue with Enums and ``class-attribute-naming-style=snake_case`` * Add ``allowed-redefined-builtins`` option for fine tuning ``redefined-builtin`` check. * Fix issue when executing with ``python -m pylint`` * Exempt ``typing.TypedDict`` from ``too-few-public-methods`` check. * Fix false-positive ``no-member`` for typed annotations without default value. * Add ``--class-const-naming-style`` for Enum constants and class variables annotated with ``typing.ClassVar`` * Fix astroid.Inference error for undefined-variables with ``len()``` * Fix column index on FIXME warning messages * Improve handling of assignment expressions, better edge case handling * Improve check if class is subscriptable PEP585 * Fix documentation and filename handling of --import-graph * Fix false-positive for ``unused-import`` on class keyword arguments * Fix regression with plugins on PYTHONPATH if latter is cwd - Add pylint-pr4450-import-init.patch gh#PyCQA/pylint#4450 fix broken tests OBS-URL: https://build.opensuse.org/request/show/891349 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=122
2021-05-07 21:05:34 +00:00
Requires: python-astroid >= 2.5.6
Requires: python-isort >= 4.2.5
Requires: python-mccabe >= 0.6
Requires: python-toml >= 0.7.1
%if %{with tests}
Accepting request 891349 from home:bnavigator:branches:devel:languages:python ----------------------------------------------------------------- - Update to 2.8.2 * Keep ``__pkginfo__.numversion`` a tuple to avoid breaking pylint-django. * scm_setuptools has been added to the packaging. * Pylint's tags are now the standard form ``vX.Y.Z`` and not ``pylint-X.Y.Z`` anymore. * New warning message ``deprecated-class``. This message is emitted if import or call deprecated class of the standard library (like ``collections.Iterable`` that will be removed Python 3.10). * Add numversion back (temporarily) in __pkginfo__ because it broke Pylama and revert the unnecessary pylint.version beaking change. - Release 2.8.0 * New refactoring message ``consider-using-with``. This message is emitted if resource-allocating functions or methods of the standard library (like ``open()`` or ``threading.Lock.acquire() ``) that can be used as a context manager are called without a ``with`` block. * Resolve false positives on unused variables in decorator functions * Add new extension ``ConfusingConsecutiveElifChecker``. This optional checker emits a refactoring message (R5601 ``confusing-consecutive-elif``) if if/elif statements with different indentation levels follow directly one after the other. * New option ``--output=<file>`` to output result to a file rather than printing to stdout. * Use a prescriptive message for ``unidiomatic-typecheck`` * Apply ``const-naming-style`` to module constants annotated with ``typing.Final`` * The packaging is now done via setuptools exclusively. ``doc``, ``tests``, ``man``, ``elisp`` and ``Changelog`` are not packaged anymore - reducing the size of the package by 75%. * Debian packaging is now (officially) done in https://salsa. debian.org/python-team/packages/pylint. * The 'doc' extra-require has been removed. * ``__pkginfo__`` now only contain ``__version__`` (also accessible with ``pylint.__version__``), other meta-information are still accessible with ``from importlib import metadata;metadata. metadata('pylint')``. * COPYING has been renamed to LICENSE for standardization. * Fix false-positive ``used-before-assignment`` in function returns. * Updated ``astroid`` to 2.5.3 * Add ``consider-using-min-max-builtin`` check for if statement which could be replaced by Python builtin min or max * Don't auto-enable postponed evaluation of type annotations with Python 3.10 * Update ``astroid`` to 2.5.4 * Add new extension ``TypingChecker``. This optional checker can detect the use of deprecated typing aliases and can suggest the use of the alternative union syntax where possible. (For example, 'typing.Dict' can be replaced by 'dict', and 'typing.Unions' by '|', etc.) Make sure to check the config options if you plan on using it! * Reactivates old counts in report mode. * During detection of ``inconsistent-return-statements`` consider that ``assert False`` is a return node. * Run will not fail if score exactly equals ``config. fail_under``. * Functions that never returns may declare ``NoReturn`` as type hints, so that ``inconsistent-return-statements`` is not emitted. * Improved protected access checks to allow access inside class methods * Fix issue with PEP 585 syntax and the use of ``collections. abc. Set`` * Fix issue that caused class variables annotated with ``typing. ClassVar`` to be identified as class constants. Now, class variables nnotated with ``typing.Final`` are identified as such. * Continuous integration with read the doc has been added. * Don't show ``DuplicateBasesError`` for attribute access * Fix crash when checking ``setup.cfg`` for pylint config when there are non-ascii characters in there * Allow code flanked in backticks to be skipped by spellchecker * Allow Python tool directives (for black, flake8, zimports, isort, mypy, bandit, pycharm) at beginning of comments to be skipped by spellchecker * Fix issue that caused emacs pylint to fail when used with tramp * Improve check for invalid PEP 585 syntax inside functions if postponed evaluation of type annotations is enabled * Improve check for invalid PEP 585 syntax as default function arguments - Release 2.7.4 * Fix a problem with disabled msgid not being ignored * Fix issue with annotated class constants - Release 2.7.3 * Introduce logic for checking deprecated attributes in DeprecationMixin. * Reduce usage of blacklist/whitelist terminology. Notably, ``extension-pkg-allow-list`` is an alternative to ``extension-pkg-whitelist`` and the message ``blacklisted-name`` is now emitted as ``disallowed-name``. The previous names are accepted to maintain backward compatibility. * Move deprecated checker to ``DeprecatedMixin`` * Bump ``astroid`` version to ``2.5.2`` * Fix false positive for ``method-hidden`` when using private attribute and method * ``use-symbolic-message-instead`` now also works on legacy messages like ``C0111`` (``missing-docstring``). * Remove unwanted print to stdout from ``_emit_no_member`` * Introduce a command-line option to specify pyreverse output directory * Fix issue with Enums and ``class-attribute-naming-style=snake_case`` * Add ``allowed-redefined-builtins`` option for fine tuning ``redefined-builtin`` check. * Fix issue when executing with ``python -m pylint`` * Exempt ``typing.TypedDict`` from ``too-few-public-methods`` check. * Fix false-positive ``no-member`` for typed annotations without default value. * Add ``--class-const-naming-style`` for Enum constants and class variables annotated with ``typing.ClassVar`` * Fix astroid.Inference error for undefined-variables with ``len()``` * Fix column index on FIXME warning messages * Improve handling of assignment expressions, better edge case handling * Improve check if class is subscriptable PEP585 * Fix documentation and filename handling of --import-graph * Fix false-positive for ``unused-import`` on class keyword arguments * Fix regression with plugins on PYTHONPATH if latter is cwd - Add pylint-pr4450-import-init.patch gh#PyCQA/pylint#4450 fix broken tests OBS-URL: https://build.opensuse.org/request/show/891349 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=122
2021-05-07 21:05:34 +00:00
BuildRequires: %{python_module astroid >= 2.5.6}
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
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
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
Accepting request 891349 from home:bnavigator:branches:devel:languages:python ----------------------------------------------------------------- - Update to 2.8.2 * Keep ``__pkginfo__.numversion`` a tuple to avoid breaking pylint-django. * scm_setuptools has been added to the packaging. * Pylint's tags are now the standard form ``vX.Y.Z`` and not ``pylint-X.Y.Z`` anymore. * New warning message ``deprecated-class``. This message is emitted if import or call deprecated class of the standard library (like ``collections.Iterable`` that will be removed Python 3.10). * Add numversion back (temporarily) in __pkginfo__ because it broke Pylama and revert the unnecessary pylint.version beaking change. - Release 2.8.0 * New refactoring message ``consider-using-with``. This message is emitted if resource-allocating functions or methods of the standard library (like ``open()`` or ``threading.Lock.acquire() ``) that can be used as a context manager are called without a ``with`` block. * Resolve false positives on unused variables in decorator functions * Add new extension ``ConfusingConsecutiveElifChecker``. This optional checker emits a refactoring message (R5601 ``confusing-consecutive-elif``) if if/elif statements with different indentation levels follow directly one after the other. * New option ``--output=<file>`` to output result to a file rather than printing to stdout. * Use a prescriptive message for ``unidiomatic-typecheck`` * Apply ``const-naming-style`` to module constants annotated with ``typing.Final`` * The packaging is now done via setuptools exclusively. ``doc``, ``tests``, ``man``, ``elisp`` and ``Changelog`` are not packaged anymore - reducing the size of the package by 75%. * Debian packaging is now (officially) done in https://salsa. debian.org/python-team/packages/pylint. * The 'doc' extra-require has been removed. * ``__pkginfo__`` now only contain ``__version__`` (also accessible with ``pylint.__version__``), other meta-information are still accessible with ``from importlib import metadata;metadata. metadata('pylint')``. * COPYING has been renamed to LICENSE for standardization. * Fix false-positive ``used-before-assignment`` in function returns. * Updated ``astroid`` to 2.5.3 * Add ``consider-using-min-max-builtin`` check for if statement which could be replaced by Python builtin min or max * Don't auto-enable postponed evaluation of type annotations with Python 3.10 * Update ``astroid`` to 2.5.4 * Add new extension ``TypingChecker``. This optional checker can detect the use of deprecated typing aliases and can suggest the use of the alternative union syntax where possible. (For example, 'typing.Dict' can be replaced by 'dict', and 'typing.Unions' by '|', etc.) Make sure to check the config options if you plan on using it! * Reactivates old counts in report mode. * During detection of ``inconsistent-return-statements`` consider that ``assert False`` is a return node. * Run will not fail if score exactly equals ``config. fail_under``. * Functions that never returns may declare ``NoReturn`` as type hints, so that ``inconsistent-return-statements`` is not emitted. * Improved protected access checks to allow access inside class methods * Fix issue with PEP 585 syntax and the use of ``collections. abc. Set`` * Fix issue that caused class variables annotated with ``typing. ClassVar`` to be identified as class constants. Now, class variables nnotated with ``typing.Final`` are identified as such. * Continuous integration with read the doc has been added. * Don't show ``DuplicateBasesError`` for attribute access * Fix crash when checking ``setup.cfg`` for pylint config when there are non-ascii characters in there * Allow code flanked in backticks to be skipped by spellchecker * Allow Python tool directives (for black, flake8, zimports, isort, mypy, bandit, pycharm) at beginning of comments to be skipped by spellchecker * Fix issue that caused emacs pylint to fail when used with tramp * Improve check for invalid PEP 585 syntax inside functions if postponed evaluation of type annotations is enabled * Improve check for invalid PEP 585 syntax as default function arguments - Release 2.7.4 * Fix a problem with disabled msgid not being ignored * Fix issue with annotated class constants - Release 2.7.3 * Introduce logic for checking deprecated attributes in DeprecationMixin. * Reduce usage of blacklist/whitelist terminology. Notably, ``extension-pkg-allow-list`` is an alternative to ``extension-pkg-whitelist`` and the message ``blacklisted-name`` is now emitted as ``disallowed-name``. The previous names are accepted to maintain backward compatibility. * Move deprecated checker to ``DeprecatedMixin`` * Bump ``astroid`` version to ``2.5.2`` * Fix false positive for ``method-hidden`` when using private attribute and method * ``use-symbolic-message-instead`` now also works on legacy messages like ``C0111`` (``missing-docstring``). * Remove unwanted print to stdout from ``_emit_no_member`` * Introduce a command-line option to specify pyreverse output directory * Fix issue with Enums and ``class-attribute-naming-style=snake_case`` * Add ``allowed-redefined-builtins`` option for fine tuning ``redefined-builtin`` check. * Fix issue when executing with ``python -m pylint`` * Exempt ``typing.TypedDict`` from ``too-few-public-methods`` check. * Fix false-positive ``no-member`` for typed annotations without default value. * Add ``--class-const-naming-style`` for Enum constants and class variables annotated with ``typing.ClassVar`` * Fix astroid.Inference error for undefined-variables with ``len()``` * Fix column index on FIXME warning messages * Improve handling of assignment expressions, better edge case handling * Improve check if class is subscriptable PEP585 * Fix documentation and filename handling of --import-graph * Fix false-positive for ``unused-import`` on class keyword arguments * Fix regression with plugins on PYTHONPATH if latter is cwd - Add pylint-pr4450-import-init.patch gh#PyCQA/pylint#4450 fix broken tests OBS-URL: https://build.opensuse.org/request/show/891349 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=122
2021-05-07 21:05:34 +00:00
%autosetup -p1 -n pylint-%{version}
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
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"
Accepting request 891349 from home:bnavigator:branches:devel:languages:python ----------------------------------------------------------------- - Update to 2.8.2 * Keep ``__pkginfo__.numversion`` a tuple to avoid breaking pylint-django. * scm_setuptools has been added to the packaging. * Pylint's tags are now the standard form ``vX.Y.Z`` and not ``pylint-X.Y.Z`` anymore. * New warning message ``deprecated-class``. This message is emitted if import or call deprecated class of the standard library (like ``collections.Iterable`` that will be removed Python 3.10). * Add numversion back (temporarily) in __pkginfo__ because it broke Pylama and revert the unnecessary pylint.version beaking change. - Release 2.8.0 * New refactoring message ``consider-using-with``. This message is emitted if resource-allocating functions or methods of the standard library (like ``open()`` or ``threading.Lock.acquire() ``) that can be used as a context manager are called without a ``with`` block. * Resolve false positives on unused variables in decorator functions * Add new extension ``ConfusingConsecutiveElifChecker``. This optional checker emits a refactoring message (R5601 ``confusing-consecutive-elif``) if if/elif statements with different indentation levels follow directly one after the other. * New option ``--output=<file>`` to output result to a file rather than printing to stdout. * Use a prescriptive message for ``unidiomatic-typecheck`` * Apply ``const-naming-style`` to module constants annotated with ``typing.Final`` * The packaging is now done via setuptools exclusively. ``doc``, ``tests``, ``man``, ``elisp`` and ``Changelog`` are not packaged anymore - reducing the size of the package by 75%. * Debian packaging is now (officially) done in https://salsa. debian.org/python-team/packages/pylint. * The 'doc' extra-require has been removed. * ``__pkginfo__`` now only contain ``__version__`` (also accessible with ``pylint.__version__``), other meta-information are still accessible with ``from importlib import metadata;metadata. metadata('pylint')``. * COPYING has been renamed to LICENSE for standardization. * Fix false-positive ``used-before-assignment`` in function returns. * Updated ``astroid`` to 2.5.3 * Add ``consider-using-min-max-builtin`` check for if statement which could be replaced by Python builtin min or max * Don't auto-enable postponed evaluation of type annotations with Python 3.10 * Update ``astroid`` to 2.5.4 * Add new extension ``TypingChecker``. This optional checker can detect the use of deprecated typing aliases and can suggest the use of the alternative union syntax where possible. (For example, 'typing.Dict' can be replaced by 'dict', and 'typing.Unions' by '|', etc.) Make sure to check the config options if you plan on using it! * Reactivates old counts in report mode. * During detection of ``inconsistent-return-statements`` consider that ``assert False`` is a return node. * Run will not fail if score exactly equals ``config. fail_under``. * Functions that never returns may declare ``NoReturn`` as type hints, so that ``inconsistent-return-statements`` is not emitted. * Improved protected access checks to allow access inside class methods * Fix issue with PEP 585 syntax and the use of ``collections. abc. Set`` * Fix issue that caused class variables annotated with ``typing. ClassVar`` to be identified as class constants. Now, class variables nnotated with ``typing.Final`` are identified as such. * Continuous integration with read the doc has been added. * Don't show ``DuplicateBasesError`` for attribute access * Fix crash when checking ``setup.cfg`` for pylint config when there are non-ascii characters in there * Allow code flanked in backticks to be skipped by spellchecker * Allow Python tool directives (for black, flake8, zimports, isort, mypy, bandit, pycharm) at beginning of comments to be skipped by spellchecker * Fix issue that caused emacs pylint to fail when used with tramp * Improve check for invalid PEP 585 syntax inside functions if postponed evaluation of type annotations is enabled * Improve check for invalid PEP 585 syntax as default function arguments - Release 2.7.4 * Fix a problem with disabled msgid not being ignored * Fix issue with annotated class constants - Release 2.7.3 * Introduce logic for checking deprecated attributes in DeprecationMixin. * Reduce usage of blacklist/whitelist terminology. Notably, ``extension-pkg-allow-list`` is an alternative to ``extension-pkg-whitelist`` and the message ``blacklisted-name`` is now emitted as ``disallowed-name``. The previous names are accepted to maintain backward compatibility. * Move deprecated checker to ``DeprecatedMixin`` * Bump ``astroid`` version to ``2.5.2`` * Fix false positive for ``method-hidden`` when using private attribute and method * ``use-symbolic-message-instead`` now also works on legacy messages like ``C0111`` (``missing-docstring``). * Remove unwanted print to stdout from ``_emit_no_member`` * Introduce a command-line option to specify pyreverse output directory * Fix issue with Enums and ``class-attribute-naming-style=snake_case`` * Add ``allowed-redefined-builtins`` option for fine tuning ``redefined-builtin`` check. * Fix issue when executing with ``python -m pylint`` * Exempt ``typing.TypedDict`` from ``too-few-public-methods`` check. * Fix false-positive ``no-member`` for typed annotations without default value. * Add ``--class-const-naming-style`` for Enum constants and class variables annotated with ``typing.ClassVar`` * Fix astroid.Inference error for undefined-variables with ``len()``` * Fix column index on FIXME warning messages * Improve handling of assignment expressions, better edge case handling * Improve check if class is subscriptable PEP585 * Fix documentation and filename handling of --import-graph * Fix false-positive for ``unused-import`` on class keyword arguments * Fix regression with plugins on PYTHONPATH if latter is cwd - Add pylint-pr4450-import-init.patch gh#PyCQA/pylint#4450 fix broken tests OBS-URL: https://build.opensuse.org/request/show/891349 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=122
2021-05-07 21:05:34 +00:00
# The test suite tampers with the PYTHONPATH, e.g. upstreams fix for
# https://github.com/PyCQA/pylint/issues/3636
# so make sure that the macro set PYTHONPATH does not result in conflicting imports
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
mv pylint pylint.tmp
Accepting request 891349 from home:bnavigator:branches:devel:languages:python ----------------------------------------------------------------- - Update to 2.8.2 * Keep ``__pkginfo__.numversion`` a tuple to avoid breaking pylint-django. * scm_setuptools has been added to the packaging. * Pylint's tags are now the standard form ``vX.Y.Z`` and not ``pylint-X.Y.Z`` anymore. * New warning message ``deprecated-class``. This message is emitted if import or call deprecated class of the standard library (like ``collections.Iterable`` that will be removed Python 3.10). * Add numversion back (temporarily) in __pkginfo__ because it broke Pylama and revert the unnecessary pylint.version beaking change. - Release 2.8.0 * New refactoring message ``consider-using-with``. This message is emitted if resource-allocating functions or methods of the standard library (like ``open()`` or ``threading.Lock.acquire() ``) that can be used as a context manager are called without a ``with`` block. * Resolve false positives on unused variables in decorator functions * Add new extension ``ConfusingConsecutiveElifChecker``. This optional checker emits a refactoring message (R5601 ``confusing-consecutive-elif``) if if/elif statements with different indentation levels follow directly one after the other. * New option ``--output=<file>`` to output result to a file rather than printing to stdout. * Use a prescriptive message for ``unidiomatic-typecheck`` * Apply ``const-naming-style`` to module constants annotated with ``typing.Final`` * The packaging is now done via setuptools exclusively. ``doc``, ``tests``, ``man``, ``elisp`` and ``Changelog`` are not packaged anymore - reducing the size of the package by 75%. * Debian packaging is now (officially) done in https://salsa. debian.org/python-team/packages/pylint. * The 'doc' extra-require has been removed. * ``__pkginfo__`` now only contain ``__version__`` (also accessible with ``pylint.__version__``), other meta-information are still accessible with ``from importlib import metadata;metadata. metadata('pylint')``. * COPYING has been renamed to LICENSE for standardization. * Fix false-positive ``used-before-assignment`` in function returns. * Updated ``astroid`` to 2.5.3 * Add ``consider-using-min-max-builtin`` check for if statement which could be replaced by Python builtin min or max * Don't auto-enable postponed evaluation of type annotations with Python 3.10 * Update ``astroid`` to 2.5.4 * Add new extension ``TypingChecker``. This optional checker can detect the use of deprecated typing aliases and can suggest the use of the alternative union syntax where possible. (For example, 'typing.Dict' can be replaced by 'dict', and 'typing.Unions' by '|', etc.) Make sure to check the config options if you plan on using it! * Reactivates old counts in report mode. * During detection of ``inconsistent-return-statements`` consider that ``assert False`` is a return node. * Run will not fail if score exactly equals ``config. fail_under``. * Functions that never returns may declare ``NoReturn`` as type hints, so that ``inconsistent-return-statements`` is not emitted. * Improved protected access checks to allow access inside class methods * Fix issue with PEP 585 syntax and the use of ``collections. abc. Set`` * Fix issue that caused class variables annotated with ``typing. ClassVar`` to be identified as class constants. Now, class variables nnotated with ``typing.Final`` are identified as such. * Continuous integration with read the doc has been added. * Don't show ``DuplicateBasesError`` for attribute access * Fix crash when checking ``setup.cfg`` for pylint config when there are non-ascii characters in there * Allow code flanked in backticks to be skipped by spellchecker * Allow Python tool directives (for black, flake8, zimports, isort, mypy, bandit, pycharm) at beginning of comments to be skipped by spellchecker * Fix issue that caused emacs pylint to fail when used with tramp * Improve check for invalid PEP 585 syntax inside functions if postponed evaluation of type annotations is enabled * Improve check for invalid PEP 585 syntax as default function arguments - Release 2.7.4 * Fix a problem with disabled msgid not being ignored * Fix issue with annotated class constants - Release 2.7.3 * Introduce logic for checking deprecated attributes in DeprecationMixin. * Reduce usage of blacklist/whitelist terminology. Notably, ``extension-pkg-allow-list`` is an alternative to ``extension-pkg-whitelist`` and the message ``blacklisted-name`` is now emitted as ``disallowed-name``. The previous names are accepted to maintain backward compatibility. * Move deprecated checker to ``DeprecatedMixin`` * Bump ``astroid`` version to ``2.5.2`` * Fix false positive for ``method-hidden`` when using private attribute and method * ``use-symbolic-message-instead`` now also works on legacy messages like ``C0111`` (``missing-docstring``). * Remove unwanted print to stdout from ``_emit_no_member`` * Introduce a command-line option to specify pyreverse output directory * Fix issue with Enums and ``class-attribute-naming-style=snake_case`` * Add ``allowed-redefined-builtins`` option for fine tuning ``redefined-builtin`` check. * Fix issue when executing with ``python -m pylint`` * Exempt ``typing.TypedDict`` from ``too-few-public-methods`` check. * Fix false-positive ``no-member`` for typed annotations without default value. * Add ``--class-const-naming-style`` for Enum constants and class variables annotated with ``typing.ClassVar`` * Fix astroid.Inference error for undefined-variables with ``len()``` * Fix column index on FIXME warning messages * Improve handling of assignment expressions, better edge case handling * Improve check if class is subscriptable PEP585 * Fix documentation and filename handling of --import-graph * Fix false-positive for ``unused-import`` on class keyword arguments * Fix regression with plugins on PYTHONPATH if latter is cwd - Add pylint-pr4450-import-init.patch gh#PyCQA/pylint#4450 fix broken tests OBS-URL: https://build.opensuse.org/request/show/891349 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=122
2021-05-07 21:05:34 +00:00
%pytest --benchmark-disable --ignore tests/test_epylint.py
# result of the mentioned tampering: other tests must not have pwd in PYTHONPATH, but test_epylint needs it
export PYTHONPATH=$PWD
%pytest --benchmark-disable tests/test_epylint.py
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
mv pylint.tmp pylint
%endif
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
%post
%python_install_alternative pylint epylint pyreverse symilar
%postun
%python_uninstall_alternative pylint
%files %{python_files}
Accepting request 891349 from home:bnavigator:branches:devel:languages:python ----------------------------------------------------------------- - Update to 2.8.2 * Keep ``__pkginfo__.numversion`` a tuple to avoid breaking pylint-django. * scm_setuptools has been added to the packaging. * Pylint's tags are now the standard form ``vX.Y.Z`` and not ``pylint-X.Y.Z`` anymore. * New warning message ``deprecated-class``. This message is emitted if import or call deprecated class of the standard library (like ``collections.Iterable`` that will be removed Python 3.10). * Add numversion back (temporarily) in __pkginfo__ because it broke Pylama and revert the unnecessary pylint.version beaking change. - Release 2.8.0 * New refactoring message ``consider-using-with``. This message is emitted if resource-allocating functions or methods of the standard library (like ``open()`` or ``threading.Lock.acquire() ``) that can be used as a context manager are called without a ``with`` block. * Resolve false positives on unused variables in decorator functions * Add new extension ``ConfusingConsecutiveElifChecker``. This optional checker emits a refactoring message (R5601 ``confusing-consecutive-elif``) if if/elif statements with different indentation levels follow directly one after the other. * New option ``--output=<file>`` to output result to a file rather than printing to stdout. * Use a prescriptive message for ``unidiomatic-typecheck`` * Apply ``const-naming-style`` to module constants annotated with ``typing.Final`` * The packaging is now done via setuptools exclusively. ``doc``, ``tests``, ``man``, ``elisp`` and ``Changelog`` are not packaged anymore - reducing the size of the package by 75%. * Debian packaging is now (officially) done in https://salsa. debian.org/python-team/packages/pylint. * The 'doc' extra-require has been removed. * ``__pkginfo__`` now only contain ``__version__`` (also accessible with ``pylint.__version__``), other meta-information are still accessible with ``from importlib import metadata;metadata. metadata('pylint')``. * COPYING has been renamed to LICENSE for standardization. * Fix false-positive ``used-before-assignment`` in function returns. * Updated ``astroid`` to 2.5.3 * Add ``consider-using-min-max-builtin`` check for if statement which could be replaced by Python builtin min or max * Don't auto-enable postponed evaluation of type annotations with Python 3.10 * Update ``astroid`` to 2.5.4 * Add new extension ``TypingChecker``. This optional checker can detect the use of deprecated typing aliases and can suggest the use of the alternative union syntax where possible. (For example, 'typing.Dict' can be replaced by 'dict', and 'typing.Unions' by '|', etc.) Make sure to check the config options if you plan on using it! * Reactivates old counts in report mode. * During detection of ``inconsistent-return-statements`` consider that ``assert False`` is a return node. * Run will not fail if score exactly equals ``config. fail_under``. * Functions that never returns may declare ``NoReturn`` as type hints, so that ``inconsistent-return-statements`` is not emitted. * Improved protected access checks to allow access inside class methods * Fix issue with PEP 585 syntax and the use of ``collections. abc. Set`` * Fix issue that caused class variables annotated with ``typing. ClassVar`` to be identified as class constants. Now, class variables nnotated with ``typing.Final`` are identified as such. * Continuous integration with read the doc has been added. * Don't show ``DuplicateBasesError`` for attribute access * Fix crash when checking ``setup.cfg`` for pylint config when there are non-ascii characters in there * Allow code flanked in backticks to be skipped by spellchecker * Allow Python tool directives (for black, flake8, zimports, isort, mypy, bandit, pycharm) at beginning of comments to be skipped by spellchecker * Fix issue that caused emacs pylint to fail when used with tramp * Improve check for invalid PEP 585 syntax inside functions if postponed evaluation of type annotations is enabled * Improve check for invalid PEP 585 syntax as default function arguments - Release 2.7.4 * Fix a problem with disabled msgid not being ignored * Fix issue with annotated class constants - Release 2.7.3 * Introduce logic for checking deprecated attributes in DeprecationMixin. * Reduce usage of blacklist/whitelist terminology. Notably, ``extension-pkg-allow-list`` is an alternative to ``extension-pkg-whitelist`` and the message ``blacklisted-name`` is now emitted as ``disallowed-name``. The previous names are accepted to maintain backward compatibility. * Move deprecated checker to ``DeprecatedMixin`` * Bump ``astroid`` version to ``2.5.2`` * Fix false positive for ``method-hidden`` when using private attribute and method * ``use-symbolic-message-instead`` now also works on legacy messages like ``C0111`` (``missing-docstring``). * Remove unwanted print to stdout from ``_emit_no_member`` * Introduce a command-line option to specify pyreverse output directory * Fix issue with Enums and ``class-attribute-naming-style=snake_case`` * Add ``allowed-redefined-builtins`` option for fine tuning ``redefined-builtin`` check. * Fix issue when executing with ``python -m pylint`` * Exempt ``typing.TypedDict`` from ``too-few-public-methods`` check. * Fix false-positive ``no-member`` for typed annotations without default value. * Add ``--class-const-naming-style`` for Enum constants and class variables annotated with ``typing.ClassVar`` * Fix astroid.Inference error for undefined-variables with ``len()``` * Fix column index on FIXME warning messages * Improve handling of assignment expressions, better edge case handling * Improve check if class is subscriptable PEP585 * Fix documentation and filename handling of --import-graph * Fix false-positive for ``unused-import`` on class keyword arguments * Fix regression with plugins on PYTHONPATH if latter is cwd - Add pylint-pr4450-import-init.patch gh#PyCQA/pylint#4450 fix broken tests OBS-URL: https://build.opensuse.org/request/show/891349 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=122
2021-05-07 21:05:34 +00:00
%license LICENSE
%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