From c205dc705db32df36f85ab81fa5322df2a0f980b10954d2af06cbc1b34cda821 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Sat, 11 Dec 2021 23:52:16 +0000 Subject: [PATCH] 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 --- pylint-2.11.1-gh.tar.gz | 3 - pylint-2.12.2-gh.tar.gz | 3 + python-pylint.changes | 221 +++++++++++++++++++++++++++++++++++++++- python-pylint.spec | 15 +-- 4 files changed, 232 insertions(+), 10 deletions(-) delete mode 100644 pylint-2.11.1-gh.tar.gz create mode 100644 pylint-2.12.2-gh.tar.gz diff --git a/pylint-2.11.1-gh.tar.gz b/pylint-2.11.1-gh.tar.gz deleted file mode 100644 index eafe162..0000000 --- a/pylint-2.11.1-gh.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b797b4906068c616db2aaf364e56506d42b130474e98a16a0e2b9eb72fa0b1b7 -size 967223 diff --git a/pylint-2.12.2-gh.tar.gz b/pylint-2.12.2-gh.tar.gz new file mode 100644 index 0000000..f8273d5 --- /dev/null +++ b/pylint-2.12.2-gh.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:411308682f3d4578bb769e7fa549c8f34edf1033871d2e8cd5c3ce16a5741c59 +size 1032702 diff --git a/python-pylint.changes b/python-pylint.changes index 790ffaa..c0b4861 100644 --- a/python-pylint.changes +++ b/python-pylint.changes @@ -1,8 +1,227 @@ +------------------------------------------------------------------- +Sat Dec 11 14:54:24 UTC 2021 - Ben Greiner + +- 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 - Dropped pylint-pr4816-astroid27.patch - + ------------------------------------------------------------------- Sun Oct 3 17:04:18 UTC 2021 - Ben Greiner diff --git a/python-pylint.spec b/python-pylint.spec index 1f034fe..6172620 100644 --- a/python-pylint.spec +++ b/python-pylint.spec @@ -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"