14
0
forked from pool/python-pylint

Accepting request 939910 from home:bnavigator:branches:devel:languages:python

Update and unpin

OBS-URL: https://build.opensuse.org/request/show/939910
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=128
This commit is contained in:
2021-12-11 23:52:16 +00:00
committed by Git OBS Bridge
parent 0e0f3b8099
commit c205dc705d
4 changed files with 232 additions and 10 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b797b4906068c616db2aaf364e56506d42b130474e98a16a0e2b9eb72fa0b1b7
size 967223

3
pylint-2.12.2-gh.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:411308682f3d4578bb769e7fa549c8f34edf1033871d2e8cd5c3ce16a5741c59
size 1032702

View File

@@ -1,8 +1,227 @@
-------------------------------------------------------------------
Sat Dec 11 14:54:24 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Update to version 2.12.2
* Fixed a false positive for ``unused-import`` where everything
was not analyzed properly inside typing guards.
* Fixed a false-positive regression for
``used-before-assignment`` for typed variables in the body of
class methods that reference the same class
* Specified that the ``ignore-paths`` option considers "\" to
represent a windows directory delimiter instead of a regular
expression escape character.
* Fixed a crash with the ``ignore-paths`` option when invoking
the option via the command line.
* Fixed handling of Sphinx-style parameter docstrings with
asterisks. These should be escaped with by prepending a "\".
* Add ``endLine`` and ``endColumn`` keys to output of
``JSONReporter``.
* Fixed handling of Google-style parameter specifications where
descriptions are on the line following the parameter name.
These were generating false positives for
``missing-param-doc``.
* Fix false negative for ``consider-iterating-dictionary`` during
membership checks encapsulated in iterables or ``not in``
checks
* ``unused-import`` now check all ancestors for typing guards
- Release notes for 2.12.1
* Require Python ``3.6.2`` to run pylint.
- Release notes for 2.12.0
* Upgrade astroid to 2.9.0
* Add ability to add ``end_line`` and ``end_column`` to the
``--msg-template`` option. With the standard ``TextReporter``
this will add the line and column number of the end of a node
to the output of Pylint. If these numbers are unknown, they are
represented by an empty string.
* Introduced primer tests and a configuration tests framework.
The helper classes available in ``pylint/testutil/`` are still
unstable and might be modified in the near future.
* Fix ``install graphiz`` message which isn't needed for puml
output format.
* ``MessageTest`` of the unittest ``testutil`` now requires the
``confidence`` attribute to match the expected value. If none
is provided it is set to ``UNDEFINED``.
* ``add_message`` of the unittest ``testutil`` now actually
handles the ``col_offset`` parameter and allows it to be
checked against actual output in a test.
* Fix a crash in the ``check_elif`` extensions where an
undetected if in a comprehension with an if statement within a
f-string resulted in an out of range error. The checker no
longer relies on counting if statements anymore and uses known
if statements locations instead. It should not crash on badly
parsed if statements anymore.
* Fix ``simplify-boolean-expression`` when condition can be
inferred as False.
* Fix exception when pyreverse parses ``property function`` of a
class.
* The functional ``testutils`` now accept ``end_lineno`` and
``end_column``. Expected output files without these will
trigger a ``DeprecationWarning``. Expected output files can be
easily updated with the ``python tests/test_functional.py
--update-functional-output`` command.
* The functional ``testutils`` now correctly check the
distinction betweeen ``HIGH`` and ``UNDEFINED`` confidence.
Expected output files without defiend ``confidence`` levels
will now trigger a ``DeprecationWarning``. Expected output
files can be easily updated with the ``python
tests/test_functional.py --update-functional-output`` command.
* The functional test runner now supports the option
``min_pyver_end_position`` to control on which python versions
the ``end_lineno`` and ``end_column`` attributes should be
checked. The default value is 3.8.
* Fix ``accept-no-yields-doc`` and ``accept-no-return-doc`` not
allowing missing ``yield`` or ``return`` documentation when a
docstring is partially correct
* Add an optional extension ``consider-using-any-or-all`` :
Emitted when a ``for`` loop only produces a boolean and could
be replaced by ``any`` or ``all`` using a generator. Also
suggests a suitable any or all statement.
* Properly identify parameters with no documentation and add new
message called ``missing-any-param-doc``
* Add checkers ``overridden-final-method`` &
``subclassed-final-class``
* Fixed ``protected-access`` for accessing of attributes and
methods of inner classes
* Added support for ``ModuleNotFoundError`` (``import-error`` and
``no-name-in-module``). ``ModuleNotFoundError`` inherits from
``ImportError`` and was added in Python ``3.6``
* ``undefined-variable`` now correctly flags variables which only
receive a type annotations and never get assigned a value
* ``undefined-variable`` now correctly considers the line
numbering and order of classes used in metaclass declarations
* ``used-before-assignment`` now correctly considers references
to classes as type annotation or default values in first-level
methods
* ``undefined-variable`` and ``unused-variable`` now correctly
trigger for assignment expressions in functions defaults
* ``undefined-variable`` now correctly triggers for assignment
expressions in if ... else statements This includes a basic
form of control flow inference for if ... else statements using
constant boolean values
* Added the ``--enable-all-extensions`` command line option. It
will load all available extensions which can be listed by
running ``--list-extensions``
* Fix bug with importing namespace packages with relative imports
* Improve and flatten ``unused-wildcard-import`` message
* In length checker, ``len-as-condition`` has been renamed as
``use-implicit-booleaness-not-len`` in order to be consistent
with ``use-implicit-booleaness-not-comparison``.
* Created new ``UnsupportedVersionChecker`` checker class that
includes checks for features not supported by all versions
indicated by a ``py-version``.
* Added ``using-f-string-in-unsupported-version`` checker. Issued
when ``py-version`` is set to a version that does not support
f-strings (< 3.6)
* Fix ``useless-super-delegation`` false positive when default
keyword argument is a variable.
* Properly emit ``duplicate-key`` when Enum members are duplicate
dictionary keys
* Use ``py-version`` setting for alternative union syntax check
(PEP 604), instead of the Python interpreter version.
* Subclasses of ``dict`` are regarded as reversible by the
``bad-reversed-sequence`` checker (Python 3.8 onwards).
* Support configuring mixin class pattern via ``mixin-class-rgx``
* Added new checker ``use-implicit-booleaness-not-comparison``:
Emitted when collection literal comparison is being used to
check for emptiness.
* ``mising-param-doc`` now correctly parses asterisks for
variable length and keyword parameters
* ``mising-param-doc`` now correctly handles Numpy parameter
documentation without explicit typing
* ``pylint`` no longer crashes when checking assignment
expressions within if-statements
* Update ``literal-comparison``` checker to ignore tuple literals
* Normalize the input to the ``ignore-paths`` option to allow
both Posix and Windows paths
* Fix double emitting of ``not-callable`` on inferrable
``properties``
* ``self-cls-assignment`` now also considers tuple assignment
* Fix ``missing-function-docstring`` not being able to check
``__init__`` and other magic methods even if the
``no-docstring-rgx`` setting was set to do so
* Added ``using-final-decorator-in-unsupported-version`` checker.
Issued when ``py-version`` is set to a version that does not
support ``typing.final`` (< 3.8)
* Added configuration option ``exclude-too-few-public-methods``
to allow excluding classes from the ``min-public-methods``
checker.
* The ``--jobs`` parameter now fallbacks to 1 if the host
operating system does not have functioning shared semaphore
implementation.
* Fix crash for ``unused-private-member`` when checking private
members on ``__class__``
* Crashes when a list is encountered in a toml configuration do
not happen anymore.
* Moved ``misplaced-comparison-constant`` to its own extension
``comparison_placement``. This checker was opinionated and now
no longer a default. It can be reactived by adding
``pylint.extensions.comparison_placement`` to ``load-plugins``
in your config.
* A new ``bad-configuration-section`` checker was added that will
emit for misplaced option in pylint's top level namespace for
toml configuration. Top-level dictionaries or option defined in
the wrong section will still silently not be taken into
account, which is tracked in a follow-up issue.
* Fix crash for ``protected-access`` on (outer) class traversal
* Added new checker ``useless-with-lock`` to find incorrect usage
of with statement and threading module locks. Emitted when
``with threading.Lock():`` is used instead of ``with
lock_instance:``.
* Make yn validator case insensitive, to allow for ``True`` and
``False`` in config files.
* Fix crash on ``open()`` calls when the ``mode`` argument is not
a simple string.
* Inheriting from a class that implements ``__class_getitem__``
no longer raises ``inherit-non-class``.
* Pyreverse - Add the project root directory to sys.path
* Don't emit ``consider-using-f-string`` if ``py-version`` is set
to Python < ``3.6``. ``f-strings`` were added in Python ``3.6``
* Fix regression for ``unspecified-encoding`` with
``pathlib.Path.read_text()``
* Don't emit ``consider-using-f-string`` if the variables to be
interpolated include a backslash
* Fixed false positive for ``cell-var-from-loop`` when variable
is used as the default value for a keyword-only parameter.
* Fix false-positive ``undefined-variable`` with ``Lambda``,
``IfExp``, and assignment expression.
* Fix false-positive ``useless-suppression`` for
``wrong-import-order``
* Fixed ``toml`` dependency issue
* Fix false-positive ``useless-suppression`` for
``line-too-long``
* Fixed ``invalid-name`` not checking parameters of overwritten
base ``object`` methods
* Fixed crash in ``consider-using-f-string`` if ``format`` is not
called
* Fix crash with ``AssignAttr`` in ``if TYPE_CHECKING`` blocks.
* Improve node information for ``invalid-name`` on function
argument.
* Prevent return type checkers being called on functions with
ellipses as body
* Add ``is_sys_guard`` and ``is_typing_guard`` helper functions
from astroid to ``pylint.checkers.utils``.
* Fix regression on ClassDef inference
* Fix regression on Compare node inference
* Fix false-positive
``isinstance-second-argument-not-valid-type`` with
``typing.Callable``.
* It is now recommended to do ``pylint`` development on
``Python`` 3.8 or higher. This allows using the latest ``ast``
parser.
* All standard jobs in the ``pylint`` CI now run on ``Python``
3.8 by default. We still support python 3.6 and 3.7 and run
tests for those interpreters.
* ``TypingChecker``
* Fix false-negative for ``deprecated-typing-alias`` and
``consider-using-alias`` with ``typing.Type`` +
``typing.Callable``.
- Unpin mccabe and astroid in sitelib metadata.
-------------------------------------------------------------------
Sat Oct 16 09:24:30 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Dropped pylint-pr4816-astroid27.patch
-------------------------------------------------------------------
Sun Oct 3 17:04:18 UTC 2021 - Ben Greiner <code@bnavigator.de>

View File

@@ -20,7 +20,7 @@
%bcond_without tests
%define skip_python2 1
Name: python-pylint
Version: 2.11.1
Version: 2.12.2
Release: 0
Summary: Syntax and style checker for Python code
License: GPL-2.0-or-later
@@ -31,24 +31,25 @@ Source: https://github.com/PyCQA/pylint/archive/refs/tags/v%{version}.ta
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-astroid >= 2.8
Requires: python-astroid >= 2.9
Requires: python-isort >= 4.2.5
Requires: python-mccabe >= 0.6
Requires: python-platformdirs >= 2.2
Requires: python-toml >= 0.7.1
Requires: python-toml >= 0.9.2
%if 0%{?python_version_nodots} < 310
Requires: python-typing-extensions >= 3.10
%endif
%if %{with tests}
BuildRequires: %{python_module astroid >= 2.8}
BuildRequires: %{python_module GitPython > 3}
BuildRequires: %{python_module astroid >= 2.9}
BuildRequires: %{python_module isort >= 4.2.5}
BuildRequires: %{python_module mccabe >= 0.6}
BuildRequires: %{python_module platformdirs >= 2.2}
BuildRequires: %{python_module pytest-benchmark}
BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module toml >= 0.7.1}
BuildRequires: %{python_module typing-extensions >= 3.10}
BuildRequires: %{python_module toml >= 0.9.2}
BuildRequires: %{python_module typing-extensions >= 3.10 if %python-base < 3.10}
%endif
Requires(post): update-alternatives
Requires(postun):update-alternatives
@@ -74,6 +75,8 @@ feature.
%prep
%autosetup -p1 -n pylint-%{version}
sed -i '1{/^#!/ d}' pylint/__main__.py
# unpin upper bounds for astroid and mccabe
sed -i -e 's/\(mccabe>=.*\),<.*/\1/' -e 's/\(astroid>=.*\),<.*/\1/' setup.cfg
%build
export LC_ALL="en_US.UTF-8"