Compare commits
19 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| dd16c66037 | |||
| 06e560f13f | |||
| df48d2b05d | |||
| 14cae5f678 | |||
| 7e614d86b1 | |||
| 6a7765efd1 | |||
| 4a150cd47a | |||
| 75c13e2f7b | |||
| 04e33226b0 | |||
| cec1b07cde | |||
| c7196b1adb | |||
| b3d8ed65d1 | |||
| 81b6729751 | |||
| 913c3fc320 | |||
| ca9a8b853f | |||
| a99e707c54 | |||
| 1edf41372d | |||
| 773708ceb9 | |||
| 9f96db4e7f |
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c4c13c6b77f6604367763f906e5df4e9f4c7fbfa6e8553f31493adfabfc73092
|
||||
size 1433040
|
||||
BIN
pylint-3.3.7-gh.tar.gz
LFS
Normal file
BIN
pylint-3.3.7-gh.tar.gz
LFS
Normal file
Binary file not shown.
@@ -1,3 +1,242 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 25 09:53:38 UTC 2025 - Markéta Machová <mmachova@suse.com>
|
||||
|
||||
- Convert to libalternatives on SLE-16-based and newer systems
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu May 15 08:56:07 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
||||
|
||||
- Update to 3.3.7
|
||||
* Comparisons between two calls to `type()` won't raise an
|
||||
``unidiomatic-typecheck`` warning anymore, consistent with
|
||||
the behavior applied only for ``==`` previously.
|
||||
* Fixed a crash when importing a class decorator that did not
|
||||
exist with the same name as a class attribute after the class
|
||||
definition.
|
||||
* Fix a crash caused by malformed format strings when using
|
||||
`.format` with keyword arguments.
|
||||
* Using a slice as a class decorator now raises a ``not-callable``
|
||||
message instead of crashing. A lot of checks that dealt with
|
||||
decorators (too many to list) are now shortcut if the decorator
|
||||
can't immediately be inferred to a function or class definition.
|
||||
* The algorithm used for ``no-member`` suggestions is now more
|
||||
efficient and cuts the calculation when the distance score is
|
||||
already above the threshold.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 8 03:29:21 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Update to 3.3.6:
|
||||
* Fix a false positive for used-before-assignment when an inner function's
|
||||
return type * annotation is a class defined at module scope.
|
||||
* Fix false positives for use-implicit-booleaness-not-comparison,
|
||||
use-implicit-booleaness-not-comparison-to-string and
|
||||
use-implicit-booleaness-not-comparison-to-zero when chained comparisons
|
||||
are checked.
|
||||
* Fix a false positive for invalid-getnewargs-ex-returned when the tuple or
|
||||
dict has been assigned to a name.
|
||||
* Remove getopt and optparse from the list of deprecated modules.
|
||||
* Fixed conditional import x.y causing false positive
|
||||
possibly-used-before-assignment.
|
||||
* Fix a crash when something besides a class is found in an except handler.
|
||||
* Fixed raising invalid-name when using camelCase for private methods with
|
||||
two leading underscores.
|
||||
* Fixes "skipped files" count calculation; the previous method was
|
||||
displaying an arbitrary number.
|
||||
* Fixes a crash that occurred when pylint was run in a container on a host
|
||||
with cgroupsv2 and restrictions on CPU usage.
|
||||
* Relaxed the requirements for isort so pylint can benefit from isort 6.
|
||||
* Fix false positives for undefined-variable for classes using Python 3.12
|
||||
generic type syntax.
|
||||
* Fix a false positive for use-implicit-booleaness-not-len. No lint should
|
||||
be emitted for generators (len is not defined for generators).
|
||||
* Fix Unable to import 'collections.abc' (import-error) on Python 3.13.1.
|
||||
* Fix a false positive for potential-index-error when an indexed iterable
|
||||
contains a starred element that evaluates to more than one item.
|
||||
* Fixes the issue with --source-root option not working when the source
|
||||
files are in a subdirectory of the source root (e.g. when using a /src
|
||||
layout).
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 26 09:24:16 UTC 2024 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Revert restriction to python3.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 25 11:52:49 UTC 2024 - ecsos <ecsos@opensuse.org>
|
||||
|
||||
- Fix build error under Leap.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 24 13:46:18 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 3.3.1:
|
||||
* Fix regression causing some f-strings to not be inferred as
|
||||
strings.
|
||||
- update to 3.3.0:
|
||||
* We migrated ``symilar`` to argparse, from getopt, so the
|
||||
error and help output changed (for the better).
|
||||
We exit with 2 instead of sometime 1, sometime 2.
|
||||
The error output is not captured by the runner anymore.
|
||||
It's not possible to use a value for the boolean options
|
||||
anymore (``--ignore-comments 1`` should become
|
||||
``--ignore-comments``).
|
||||
* Add new `declare-non-slot` error which reports when a class
|
||||
has a `__slots__` member and a type hint on the class is not
|
||||
present in `__slots__`.
|
||||
* Added `too-many-positional-arguments` to allow distinguishing
|
||||
the configuration for too many total arguments
|
||||
(with keyword-only params specified after `*`) from the
|
||||
configuration for too many positional-or-keyword or
|
||||
positional-only arguments.
|
||||
* Add `using-exception-group-in-unsupported-version` and
|
||||
`using-generic-type-syntax-in-unsupported-version` for uses
|
||||
of Python 3.11+ or 3.12+ features on lower supported versions
|
||||
provided with `--py-version`.
|
||||
* Add `using-assignment-expression-in-unsupported-version` for
|
||||
uses of `:=` (walrus operator) on Python versions below 3.8
|
||||
provided with `--py-version`.
|
||||
* Add `using-positional-only-args-in-unsupported-version` for
|
||||
uses of positional-only args on Python versions below 3.8
|
||||
provided with `--py-version`.
|
||||
* Add ``unnecessary-default-type-args`` to the ``typing``
|
||||
extension to detect the use of unnecessary default type args
|
||||
for ``typing.Generator`` and ``typing.AsyncGenerator``.
|
||||
* Fix computation of never-returning function: `Never` is
|
||||
handled in addition to `NoReturn`, and priority is given to
|
||||
the explicit `--never-returning-functions` option.
|
||||
* Fix a false negative for `await-outside-async` when await is
|
||||
inside Lambda.
|
||||
* Fix a false negative for ``duplicate-argument-name`` by
|
||||
including ``positional-only``, ``*args`` and ``**kwargs``
|
||||
arguments in the check.
|
||||
* Fix false negative for `multiple-statements` when multiple
|
||||
statements are present on `else` and `finally` lines of
|
||||
`try`.
|
||||
* Fix false negatives when `isinstance` does not have exactly
|
||||
two arguments.
|
||||
* pylint now emits a `too-many-function-args` or `no-value-for-
|
||||
parameter` appropriately for `isinstance` calls.
|
||||
* `--enable` with `--disable=all` now produces an error, when
|
||||
an unknown msg code is used. Internal `pylint` messages are
|
||||
no longer affected by `--disable=all`.
|
||||
* Impossible to compile regexes for paths in the configuration
|
||||
or argument given to pylint won't crash anymore but raise an
|
||||
argparse error and display the error message from
|
||||
``re.compile`` instead.
|
||||
* Fix a bug where a ``tox.ini`` file with pylint configuration
|
||||
was ignored and it exists in the current directory.
|
||||
* ``.cfg`` and ``.ini`` files containing a ``Pylint``
|
||||
configuration may now use a section named ``[pylint]``. This
|
||||
enhancement impacts the scenario where these file types are
|
||||
used as defaults when they are present and have not been
|
||||
explicitly referred to, using the ``--rcfile`` option.
|
||||
* Improve file discovery for directories that are not python
|
||||
packages.
|
||||
* Remove support for launching pylint with Python 3.8.
|
||||
* Code that supports Python 3.8 can still be linted with the
|
||||
``--py-version=3.8`` setting.
|
||||
* Add support for Python 3.13.
|
||||
* All variables, classes, functions and file names containing
|
||||
the word 'similar', when it was, in fact, referring to
|
||||
'symilar' (the standalone program for the duplicate-code
|
||||
check) were renamed to 'symilar'.
|
||||
* Remove old-style classes (Python 2) code and remove check for
|
||||
new-style class since everything is new-style in Python 3.
|
||||
Updated doc for exception checker to remove reference to new
|
||||
style class.
|
||||
- update to 3.2.7:
|
||||
* Fixed a false positive `unreachable` for `NoReturn` coroutine
|
||||
functions.
|
||||
* Fix crash in refactoring checker when calling a lambda bound
|
||||
as a method.
|
||||
* Fix a crash in ``undefined-loop-variable`` when providing the
|
||||
``iterable`` argument to ``enumerate()``.
|
||||
* Fix to address indeterminacy of error message in case a
|
||||
module name is same as another in a separate namespace.
|
||||
- drop support-astroid-3.3.patch pytest-8.patch: upstream
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 12 06:12:36 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Update to 3.2.6:
|
||||
* Quiet false positives for unexpected-keyword-arg when pylint cannot
|
||||
determine which of two or more dynamically defined classes is being
|
||||
instantiated.
|
||||
* Fix a false positive for missing-param-doc where a method which is
|
||||
decorated with typing.overload was expected to have a docstring
|
||||
specifying its parameters.
|
||||
* Fix a regression that raised invalid-name on class attributes merely
|
||||
overriding invalid names from an ancestor.
|
||||
* Treat assert_never() the same way when imported from typing_extensions.
|
||||
* Fix a false positive for consider-using-min-max-builtin when the
|
||||
assignment target is an attribute.
|
||||
* Fix an AssertionError arising from properties that return partial
|
||||
functions.
|
||||
* Fix a crash when a subclass extends __slots__.
|
||||
- Refresh pytest-8.patch.
|
||||
- Add patch support-astroid-3.3.patch:
|
||||
* Support astroid >= 3.3.0.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 9 11:59:18 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
|
||||
|
||||
- Add new patch to fix failing tests with pytest 8, pytest-8.patch
|
||||
gh#pylint-dev/pylint#9576
|
||||
- Skip some tests that still are failing with pytest 8,
|
||||
gh#pylint-dev/pylint#9545
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jun 30 22:05:58 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 3.2.5:
|
||||
* Fixed a false positive ``unreachable-code`` when using
|
||||
``typing.Any`` as return type in python 3.8, the
|
||||
``typing.NoReturn`` are not taken into account
|
||||
anymore for python 3.8 however.
|
||||
* Prevent emitting ``possibly-used-before-assignment`` when
|
||||
relying on names only potentially not defined in conditional
|
||||
blocks guarded by functions annotated with ``typing.Never``
|
||||
or ``typing.NoReturn``.
|
||||
- update to 3.2.3:
|
||||
* Classes with only an Ellipsis (``...``) in their body do not
|
||||
trigger 'multiple-statements' anymore if they are inlined
|
||||
* Fix a false positive for ``redefined-outer-name`` when there
|
||||
is a name defined in an exception-handling block which shares
|
||||
the same name as a local variable that has been defined in a
|
||||
function body.
|
||||
* Fix a false positive for ``use-yield-from`` when using the
|
||||
return value from the ``yield`` atom.
|
||||
- update to 3.2.2:
|
||||
* Fix multiple false positives for generic class syntax added
|
||||
in Python 3.12 (PEP 695).
|
||||
* Exclude context manager without cleanup from
|
||||
``contextmanager-generator-missing-cleanup`` checks.
|
||||
- update to 3.2.1:
|
||||
* Exclude if/else branches containing terminating functions
|
||||
(e.g. `sys.exit()`) from `possibly-used-before-assignment`
|
||||
checks.
|
||||
* Don't emit ``typevar-name-incorrect-variance`` warnings for
|
||||
PEP 695 style TypeVars.
|
||||
* The variance is inferred automatically by the type checker.
|
||||
* Adding ``_co`` or ``_contra`` suffix can help to reason about
|
||||
TypeVar.
|
||||
- update to 3.2.0:
|
||||
* Understand `six.PY2` and `six.PY3` for conditional imports.
|
||||
* Github can use to automatically annotate code. Use it with
|
||||
`pylint --output-format=github` on your Github Workflows.
|
||||
* Add check ``possibly-used-before-assignment`` when relying on
|
||||
names after an ``if/else`` switch when one branch failed to
|
||||
define the name, raise, or return.
|
||||
* Checks for generators that use contextmanagers that don't
|
||||
handle cleanup properly.
|
||||
* Is meant to raise visibilty on the case that a generator is
|
||||
not fully exhausted and the contextmanager is not cleaned up
|
||||
properly.
|
||||
* A contextmanager must yield a non-constant value and not
|
||||
handle cleanup for GeneratorExit.
|
||||
* The using generator must attempt to use the yielded context
|
||||
value `with x() as y` and not just `with x()`.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 22 20:01:42 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
@@ -2533,4 +2772,3 @@ Sun Jul 17 15:17:57 CEST 2005 - garloff@suse.de
|
||||
|
||||
- Initial creation of package pylint-0.7.0.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package python-pylint
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC and contributors
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -16,43 +16,51 @@
|
||||
#
|
||||
|
||||
|
||||
%{?sle15_python_module_pythons}
|
||||
%bcond_without tests
|
||||
%if 0%{?suse_version} > 1500
|
||||
%bcond_without libalternatives
|
||||
%else
|
||||
%bcond_with libalternatives
|
||||
%endif
|
||||
%{?sle15_python_module_pythons}
|
||||
Name: python-pylint
|
||||
Version: 3.1.0
|
||||
Version: 3.3.7
|
||||
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
|
||||
URL: https://github.com/pylint-dev/pylint
|
||||
# Tests are no longer packaged in the PyPI sdist, use GitHub archive
|
||||
Source: https://github.com/PyCQA/pylint/archive/refs/tags/v%{version}.tar.gz#/pylint-%{version}-gh.tar.gz
|
||||
Source: https://github.com/pylint-dev/pylint/archive/refs/tags/v%{version}.tar.gz#/pylint-%{version}-gh.tar.gz
|
||||
BuildRequires: %{python_module base >= 3.7.2}
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: %{python_module wheel}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
Requires: python-dill >= 0.3.6
|
||||
Requires: python-dill >= 0.3.7
|
||||
Requires: python-platformdirs >= 2.2
|
||||
Requires: python-tomlkit >= 0.10.1
|
||||
Requires: (python-astroid >= 3.1.0 with python-astroid < 3.2.0~dev0)
|
||||
Requires: (python-isort >= 4.2.5 with python-isort < 6)
|
||||
Requires: (python-astroid >= 3.3.8 with python-astroid < 4.0.0~dev0)
|
||||
Requires: (python-isort >= 4.2.5 with python-isort < 7)
|
||||
Requires: (python-mccabe >= 0.6 with python-mccabe < 0.8)
|
||||
BuildArch: noarch
|
||||
%if 0%{?python_version_nodots} < 311
|
||||
Requires: python-tomli >= 1.1.0
|
||||
%endif
|
||||
Requires: python-typing-extensions >= 4.9
|
||||
%if 0%{?python_version_nodots} < 310
|
||||
Requires: python-typing-extensions >= 3.10
|
||||
%endif
|
||||
%if %{with tests}
|
||||
# SECTION pylint deps
|
||||
BuildRequires: %{python_module astroid >= 3.1.0 with %python-astroid < 3.2.0~dev0}
|
||||
BuildRequires: %{python_module dill >= 0.3.6}
|
||||
BuildRequires: %{python_module isort >= 4.2.5 with %python-isort < 6}
|
||||
BuildRequires: %{python_module astroid >= 3.3.8 with %python-astroid < 4.0.0~dev0}
|
||||
BuildRequires: %{python_module dill >= 0.3.7}
|
||||
BuildRequires: %{python_module enchant}
|
||||
BuildRequires: %{python_module isort >= 4.2.5 with %python-isort < 7}
|
||||
BuildRequires: %{python_module mccabe >= 0.6 with %python-mccabe < 0.8}
|
||||
BuildRequires: %{python_module platformdirs >= 2.2}
|
||||
BuildRequires: %{python_module tomli >= 1.1.0 if %python-base < 3.11}
|
||||
BuildRequires: %{python_module tomlkit >= 0.10.1}
|
||||
BuildRequires: %{python_module typing-extensions >= 4.9}
|
||||
BuildRequires: %{python_module typing-extensions >= 3.10 if %python-base < 3.10}
|
||||
# /SECTION
|
||||
# SECTION test deps
|
||||
BuildRequires: %{python_module GitPython > 3}
|
||||
@@ -63,9 +71,13 @@ BuildRequires: %{python_module pytest}
|
||||
BuildRequires: %{python_module requests}
|
||||
# /SECTION
|
||||
%endif
|
||||
%if %{with libalternatives}
|
||||
BuildRequires: alts
|
||||
Requires: alts
|
||||
%else
|
||||
Requires(post): update-alternatives
|
||||
Requires(postun): update-alternatives
|
||||
BuildArch: noarch
|
||||
%endif
|
||||
%python_subpackages
|
||||
|
||||
%description
|
||||
@@ -98,15 +110,26 @@ export LC_ALL="en_US.UTF-8"
|
||||
for p in pylint pyreverse symilar pylint-config ; do
|
||||
%python_clone -a %{buildroot}%{_bindir}/$p
|
||||
done
|
||||
%python_group_libalternatives pylint pyreverse symilar pylint-config
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
|
||||
%if %{with tests}
|
||||
%check
|
||||
export LC_ALL="en_US.UTF-8"
|
||||
# reruns: tests/pyreverse is incredibly non-deterministic in failures
|
||||
%pytest -n auto --ignore tests/benchmark --reruns 5 -rsfER -k "not test_linter_with_unpickleable_plugins_is_pickleable"
|
||||
donttest="test_linter_with_unpickleable_plugins_is_pickleable"
|
||||
# Fails with pytest-8 gh#pylint-dev/pylint#9545
|
||||
donttest+=" or recursion_error_3159"
|
||||
# Fails with python 3.12
|
||||
donttest+=" or test_functional_relation_extraction"
|
||||
# Broken upstream
|
||||
donttest+=" or test_functional"
|
||||
%pytest -n auto --ignore tests/benchmark --reruns 5 -rsfER -k "not ($donttest)"
|
||||
%endif
|
||||
|
||||
%pre
|
||||
%python_libalternatives_reset_alternative pylint
|
||||
|
||||
%post
|
||||
%python_install_alternative pylint pyreverse symilar pylint-config
|
||||
|
||||
@@ -122,6 +145,6 @@ export LC_ALL="en_US.UTF-8"
|
||||
%python_alternative %{_bindir}/pyreverse
|
||||
%python_alternative %{_bindir}/symilar
|
||||
%{python_sitelib}/pylint/
|
||||
%{python_sitelib}/pylint-%{version}*-info
|
||||
%{python_sitelib}/pylint-%{version}.dist-info
|
||||
|
||||
%changelog
|
||||
|
||||
Reference in New Issue
Block a user