- 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.
OBS-URL: https://build.opensuse.org/request/show/1277663
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=171
- 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).
OBS-URL: https://build.opensuse.org/request/show/1267802
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pylint?expand=0&rev=46
* 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).
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=169
* 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``
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=163
- 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.
OBS-URL: https://build.opensuse.org/request/show/1193321
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pylint?expand=0&rev=43
* 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.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=161
- 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
- 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()`.
OBS-URL: https://build.opensuse.org/request/show/1186384
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pylint?expand=0&rev=42
* 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.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=158
- update to 3.1.0:
* Two new checks--``use-yield-from``, ``deprecated-
attribute``-- and a smattering of bug fixes.
* Skip ``consider-using-join`` check for non-empty separators
if an ``suggest-join-with-non-empty-separator`` option is set
to ``no``.
* Discover ``.pyi`` files when linting.
* Check ``TypeAlias`` and ``TypeVar`` (PEP 695) nodes for
``invalid-name``.
* Support for resolving external toml files named pylintrc.toml
and .pylintrc.toml.
* Check for `.clear`, `.discard`, `.pop` and `remove` methods
being called on a set while it is being iterated over.
* New message `use-yield-from` added to the refactoring
checker. This message is emitted when yielding from a loop
can be replaced by `yield from`.
* Added a ``deprecated-attribute`` message to check deprecated
attributes in the stdlib.
* Exempt ``TypedDict`` from ``typing_extensions`` from ``too-
many-ancestor`` checks.
* Extend broad-exception-raised and broad-exception-caught to
except*.
* Fix a false-negative for unnecessary if blocks using a
different than expected ordering of arguments.
* For "import X", it will report "(standard/third party/first
party/local) import X"
* For "import X.Y" and "from X import Y", it will report
"(standard/third party/first party/local) import X.Y"
* The import category is specified to provide explanation as to
why pylint has issued the message and guidence to the
OBS-URL: https://build.opensuse.org/request/show/1160816
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pylint?expand=0&rev=41
* Two new checks--``use-yield-from``, ``deprecated-
attribute``-- and a smattering of bug fixes.
* Skip ``consider-using-join`` check for non-empty separators
if an ``suggest-join-with-non-empty-separator`` option is set
to ``no``.
* Discover ``.pyi`` files when linting.
* Check ``TypeAlias`` and ``TypeVar`` (PEP 695) nodes for
``invalid-name``.
* Support for resolving external toml files named pylintrc.toml
and .pylintrc.toml.
* Check for `.clear`, `.discard`, `.pop` and `remove` methods
being called on a set while it is being iterated over.
* New message `use-yield-from` added to the refactoring
checker. This message is emitted when yielding from a loop
can be replaced by `yield from`.
* Added a ``deprecated-attribute`` message to check deprecated
attributes in the stdlib.
* Exempt ``TypedDict`` from ``typing_extensions`` from ``too-
many-ancestor`` checks.
* Extend broad-exception-raised and broad-exception-caught to
except*.
* Fix a false-negative for unnecessary if blocks using a
different than expected ordering of arguments.
* For "import X", it will report "(standard/third party/first
party/local) import X"
* For "import X.Y" and "from X import Y", it will report
"(standard/third party/first party/local) import X.Y"
* The import category is specified to provide explanation as to
why pylint has issued the message and guidence to the
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=156
- update to 3.0.3:
* Fixed false positive for ``unnecessary-lambda`` when the call
has keyword arguments but not the lambda.
* Fixed incorrect suggestion for shallow copy in unnecessary-
comprehension
* After changing b = [x for x in a] to b = a based on the
suggestion, the script now prints [0, 2, 3]. The correct
suggestion should be use list(a) to preserve the original
behavior.
* Fix false positives for ``undefined-variable`` and ``unused-
argument`` for classes and functions using Python 3.12 generic
type syntax.
* Fixed ``pointless-string-statement`` false positive for
docstrings on Python 3.12 type aliases.
* Fix false positive for ``invalid-exception-operation`` when
concatenating tuples of exception types.
* Fix a bug where pylint was unable to walk recursively through
a directory if the directory has an `__init__.py` file.
OBS-URL: https://build.opensuse.org/request/show/1133805
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pylint?expand=0&rev=40
* Fixed false positive for ``unnecessary-lambda`` when the call
has keyword arguments but not the lambda.
* Fixed incorrect suggestion for shallow copy in unnecessary-
comprehension
* After changing b = [x for x in a] to b = a based on the
suggestion, the script now prints [0, 2, 3]. The correct
suggestion should be use list(a) to preserve the original
behavior.
* Fix false positives for ``undefined-variable`` and ``unused-
argument`` for classes and functions using Python 3.12 generic
type syntax.
* Fixed ``pointless-string-statement`` false positive for
docstrings on Python 3.12 type aliases.
* Fix false positive for ``invalid-exception-operation`` when
concatenating tuples of exception types.
* Fix a bug where pylint was unable to walk recursively through
a directory if the directory has an `__init__.py` file.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=154
- update to 3.0.2:
* Fix ``used-before-assignment`` false positive for generic
type syntax (PEP 695, Python 3.12).
* Escape special symbols and newlines in messages.
* Fixes suggestion for ``nested-min-max`` for expressions with
additive operators, list and dict comprehensions.
* Fixes ignoring conditional imports with ``ignore-imports=y``.
* Emit ``inconsistent-quotes`` for f-strings with 3.12
interpreter only if targeting pre-3.12 versions.
names:
* Fix false positive for undefined-loop-variable in for-else loops that
- Unpin mccabe and astroid in sitelib metadata.
* ``unspecified-encoding`` now checks the encoding of
``pathlib.Path()`` correctly
* The python3 porting mode checker and it's ``py3k`` option were
removed. You can still find it in older pylints versions.
* ``raising-bad-type`` is now properly emitted when raising a
``use-set-for-membership`` check: Emitted when using an
in-place defined ``list`` or ``tuple`` to do a membership
* ``CodeStyleChecker``
flow (e. g. if-else clause).
* Fix false positive for ``protected-access`` if a protected
* Fix false positive ``dict-iter-missing-items`` for dictionaries
* The ``unspecified-encoding`` checker now also checks calls to
* Fix false positive ``superfluous-parens`` for tuples created
* Fix false positive ``unused-private-member`` for accessing
* Fix false positive ``unused-private-member`` for private
* Extended ``consider-using-in`` check to work for attribute
* Setting ``min-similarity-lines`` to 0 now makes the similarty
OBS-URL: https://build.opensuse.org/request/show/1129239
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pylint?expand=0&rev=39
* Fix ``used-before-assignment`` false positive for generic
type syntax (PEP 695, Python 3.12).
* Escape special symbols and newlines in messages.
* Fixes suggestion for ``nested-min-max`` for expressions with
additive operators, list and dict comprehensions.
* Fixes ignoring conditional imports with ``ignore-imports=y``.
* Emit ``inconsistent-quotes`` for f-strings with 3.12
interpreter only if targeting pre-3.12 versions.
names:
* Fix false positive for undefined-loop-variable in for-else loops that
- Unpin mccabe and astroid in sitelib metadata.
* ``unspecified-encoding`` now checks the encoding of
``pathlib.Path()`` correctly
* The python3 porting mode checker and it's ``py3k`` option were
removed. You can still find it in older pylints versions.
* ``raising-bad-type`` is now properly emitted when raising a
``use-set-for-membership`` check: Emitted when using an
in-place defined ``list`` or ``tuple`` to do a membership
* ``CodeStyleChecker``
flow (e. g. if-else clause).
* Fix false positive for ``protected-access`` if a protected
* Fix false positive ``dict-iter-missing-items`` for dictionaries
* The ``unspecified-encoding`` checker now also checks calls to
* Fix false positive ``superfluous-parens`` for tuples created
* Fix false positive ``unused-private-member`` for accessing
* Fix false positive ``unused-private-member`` for private
* Extended ``consider-using-in`` check to work for attribute
* Setting ``min-similarity-lines`` to 0 now makes the similarty
* Fix a bug where pylint complained if the cache's parent
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=152
- Update to 3.0.1:
* False Positives Fixed
- Fixed false positive for inherit-non-class for generic Protocols.
Closes#9106
* Other Changes
- Fix a crash when an enum class which is also decorated with a dataclasses.dataclass decorator is defined.
Closes#9100
- Update to 3.0.0:
- Pylint now support python 3.12 officially.
- The required astroid version is now 3.0.0
For all chaanges see:
https://github.com/pylint-dev/pylint/releases/tag/v3.0.0
- Changes from 2.17.7
2.17.7 is the last release before we only support pylint 3.0.0 or superior and python 3.8 or superior.
* False Positives Fixed
- Fix a regression in pylint 2.17.6 / astroid 2.15.7 causing various
messages for code involving TypeVar.
Closes#9069
* Other Bug Fixes
- Fix crash in refactoring checker when unary operand used with variable in for
loop.
Closes#9074
- Changes from 2.17.6
* Other Bug Fixes
- When parsing comma-separated lists of regular expressions in the config,
ignore commas that are inside braces since those indicate quantifiers, not
delineation between expressions.
Closes#7229
- sys.argv is now always correctly considered as impossible to infer
(instead of using the actual values given to pylint).
Closes#9047
- Don't show class fields more than once in Pyreverse diagrams.
Closes#8189
- Don't show arrows more than once in Pyreverse diagrams.
Closes#8522
- Don't show duplicate type annotations in Pyreverse diagrams.
Closes#8888
- Don't add Optional to | annotations with None in Pyreverse diagrams.
Closes#9014
- Changes from 2.17.5
* False Positives Fixed
- Fix a false positive for unused-variable when there is an import in a
if TYPE_CHECKING: block and allow-global-unused-variables is set to
no in the configuration.
Closes#8696
- Fix false positives generated when supplying arguments as **kwargs to IO
calls like open().
Closes#8719
- Fix a false positive where pylint was ignoring method calls annotated as
NoReturn during the inconsistent-return-statements check.
Closes#8747
- Exempt parents with only type annotations from the invalid-enum-extension
message.
Closes#8830
* Other Bug Fixes
- Fixed crash when a call to super() was placed after an operator (e.g.
not).
Closes#8554
- Fix crash for modified-while-iterating checker when deleting
members of a dict returned from a call.
Closes#8598
- Fix crash in invalid-metaclass check when a metaclass had duplicate
bases.
Closes#8698
- Avoid consider-using-f-string on modulos with brackets in template.
Closes#8720.
- Fix a crash when __all__ exists but cannot be inferred.
Closes#8740
- Fix crash when a variable is assigned to a class attribute of identical name.
Closes#8754
- Fixed a crash when calling copy.copy() without arguments.
Closes#8774
* Other Changes
- Fix a crash when a nonlocal is defined at module-level.
Closes#8735
OBS-URL: https://build.opensuse.org/request/show/1119232
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=150
* Fix a false positive for ``bad-dunder-name`` when there is a
user-defined ``__index__`` method.
* ``pyreverse``: added escaping of vertical bar character in
annotation labels
* produced by DOT printer to ensure it is not treated as field
separator of record-based nodes.
* Fixed a crash when generating a configuration file:
* ``tomlkit.exceptions.TOMLKitError: Can't add a table to a
dotted key`` caused by tomlkit ``v0.11.8``.
- update to 2.17.3:
* Fix `unused-argument` false positive when `__new__` does not
use all the arguments of `__init__`.
* Fix ``unused-import`` false positive for usage of
``six.with_metaclass``.
* `logging-not-lazy` is not longer emitted for explicitly
concatenated string arguments.
* Fix false positive for isinstance-second-argument-not-valid-
type when union types contains None.
* Fixed `unused-import` so that it observes the `dummy-
variables-rgx` option.
* `Union` typed variables without assignment are no longer
treated as `TypeAlias`.
* Fix false positive for ``positional-only-arguments-expected``
when a function contains both a positional-only parameter
that has a default value, and ``**kwargs``.
* Fix false positive for ``keyword-arg-before-vararg`` when a
positional-only parameter with a default value precedes ``*args``.
* Improve output of ``consider-using-generator`` message for
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=146
- update to 2.17.2:
* invalid-name now allows for integers in typealias
names:
* now valid: Good2Name, GoodName2.
* still invalid: _1BadName.
* No longer consider Union as type annotation as type alias
for naming checks.
* unnecessary-lambda no longer warns on lambdas which use
its parameters in their body (other than the final arguments),
e.g. lambda foo: (bar if foo else baz)(foo).
* Fix a crash in pyreverse when "/" characters are used in the
output filename e.g pyreverse -o png -p name/ path/to/project.
* Add new option (--show-stdlib, -L) to pyreverse.
* This is similar to the behavior of --show-builtin in that
standard library modules are now not included by default,
and this option will include them.
* Adds asyncSetUp to the default defining-attr-methods
list to silence
* attribute-defined-outside-init warning when using
* unittest.IsolatedAsyncioTestCase.
* invalid-name now allows for integers in typealias
names:
* now valid: Good2Name, GoodName2.
* still invalid: _1BadName.
* No longer consider Union as type annotation as type alias
for naming checks.
* unnecessary-lambda no longer warns on lambdas which use
its parameters in their body (other than the final arguments),
e.g. lambda foo: (bar if foo else baz)(foo).
* --clear-cache-post-run now also clears LRU caches for
OBS-URL: https://build.opensuse.org/request/show/1080001
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pylint?expand=0&rev=35
* invalid-name now allows for integers in typealias
names:
* now valid: Good2Name, GoodName2.
* still invalid: _1BadName.
* No longer consider Union as type annotation as type alias
for naming checks.
* unnecessary-lambda no longer warns on lambdas which use
its parameters in their body (other than the final arguments),
e.g. lambda foo: (bar if foo else baz)(foo).
* Fix a crash in pyreverse when "/" characters are used in the
output filename e.g pyreverse -o png -p name/ path/to/project.
* Add new option (--show-stdlib, -L) to pyreverse.
* This is similar to the behavior of --show-builtin in that
standard library modules are now not included by default,
and this option will include them.
* Adds asyncSetUp to the default defining-attr-methods
list to silence
* attribute-defined-outside-init warning when using
* unittest.IsolatedAsyncioTestCase.
* invalid-name now allows for integers in typealias
names:
* now valid: Good2Name, GoodName2.
* still invalid: _1BadName.
* No longer consider Union as type annotation as type alias
for naming checks.
* unnecessary-lambda no longer warns on lambdas which use
its parameters in their body (other than the final arguments),
e.g. lambda foo: (bar if foo else baz)(foo).
* --clear-cache-post-run now also clears LRU caches for
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=143
- update to v2.15.10:
* Fix use-sequence-for-iteration when unpacking a set with *.
* Fix false positive assigning-non-slot when a class attribute is
* re-assigned.
* Fixes used-before-assignment false positive when the walrus operator
* is used in a ternary operator.
* Prevent used-before-assignment when imports guarded by if TYPE_CHECKING
* are guarded again when used.
* Using custom braces in msg-template will now work properly.
OBS-URL: https://build.opensuse.org/request/show/1057060
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pylint?expand=0&rev=34
* Fix use-sequence-for-iteration when unpacking a set with *.
* Fix false positive assigning-non-slot when a class attribute is
* re-assigned.
* Fixes used-before-assignment false positive when the walrus operator
* is used in a ternary operator.
* Prevent used-before-assignment when imports guarded by if TYPE_CHECKING
* are guarded again when used.
* Using custom braces in msg-template will now work properly.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=141
- update to v2.15.9:
* Fix false-positive for used-before-assignment in pattern matching with a
guard.
* Pylint will no longer deadlock if a parallel job is killed but fail
immediately instead.
* When pylint exit due to bad arguments being provided the exit code will
now be the expected 32.
* Fixes a ModuleNotFound exception when running pylint on a Django project
with the pylint_django plugin enabled.
* Document a known false positive for useless-suppression when disabling
* line-too-long in a module with only comments and no code.
* Fix logging-fstring-interpolation false positive raised when logging and
f-string with %s formatting.
* Fixes false positive abstract-method on Protocol classes.
* Fix missing-param-doc false positive when function parameter has an
escaped underscore.
* multiple-statements no longer triggers for function stubs using inlined
....
* Fix deprecated-method false positive when alias for method is similar to
* name of deprecated method.
* Fix a false positive for used-before-assignment for imports guarded by
* typing.TYPE_CHECKING later used in variable annotations.
* Other Bug Fixes
* Pylint will now filter duplicates given to it before linting. The output
* should be the same whether a file is given/discovered multiple times or
not.
* Fixes a crash in stop-iteration-return when the next builtin is
* called without arguments.
* Fix false positive for unhashable-member when subclassing dict and
* using the subclass as a dictionary key.
OBS-URL: https://build.opensuse.org/request/show/1056749
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pylint?expand=0&rev=33
* Fix false-positive for used-before-assignment in pattern matching with a
guard.
* Pylint will no longer deadlock if a parallel job is killed but fail
immediately instead.
* When pylint exit due to bad arguments being provided the exit code will
now be the expected 32.
* Fixes a ModuleNotFound exception when running pylint on a Django project
with the pylint_django plugin enabled.
* Document a known false positive for useless-suppression when disabling
* line-too-long in a module with only comments and no code.
* Fix logging-fstring-interpolation false positive raised when logging and
f-string with %s formatting.
* Fixes false positive abstract-method on Protocol classes.
* Fix missing-param-doc false positive when function parameter has an
escaped underscore.
* multiple-statements no longer triggers for function stubs using inlined
....
* Fix deprecated-method false positive when alias for method is similar to
* name of deprecated method.
* Fix a false positive for used-before-assignment for imports guarded by
* typing.TYPE_CHECKING later used in variable annotations.
* Other Bug Fixes
* Pylint will now filter duplicates given to it before linting. The output
* should be the same whether a file is given/discovered multiple times or
not.
* Fixes a crash in stop-iteration-return when the next builtin is
* called without arguments.
* Fix false positive for unhashable-member when subclassing dict and
* using the subclass as a dictionary key.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=139
- update to 2.15.2:
* Fixed a case where custom plugins specified by command line could silently fail.
* Fix ``used-before-assignment`` for functions/classes defined in type checking guard.
* Update ``modified_iterating`` checker to fix a crash with ``for`` loops on empty list.
* The ``docparams`` extension now considers typing in Numpy style docstrings
* Fix false positive for ``unused-variable`` and ``unused-import`` when a name is only used in a string literal type annotation.
* Fix false positive for ``too-many-function-args`` when a function call is assigned to a class attribute inside the class where the function is defined.
* Fix ``used-before-assignment`` for functions/classes defined in type checking guard.
* Fix ignored files being linted when passed on stdin.
* ``missing-return-doc``, ``missing-raises-doc`` and ``missing-yields-doc`` now respect
* Don't crash on ``OSError`` in config file discovery.
* ``disable-next`` is now correctly scoped to only the succeeding line.
* Update ``modified_iterating`` checker to fix a crash with ``for`` loops on empty list.
OBS-URL: https://build.opensuse.org/request/show/1003053
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pylint?expand=0&rev=29
* Fixed a case where custom plugins specified by command line could silently fail.
* Fix ``used-before-assignment`` for functions/classes defined in type checking guard.
* Update ``modified_iterating`` checker to fix a crash with ``for`` loops on empty list.
* The ``docparams`` extension now considers typing in Numpy style docstrings
* Fix false positive for ``unused-variable`` and ``unused-import`` when a name is only used in a string literal type annotation.
* Fix false positive for ``too-many-function-args`` when a function call is assigned to a class attribute inside the class where the function is defined.
* Fix ``used-before-assignment`` for functions/classes defined in type checking guard.
* Fix ignored files being linted when passed on stdin.
* ``missing-return-doc``, ``missing-raises-doc`` and ``missing-yields-doc`` now respect
* Don't crash on ``OSError`` in config file discovery.
* ``disable-next`` is now correctly scoped to only the succeeding line.
* Update ``modified_iterating`` checker to fix a crash with ``for`` loops on empty list.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=131
- Update to version 2.15.0
* In pylint 2.15.0, we added a new check missing-timeout to warn
of default timeout values that could cause a program to be
hanging indefinitely.
* We improved pylint's handling of namespace packages. More
packages should be linted without resorting to using the
--recursive=y option.
- Release highlights from 2.14
* With 2.14 pylint only supports Python version 3.7.2 and above.
* We introduced several new checks among which duplicate-value
for sets, comparison-of-constants, and checks related to
lambdas. We removed no-init and made no-self-use optional as
they were too opinionated. We also added an option to generate
a toml configuration: --generate-toml-config.
* We migrated to argparse from optparse and refactored the
configuration handling thanks to Daniël van Noord. On the user
side it should change the output of the --help command, and
some inconsistencies and bugs should disappear. The behavior
between options set in a config file versus on the command line
will be more consistent. For us, it will permit to maintain
this part of the code easily in the future and anticipate
optparse's removal in Python 3.12.
* As a result of the refactor there are a lot of internal
deprecations. If you're a library maintainer that depends on
pylint, please verify that you're ready for pylint 3.0 by
activating deprecation warnings.
* We continued the integration of pylint-error and are now at
33%!. We still welcome any community effort to help review,
integrate, and add good/bad examples
<https://github.com/PyCQA/pylint/issues/5953>`_. This should be
doable without any pylint or astroid knowledge, so this is the
perfect entrypoint if you want to contribute to pylint or open
source without any experience with our code!
- Release highlights from 2.13
* In 2.13, we introduced a new check to deal with unicode
security issues. On top of that a lot of work was done inside
the unicode checker by @CarliJoy. We also introduced a new
check when importing private name and for unnecessary ellipsis
among other.
* We fixed long standing issues related to duplicate code that
could not be disabled, line numbers that were not accurate some
of the time, and added the ability to lint all files in a
directory without specifying each one. One of the most
anticipated issue from the repository. Thank you @matusvalo !
* A lot of undefined-variables and used-before-assignment issues
were resolved thanks to @jacobtylerwalls.
* We started integrating pylint-error the documentation created
by @vald-phoenix a developer from Hlyniane, Ukraine. We hope
he's doing well despite the current situation. The deployment
is set up but there's still a lot to do so we welcome any
community effort help to review, integrate, and add good/bad
examples. This should be doable without any pylint or astroid
knowledge, so this is the perfect entrypoint if you want to
contribute to pylint without investing any time learning the
internals.
* This release is the last one to support interpreter below
3.7.2, 3.6 end of life was reached in december 2021.
- Add pylint-pr7367-pythonpathtest.patch
* gh#PyCQA/pylint#7367
OBS-URL: https://build.opensuse.org/request/show/999571
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pylint?expand=0&rev=129