You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
chore(deps): update dependency pylint to v4.1.3 - #849
Fixed a false positive for attribute-defined-outside-init when an
attribute is assigned inside the setter of an old-style, non-decorator property(fget, fset) call. The decorator form (@property / @x.setter) was already exempted by the fix for #409; the classic
call form was not.
Fix a false positive for used-before-assignment when a name bound by an earlier
target of the same assignment is used by a later target, as in a = b[a] = 0.
Fix a no-member false positive in a comprehension inside a branch that
cannot run, such as if sys.platform == "win32": on Linux. Like the rest of
the branch, the comprehension is no longer checked for missing members.
Fix a false positive for used-before-assignment when a name bound by a tuple
or list target of a with item is used by a later item of the same with statement.
Fix false positives such as not-callable, not-an-iterable, unpacking-non-sequence and no-member on the result of a function whose
body is only ..., like @overload and .pyi stubs. Such calls were
inferred as returning None. This affected sqlalchemy.func, pydantic.Field, and the torch functions wrapped by _add_docstr,
such as torch.linalg.qr.
Fix a false positive for protected-access when a subclass of a subscripted
generic base, such as class Child(Parent[T]), accesses a protected member
through that base, such as Parent._foo(self).
Avoid emitting unreachable for a yield immediately after raise or sys.exit() that marks a function as a generator, matching the existing
handling of return.
Fix a false positive for possibly-used-before-assignment when a lambda
uses its parameters, including from a nested lambda, and that name is assigned
later in the module.
Fix a false positive for useless-parent-delegation when a keyword-only
parameter is passed to the parent under the same keyword but with a different value.
Fix a false positive for used-before-assignment when a name assigned with an
assignment expression in the condition of a comprehension is used in its element,
for example [y for x in data if (y := f(x))].
Fixed false positive arguments-differ and signature-differs for typing.overload stubs. Overload stubs in a subclass are no longer compared
to the overridden method, and an overridden method with overloads is compared
through its implementation instead of its first stub.
Fixed a false positive for unexpected-keyword-arg when a decorator that
returns its argument unchanged is stacked above a decorator accepting **kwargs.
Fixed a false positive for useless-suppression of line-too-long when a # inside a string literal comes before the # pylint: disable=line-too-long comment.
Fix a false positive for unnecessary-ellipsis when an ellipsis is the
sole body statement of a Protocol method defined inside a conditional block
such as if TYPE_CHECKING:.
Fix pyreverse hanging or crashing with a RecursionError when --all-associated (-S) follows an attribute whose inferred class is rebuilt by
astroid on every inference, such as a numpy array.
The "difference" column of the "Messages by category" and "Duplication" reports
(--reports=y) now shows the change since the previous run instead of repeating
the previous count.
Using several output formats that all write to stdout (for example --output-format=colorized,no-header)
now raises an error instead of printing every message more than once.
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer TIP This summary will be updated as you push new changes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
4.1.2→4.1.3Release Notes
pylint-dev/pylint (pylint)
v4.1.3Compare Source
What's new in Pylint 4.1.3?
Release date: 2026-10-11
False Positives Fixed
Fixed a false positive for
attribute-defined-outside-initwhen anattribute is assigned inside the setter of an old-style, non-decorator
property(fget, fset)call. The decorator form (@property/@x.setter) was already exempted by the fix for #409; the classiccall form was not.
Closes #3325
Fix a false positive for
used-before-assignmentwhen a name bound by an earliertarget of the same assignment is used by a later target, as in
a = b[a] = 0.Closes #5955
Fix a
no-memberfalse positive in a comprehension inside a branch thatcannot run, such as
if sys.platform == "win32":on Linux. Like the rest ofthe branch, the comprehension is no longer checked for missing members.
Closes #7240
Fix a false positive for
used-before-assignmentwhen a name bound by a tupleor list target of a
withitem is used by a later item of the samewithstatement.Closes #7545
Fix false positives such as
not-callable,not-an-iterable,unpacking-non-sequenceandno-memberon the result of a function whosebody is only
..., like@overloadand.pyistubs. Such calls wereinferred as returning
None. This affectedsqlalchemy.func,pydantic.Field, and thetorchfunctions wrapped by_add_docstr,such as
torch.linalg.qr.Closes #8138
Closes #9218
Closes #9354
Closes #10087
Fix a false positive for
protected-accesswhen a subclass of a subscriptedgeneric base, such as
class Child(Parent[T]), accesses a protected memberthrough that base, such as
Parent._foo(self).Closes #8600
Avoid emitting
unreachablefor ayieldimmediately afterraiseorsys.exit()that marks a function as a generator, matching the existinghandling of
return.Closes #8909
Fix a false positive for
super-init-not-calledin.pyistub files, whereevery
__init__body is...and cannot call the parent's__init__.Closes #9096
Fix a false positive for
possibly-used-before-assignmentwhen a lambdauses its parameters, including from a nested lambda, and that name is assigned
later in the module.
Closes #9126
Fix a false positive for
useless-parent-delegationwhen a keyword-onlyparameter is passed to the parent under the same keyword but with a different value.
Closes #9226
Fix a false positive for
unused-argumentin.pyistub files, wherefunction bodies are
...and cannot use their arguments.Closes #9417
Fix a false positive for
used-before-assignmentwhen a name assigned with anassignment expression in the condition of a comprehension is used in its element,
for example
[y for x in data if (y := f(x))].Closes #9460
Fixed false positive
arguments-differandsignature-differsfortyping.overloadstubs. Overload stubs in a subclass are no longer comparedto the overridden method, and an overridden method with overloads is compared
through its implementation instead of its first stub.
Closes #10186
Closes #5264
Stop emitting
redefined-variable-typewhen the bare_variable isreused to discard values of different types.
Closes #10374
Allow the
__main__module name in thecamelCase,PascalCaseandUPPER_CASEnaming styles without reportinginvalid-name.Closes #10442
Fixed a false positive for
unexpected-keyword-argwhen a decorator thatreturns its argument unchanged is stacked above a decorator accepting
**kwargs.Closes #10831
Fix
invalid-namefalse positives for module-level all-caps aliases thatpreserve the name of an external callable.
Closes #11012
redefined-builtinno longer warns for method parameters that retain abuilt-in name from an overridden method.
Closes #11438
Fixed a false positive for
useless-suppressionofline-too-longwhen a#inside a string literal comes before the# pylint: disable=line-too-longcomment.Closes #11440
Fix a false positive for
unnecessary-ellipsiswhen an ellipsis is thesole body statement of a
Protocolmethod defined inside a conditional blocksuch as
if TYPE_CHECKING:.Closes #11459
Fix a false positive for
unnecessary-negationwhen negating a comparisonbetween instances of a
setorfrozensetsubclass.Refs #11513
Other Bug Fixes
Fix
pyreversehanging or crashing with aRecursionErrorwhen--all-associated(-S) follows an attribute whose inferred class is rebuilt byastroid on every inference, such as a
numpyarray.Closes #3602
Fix a crash in
pyreversewhen a diagram includes a class created bynamedtuple, or anargparse.Namespace.Closes #10767
The "difference" column of the "Messages by category" and "Duplication" reports
(
--reports=y) now shows the change since the previous run instead of repeatingthe previous count.
Closes #11520
Fixed
nested-min-maxsuggesting a non-equivalent rewrite when an innermin/maxcall had multiple arguments.Refs #11593
Using several output formats that all write to stdout (for example
--output-format=colorized,no-header)now raises an error instead of printing every message more than once.
Closes #11597
Fixed an
IndexErrorcrash in the typecheck checker when anEnumclass defines an__init__method without arguments.Closes #11608
Fix a crash in the
duplicate-codechecker whenmin-similarity-linesis set to0.The checker is now disabled in that case, as documented.
Closes #11625
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.