Update dependency astroid to v2.15.8 #36
Open
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:
==2.5.6
->==2.15.8
Release Notes
pylint-dev/astroid (astroid)
v2.15.8
Compare Source
=============================
Release date: 2023-09-26
Fix a regression in 2.15.7 for
unsubscriptable-object
.Closes #2305
Closes pylint-dev/pylint#9069
Fix a regression in 2.15.7 for
unsubscriptable-object
.Closes #2305
Closes pylint-dev/pylint#9069
v2.15.7
Compare Source
=============================
Release date: 2023-09-23
Fix a crash when inferring a
typing.TypeVar
call.Closes pylint-dev/pylint#8802
Infer user-defined enum classes by checking if the class is a subtype of
enum.Enum
.Closes pylint-dev/pylint#8897
Fix inference of functions with
@functools.lru_cache
decorators withoutparentheses.
Closes pylint-dev/pylint#8868
Make
sys.argv
uninferable because it never is. (It's impossible to inferthe value it will have outside of static analysis where it's our own value.)
Refs pylint-dev/pylint#7710
v2.15.6
Compare Source
=============================
Release date: 2023-07-08
Harden
get_module_part()
against"."
.Closes pylint-dev/pylint#8749
Allow
AsStringVisitor
to visitobjects.PartialFunction
.Closes pylint-dev/pylint#8881
Avoid expensive list/tuple multiplication operations that would result in
MemoryError
.Closes pylint-dev/pylint#8748
Fix a regression in 2.12.0 where settings in AstroidManager would be ignored.
Most notably this addresses pylint-dev/pylint#7433.
Refs #2204
v2.15.5
Compare Source
=============================
Release date: 2023-05-14
Handle
objects.Super
inhelpers.object_type()
.Refs pylint-dev/pylint#8554
Recognize stub
pyi
Python files.Refs pylint-dev/pylint#4987
v2.15.4
Compare Source
=============================
Release date: 2023-04-24
Add visitor function for
TryStar
toAsStringVisitor
andadd
TryStar
toastroid.nodes.ALL_NODE_CLASSES
.Refs #2142
v2.15.3
Compare Source
=============================
Release date: 2023-04-16
Fix
infer_call_result()
crash on methods calledwith_metaclass()
.Closes #1735
Suppress
UserWarning
when finding module specs.Closes pylint-dev/pylint#7906
v2.15.2
Compare Source
=============================
Release date: 2023-04-03
Support more possible usages of
attrs
decorators.Closes pylint-dev/pylint#7884
v2.15.1
Compare Source
=============================
Release date: 2023-03-26
Restore behavior of setting a Call as a base for classes created using
six.with_metaclass()
,and harden support for using enums as metaclasses in this case.
Reverts #1622
Refs pylint-dev/pylint#5935
Refs pylint-dev/pylint#7506
v2.15.0
Compare Source
=============================
Release date: 2023-03-06
astroid now supports
TryStar
nodes from python 3.11 and should be fully compatible with python 3.11.Closes #2028
Formattedvalue.postinit
is now keyword only. This is to allow correct typing of theFormattedvalue
class.Refs #1516
Astroid
now supports custom import hooks.Refs pylint-dev/pylint#7306
astroid
now infers return values from match cases.Refs pylint-dev/pylint#5288
AstroidManager.clear_cache
now also clears the inference context cache.Refs #1780
max_inferable_values
can now be set onAstroidManager
instances, e.g.astroid.MANAGER
besides just the
AstroidManager
class itself.Closes #2280
Astroid
now retrieves the default values of keyword only arguments and sets them onArguments.kw_defaults
.Uninferable
now has the typeUninferableBase
. This is to facilitate correctly type annotatingcode that uses this singleton.
Closes #1680
Deprecate
modutils.is_standard_module()
. It will be removed in the next minor release.Functionality has been replaced by two new functions,
modutils.is_stdlib_module()
andmodutils.module_in_path()
.Closes #2012
Fix
are_exclusive
function when a walrus operator is used insideIfExp.test
field.Closes #2022
v2.14.2
Compare Source
=============================
Release date: 2023-02-12
'_infer_str_format_call' won't crash anymore when the string it analyses are uninferable.
Closes pylint-dev/pylint#8109
v2.14.1
Compare Source
=============================
Release date: 2023-01-31
CallContext
change as it caused aRecursionError
regression.v2.14.0
Compare Source
=============================
Release date: 2023-01-31
Add support for inferring binary union types added in Python 3.10.
Refs pylint-dev/pylint#8119
Capture and log messages emitted when inspecting a module for astroid.
Closes #1904
v2.13.5
Compare Source
=============================
Release date: 2023-01-31
CallContext
change as it caused aRecursionError
regression.v2.13.4
Compare Source
=============================
Release date: 2023-01-31
Fix issues with
typing_extensions.TypeVar
.Fix
ClassDef.fromlino
for PyPy 3.8 (v7.3.11) if class is wrapped by a decorator.Preserve parent CallContext when inferring nested functions.
Closes pylint-dev/pylint#8074
Add
Lock
to themultiprocessing
brain.Closes pylint-dev/pylint#3313
v2.13.3
Compare Source
=============================
Release date: 2023-01-20
Fix a regression in 2.13.2 where a RunTimeError could be raised unexpectedly.
Closes #1958
Fix overwritten attributes in inherited dataclasses not being ordered correctly.
Closes pylint-dev/pylint#7881
Fix a false positive when an attribute named
Enum
was confused withenum.Enum
.Calls to
Enum
are now inferred & the qualified name is checked.Refs pylint-dev/pylint#5719
Remove unnecessary typing_extensions dependency on Python 3.11 and newer
v2.13.2
Compare Source
=============================
Release date: 2023-01-08
Removed version conditions on typing_extensions dependency. Removed typing_extensions from
our tests requirements as it was preventing issues to appear in our continuous integration.
Closes #1945
v2.13.1
Compare Source
=============================
Release date: 2023-01-08
Bumping typing_extensions to 4.0.0 that is required when using
Self
Closes #1942
v2.13.0
Compare Source
=============================
Release date: 2023-01-07
Fixed importing of modules that have the same name as the file that is importing.
astroid
will now correctly handle animport math
statement in a file calledmath.py
by relying on the import system.
Refs pylint-dev/pylint#5151
Create
ContextManagerModel
and letGeneratorModel
inherit from it.Refs pylint-dev/pylint#2567
Added a
regex
brain.Refs pylint-dev/pylint#1911
Support "is None" constraints from if statements during inference.
Ref #791
Ref pylint-dev/pylint#157
Ref pylint-dev/pylint#1472
Ref pylint-dev/pylint#2016
Ref pylint-dev/pylint#2631
Ref pylint-dev/pylint#2880
v2.12.14
Compare Source
==============================
Release date: 2023-01-06
Handle the effect of properties on the
__init__
of a dataclass correctly.Closes pylint-dev/pylint#5225
Handle the effect of
kw_only=True
in dataclass fields correctly.Closes pylint-dev/pylint#7623
Handle the effect of
init=False
in dataclass fields correctly.Closes pylint-dev/pylint#7291
Fix crash if
numpy
module doesn't haveversion
attribute.Refs pylint-dev/pylint#7868
Handle
AttributeError
duringstr.format
template inference tip evaluationCloses pylint-dev/pylint#1902
Add the
masked_invalid
function in thenumpy.ma
brain.Closes pylint-dev/pylint#5715
v2.12.13
Compare Source
==============================
Release date: 2022-11-19
Prevent returning an empty list for
ClassDef.slots()
when the mro list contains one class & it is notobject
.Refs pylint-dev/pylint#5099
Prevent a crash when inferring calls to
str.format
with inferred argumentsthat would be invalid.
Closes #1856
Infer the
length
argument of therandom.sample
function.Refs pylint-dev/pylint#7706
Catch
ValueError
when indexing some builtin containers and sequences during inference.Closes #1843
v2.12.12
Compare Source
==============================
Release date: 2022-10-19
Add the
length
parameter tohash.digest
&hash.hexdigest
in thehashlib
brain.Refs pylint-dev/pylint#4039
Prevent a crash when a module's
__path__
attribute is unexpectedly missing.Refs pylint-dev/pylint#7592
Fix inferring attributes with empty annotation assignments if parent
class contains valid assignment.
Refs pylint-dev/pylint#7631
v2.12.11
Compare Source
==============================
Release date: 2022-10-10
Add
_value2member_map_
member to theenum
brain.Refs pylint-dev/pylint#3941
Improve detection of namespace packages for the modules with
__spec__
set to None.Closes pylint-dev/pylint#7488.
Fixed a regression in the creation of the
__init__
of dataclasses withmultiple inheritance.
Closes pylint-dev/pylint#7434
v2.12.10
Compare Source
==============================
Release date: 2022-09-17
Fixed a crash when introspecting modules compiled by
cffi
.Closes #1776
Closes pylint-dev/pylint#7399
decorators.cached
now gets its cache cleared by callingAstroidManager.clear_cache
.Refs #1780
v2.12.9
Compare Source
=============================
Release date: 2022-09-07
Fixed creation of the
__init__
ofdataclassess
with multiple inheritance.Closes pylint-dev/pylint#7427
Fixed a crash on
namedtuples
that usetypename
to specify their name.Closes pylint-dev/pylint#7429
v2.12.8
Compare Source
=============================
Release date: 2022-09-06
Fixed a crash in the
dataclass
brain forInitVars
without subscript typing.Closes pylint-dev/pylint#7422
Fixed parsing of default values in
dataclass
attributes.Closes pylint-dev/pylint#7425
v2.12.7
Compare Source
=============================
Release date: 2022-09-06
Fixed a crash in the
dataclass
brain for uninferable bases.Closes pylint-dev/pylint#7418
v2.12.6
Compare Source
=============================
Release date: 2022-09-05
Fix a crash involving
Uninferable
arguments tonamedtuple()
.Closes pylint-dev/pylint#7375
The
dataclass
brain now understands thekw_only
keyword in dataclass decorators.Closes pylint-dev/pylint#7290
v2.12.5
Compare Source
=============================
Release date: 2022-08-29
Prevent first-party imports from being resolved to
site-packages
.Refs pylint-dev/pylint#7365
Fix
astroid.interpreter._import.util.is_namespace()
incorrectlyreturning
True
for frozen stdlib modules on PyPy.Closes #1755
v2.12.4
Compare Source
=============================
Release date: 2022-08-25
Fixed a crash involving non-standard type comments such as
# type: # any comment
.Refs pylint-dev/pylint#7347
v2.12.3
Compare Source
=============================
Release date: 2022-08-23
Fixed crash in
ExplicitNamespacePackageFinder
involving_SixMetaPathImporter
.Closes #1708
Fix unhandled
FutureWarning
from pandas import in cython modulesCloses #1717
Fix false positive with inference of type-annotated Enum classes.
Refs pylint-dev/pylint#7265
Fix crash with inference of type-annotated Enum classes where the member has no value.
Fix a crash inferring invalid old-style string formatting with
%
.Closes #1737
Fix false positive with inference of
http
module when iteratingHTTPStatus
.Refs pylint-dev/pylint#7307
Bumped minimum requirement of
wrapt
to 1.14 on Python 3.11.Don't add dataclass fields annotated with
KW_ONLY
to the list of fields.Refs pylint-dev/pylint#5767
v2.12.2
Compare Source
=============================
Release date: 2022-07-12
Fixed crash in modulo operations for divisions by zero.
Closes #1700
Fixed crash with recursion limits during inference.
Closes #1646
v2.12.1
Compare Source
==============================
Release date: 2023-01-06
Handle the effect of properties on the
__init__
of a dataclass correctly.Closes pylint-dev/pylint#5225
Handle the effect of
kw_only=True
in dataclass fields correctly.Closes pylint-dev/pylint#7623
Handle the effect of
init=False
in dataclass fields correctly.Closes pylint-dev/pylint#7291
Fix crash if
numpy
module doesn't haveversion
attribute.Refs pylint-dev/pylint#7868
Handle
AttributeError
duringstr.format
template inference tip evaluationCloses pylint-dev/pylint#1902
Add the
masked_invalid
function in thenumpy.ma
brain.Closes pylint-dev/pylint#5715
v2.12.0
Compare Source
=============================
Release date: 2022-07-09
Fix signal has no
connect
member for PySide2 5.15.2+ and PySide6Closes #4040, #5378
astroid
now requires Python 3.7.2 to run.Avoid setting a Call as a base for classes created using
six.with_metaclass()
.Refs pylint-dev/pylint#5935
Fix detection of builtins on
PyPy
3.9.Fix
re
brain on Python3.11
. The flags now come fromre._compile
.Build
nodes.Module
for frozen modules which have location information in theirModuleSpec
.Closes #1512
The
astroid.mixins
module has been deprecated and marked for removal in 3.0.0.Closes #1633
Capture and log messages emitted by C extensions when importing them.
This prevents contaminating programmatic output, e.g. pylint's JSON reporter.
Closes pylint-dev/pylint#3518
Calls to
str.format
are now correctly inferred.Closes #104, Closes #1611
__new__
and__init__
have been added to theObjectModel
and are nowinferred as
BoundMethods
.Old style string formatting (using
%
operators) is now correctly inferred.Closes #151
Adds missing enums from
ssl
module.Closes pylint-dev/pylint#3691
Remove dependency on
pkg_resources
fromsetuptools
.Closes #1103
Allowed
AstroidManager.clear_cache
to reload necessary brain plugins.Fixed incorrect inferences after rebuilding the builtins module, e.g. by calling
AstroidManager.clear_cache
.Closes #1559
Arguments.defaults
is nowNone
for uninferable signatures.On Python versions >= 3.9,
astroid
now understands subscriptingbuiltin classes such as
enumerate
orstaticmethod
.Fixed inference of
Enums
when they are imported under an alias.Closes pylint-dev/pylint#5776
Rename
ModuleSpec
->module_type
constructor parameter to match attributename and improve typing. Use
type
instead.ObjectModel
andClassModel
now know about their__new__
and__call__
attributes.Fixed pylint
not-callable
false positive with nested-tuple assignment in a for-loop.Refs pylint-dev/pylint#5113
Instances of builtins created with
__new__(cls, value)
are now inferred.Infer the return value of the
.copy()
method ondict
,list
,set
,and
frozenset
.Closes #1403
Fixed inference of elements of living container objects such as tuples and sets in the
sys
andssl
modules.Add
pathlib
brain to handlepathlib.PurePath.parents
inference.Closes pylint-dev/pylint#5783
Avoid inferring the results of
**
operations involving values greater than1e5
to avoid expensive computation.
Closes pylint-dev/pylint#6745
Fix test for Python
3.11
. In some instanceserr.__traceback__
willbe uninferable now.
Add brain for numpy core module
einsumfunc
.Closes pylint-dev/pylint#5821
Infer the
DictUnpack
value forDict.getitem
calls.Closes #1195
Fix a crash involving properties within
try ... except
blocks.Closes pylint-dev/pylint#6592
Prevent creating
Instance
objects that proxy otherInstance
s when there isambiguity (or user error) in calling
__new__(cls)
.Refs pylint-dev/pylint#7109
v2.11.7
Compare Source
=============================
Release date: 2022-07-09
Added support for
usedforsecurity
keyword tohashlib
constructors.Closes pylint-dev/pylint#6017
Updated the stdlib brain for
subprocess.Popen
to accommodate Python 3.9+.Closes pylint-dev/pylint#7092
v2.11.6
Compare Source
=============================
Release date: 2022-06-13
The Qt brain now correctly treats calling
.disconnect()
(with noarguments) on a slot as valid.
The argparse brain no longer incorrectly adds
"Namespace"
to the localsof functions that return an
argparse.Namespace
object.Refs pylint-dev/pylint#6895
v2.11.5
Compare Source
=============================
Release date: 2022-05-09
Fix crash while obtaining
object_type()
of anUnknown
node.Refs pylint-dev/pylint#6539
Fix a bug where in attempting to handle the patching of
distutils
byvirtualenv
,library submodules called
distutils
(e.g.numpy.distutils
) were included also.Refs pylint-dev/pylint#6497
v2.11.4
Compare Source
=============================
Release date: 2022-05-02
Fix
col_offset
attribute for nodes involvingwith
onPyPy
.Fixed a crash involving two starred expressions: one inside a comprehension,
both inside a call.
Refs pylint-dev/pylint#6372
Made
FunctionDef.implicit_parameters
return 1 for methods by makingFunctionDef.is_bound
returnTrue
, as it does for class methods.Closes pylint-dev/pylint#6464
Fixed a crash when
_filter_stmts
encounters anEmptyNode
.Closes pylint-dev/pylint#6438
v2.11.3
Compare Source
=============================
Release date: 2022-04-19
Fixed an error in the Qt brain when building
instance_attrs
.Closes pylint-dev/pylint#6221
Fixed a crash in the
gi
brain.Closes pylint-dev/pylint#6371
v2.11.2
Compare Source
=============================
Release date: 2022-03-26
Avoided adding the name of a parent namedtuple to its child's locals.
Refs pylint-dev/pylint#5982
v2.11.1
Compare Source
=============================
Release date: 2022-03-22
Promoted
getattr()
fromastroid.scoped_nodes.FunctionDef
to its parentastroid.scoped_nodes.Lambda
.Fixed crash on direct inference via
nodes.FunctionDef._infer
.Closes #817
v2.11.0
Compare Source
=============================
Release date: 2022-03-12
Add new (optional)
doc_node
attribute tonodes.Module
,nodes.ClassDef
,and
nodes.FunctionDef
.Accessing the
doc
attribute ofnodes.Module
,nodes.ClassDef
, andnodes.FunctionDef
has been deprecated in favour of thedoc_node
attribute.Note:
doc_node
is an (optional)nodes.Const
whereasdoc
was an (optional)str
.Passing the
doc
argument to the__init__
ofnodes.Module
,nodes.ClassDef
,and
nodes.FunctionDef
has been deprecated in favour of thepostinit
doc_node
attribute.Note:
doc_node
is an (optional)nodes.Const
whereasdoc
was an (optional)str
.Replace custom
cachedproperty
withfunctools.cached_property
and deprecate itfor Python 3.8+.
Closes #1410
Set
end_lineno
andend_col_offset
attributes toNone
for all nodeswith PyPy 3.8. PyPy 3.8 assigns these attributes inconsistently which could lead
to unexpected errors. Overwriting them with
None
will cause a fallbackto the already supported way of PyPy 3.7.
Add missing
shape
parameter to numpyzeros_like
,ones_like
,and
full_like
methods.Closes pylint-dev/pylint#5871
Only pin
wrapt
on the major version.v2.10.0
Compare Source
=============================
Release date: 2022-02-27
Fixed inference of
self
in binary operations in whichself
is part of a list or tuple.
Closes pylint-dev/pylint#4826
Fixed builtin inference on
property
calls not calling thepostinit
of the new node, whichresulted in instance arguments missing on these nodes.
Fixed a crash on
Super.getattr
when the attribute was previously uninferable due to a cachelimit size. This limit can be hit when the inheritance pattern of a class (and therefore of the
__init__
attribute) is very large.Closes pylint-dev/pylint#5679
Include names of keyword-only arguments in
astroid.scoped_nodes.Lambda.argnames
.Closes pylint-dev/pylint#5771
Fixed a crash inferring on a
NewType
named with an f-string.Closes pylint-dev/pylint#5770
Add support for attrs v21.3.0 which
added a new
attrs
module alongside the existingattr
.Closes #1330
Use the
end_lineno
attribute for theNodeNG.tolineno
propertywhen it is available.
Closes #1350
Add
is_dataclass
attribute toClassDef
nodes.Use
sysconfig
instead ofdistutils
to determine the location ofpython stdlib files and packages.
Related pull requests: #1322, #1323, #1324
Closes #1282
Ref #1103
Fixed crash with recursion error for inference of class attributes that referenced
the class itself.
Closes pylint-dev/pylint#5408
Fixed crash when trying to infer
items()
on the__dict__
attribute of an imported module.
Closes #1085
Add optional
NodeNG.position
attribute.Used for block nodes to highlight position of keyword(s) and name
in cases where the AST doesn't provide good enough positional information.
E.g.
nodes.ClassDef
,nodes.FunctionDef
.Fix
ClassDef.fromlineno
. For Python < 3.8 thelineno
attribute includes decorators.fromlineno
should return the line of theclass
statement itself.Performance improvements. Only run expensive decorator functions when
non-default Deprecation warnings are enabled, eg. during a Pytest run.
Closes #1383
v2.9.3
Compare Source
============================
Release date: 2022-01-09
Fixed regression where packages without a
__init__.py
file werenot recognized or imported correctly.
Closes #1327
v2.9.2
Compare Source
============================
Release date: 2022-01-04
astroid.scoped_nodes
where_is_metaclass
was not accessible anymore.
Closes #1325
v2.9.1
Compare Source
============================
Release date: 2021-12-31
NodeNG.frame()
andNodeNG.statement()
will start raisingParentMissingError
instead of
AttributeError
in astroid 3.0. This behaviour can already be triggeredby passing
future=True
to aframe()
orstatement()
call.Prefer the module loader get_source() method in AstroidBuilder's
module_build() when possible to avoid assumptions about source
code being available on a filesystem. Otherwise the source cannot
be found and application behavior changes when running within an
embedded hermetic interpreter environment (pyoxidizer, etc.).
Require Python 3.6.2 to use astroid.
Removed custom
distutils
handling for resolving paths to submodules.Ref #1321
Restore custom
distutils
handling for resolving paths to submodules.Closes pylint-dev/pylint#5645
Fix
deque.insert()
signature incollections
brain.Closes #1260
Fix
Module
nodes not having acol_offset
,end_lineno
, andend_col_offset
attributes.
Fix typing and update explanation for
Arguments.args
beingNone
.Fix crash if a variable named
type
is accessed with an index operator ([]
)in a generator expression.
Closes pylint-dev/pylint#5461
Enable inference of dataclass import from marshmallow_dataclass.
This allows the dataclasses brain to recognize dataclasses annotated by marshmallow_dataclass.
Resolve symlinks in the import path
Fixes inference error when the import path includes symlinks (e.g. Python
installed on macOS via Homebrew).
Closes #823
Closes pylint-dev/pylint#3499
Closes pylint-dev/pylint#4302
Closes pylint-dev/pylint#4798
Closes pylint-dev/pylint#5081
v2.9.0
Compare Source
============================
Release date: 2021-11-21
Add
end_lineno
andend_col_offset
attributes to astroid nodes.Always treat
__class_getitem__
as a classmethod.Add missing
as_string
visitor method forUnknown
node.Closes #1264
v2.8.6
Compare Source
============================
Release date: 2021-11-21
Fix crash on inference of subclasses created from
Class().__subclasses__
Closes pylint-dev/pylint#4982
Fix bug with Python 3.7.0 / 3.7.1 and
typing.NoReturn
.Closes #1239
v2.8.5
Compare Source
============================
Release date: 2021-11-12
Use more permissive versions for the
typed-ast
dependency (<2.0 instead of <1.5)Closes #1237
Fix crash on inference of
__len__
.Closes pylint-dev/pylint#5244
Added missing
kind
(forConst
) andconversion
(forFormattedValue
) fields to repr.Fix crash with assignment expressions, nested if expressions and filtering of statements
Closes pylint-dev/pylint#5178
Fix incorrect filtering of assignment expressions statements
v2.8.4
Compare Source
============================
Release date: 2021-10-25
Fix the
scope()
andframe()
methods ofNamedExpr
nodes.When these nodes occur in
Arguments
,Keyword
orComprehension
nodes thesemethods now correctly point to the outer-scope of the
FunctionDef
,ClassDef
, orComprehension
.Fix the
set_local
function forNamedExpr
nodes.When these nodes occur in
Arguments
,Keyword
, orComprehension
nodes thesenodes are now correctly added to the locals of the
FunctionDef
,ClassDef
, orComprehension
.v2.8.3
Compare Source
============================
Release date: 2021-10-17
Add support for wrapt 1.13
Fixes handling of nested partial functions
Closes pylint-dev/pylint#2462
Closes #1208
Fix regression with the import resolver
Closes pylint-dev/pylint#5131
Fix crash with invalid dataclass field call
Closes pylint-dev/pylint#5153
v2.8.2
Compare Source
============================
Release date: 2021-10-07
Same content than 2.8.2-dev0 / 2.8.1, released in order to fix a
mistake when creating the tag.
v2.8.1
Compare Source
============================
Release date: 2021-10-06
Adds support of type hints inside numpy's brains.
Closes pylint-dev/pylint#4326
Enable inference of dataclass import from pydantic.dataclasses.
This allows the dataclasses brain to recognize pydantic dataclasses.
Closes pylint-dev/pylint#4899
Fix regression on ClassDef inference
Closes pylint-dev/pylint#5030
Closes pylint-dev/pylint#5036
Fix regression on Compare node inference
Closes pylint-dev/pylint#5048
Extended attrs brain to support the provisional APIs
Astroid does not trigger it's own deprecation warning anymore.
Improve brain for
typing.Callable
andtyping.Type
.Fix bug with importing namespace packages with relative imports
Closes pylint-dev/pylint#5059
The
is_typing_guard
andis_sys_guard
functions are deprecated and willbe removed in 3.0.0. They are complex meta-inference functions that are better
suited for pylint. Import them from
pylint.checkers.utils
instead(requires pylint
2.12
).Suppress the conditional between applied brains and dynamic import authorized
modules. (Revert the "The transforms related to a module are applied only if this
module has not been explicitly authorized to be imported" of version 2.7.3)
Adds a brain to infer the
numpy.ma.masked_where
function.Closes pylint-dev/pylint#3342
v2.8.0
Compare Source
============================
Release date: 2021-09-14
Add additional deprecation warnings in preparation for astroid 3.0
Require attributes for some node classes with
__init__
call.name
(str
) forName
,AssignName
,DelName
attrname
(str
) forAttribute
,AssignAttr
,DelAttr
op
(str
) forAugAssign
,BinOp
,BoolOp
,UnaryOp
names
(list[tuple[str, str | None]]
) forImport
Support pyz imports
Closes pylint-dev/pylint#3887
Add
node_ancestors
method toNodeNG
for obtaining the ancestors of nodes.It's now possible to infer the value of comparison nodes
Closes #846
Fixed bug in inference of dataclass field calls.
Closes pylint-dev/pylint#4963
v2.7.3
Compare Source
============================
Release date: 2021-08-30
The transforms related to a module are applied only if this module has not been explicitly authorized to be imported
(i.e is not in AstroidManager.extension_package_whitelist). Solves the following issues if numpy is authorized to be imported
through the
extension-pkg-allow-list
option.Closes pylint-dev/pylint#3342
Closes pylint-dev/pylint#4326
Fixed bug in attribute inference from inside method calls.
Closes pylint-dev/pylint#400
Fixed bug in inference for superclass instance methods called
from the class rather than an instance.
Closes #1008
Closes pylint-dev/pylint#4377
Fixed bug in inference of chained attributes where a subclass
had an attribute that was an instance of its superclass.
Closes pylint-dev/pylint#4220
Adds a brain for the ctypes module.
Closes pylint-dev/pylint#4896
When processing dataclass attributes, exclude the same type hints from abc.collections
as from typing.
Closes pylint-dev/pylint#4895
Apply dataclass inference to pydantic's dataclasses.
Closes pylint-dev/pylint#4899
v2.7.2
Compare Source
============================
Release date: 2021-08-20
BaseContainer
is now public, and will replace_BaseContainer
completely in astroid 3.0.The call cache used by inference functions produced by
inference_tip
can now be cleared via
clear_inference_tip_cache
.astroid.const.BUILTINS
andastroid.bases.BUILTINS
are not used internally anymoreand will be removed in astroid 3.0. Simply replace this by the string 'builtins' for better
performances and clarity.
Add inference for dataclass initializer method.
Closes pylint-dev/pylint#3201
v2.7.1
Compare Source
============================
Release date: 2021-08-16
When processing dataclass attributes, only do typing inference on collection types.
Support for instantiating other typing types is left for the future, if desired.
Closes #1129
Fixed LookupMixIn missing from
astroid.node_classes
.v2.7.0
Compare Source
============================
Release date: 2021-08-15
Import from
astroid.node_classes
andastroid.scoped_nodes
has been deprecated in favor ofastroid.nodes
. Only the imports fromastroid.nodes
will work in astroid 3.0.0.Add support for arbitrary Enum subclass hierarchies
Closes pylint-dev/pylint#533
Closes pylint-dev/pylint#2224
Closes pylint-dev/pylint#2626
Add inference tips for dataclass attributes, including dataclasses.field calls.
Also add support for InitVar.
Closes pylint-dev/pylint#2600
Closes pylint-dev/pylint#2698
Closes pylint-dev/pylint#3405
Closes pylint-dev/pylint#3794
Adds a brain that deals with dynamic import of
IsolatedAsyncioTestCase
class of theunittest
module.Closes pylint-dev/pylint#4060
v2.6.6
Compare Source
============================
Release date: 2021-08-03
Added support to infer return type of
typing.cast()
Fix variable lookup handling of exclusive statements
Closes pylint-dev/pylint#3711
Fix variable lookup handling of function parameters
Closes #180
Fix variable lookup's handling of except clause variables
Fix handling of classes with duplicated bases with the same name
Closes #1088
v2.6.5
Compare Source
============================
Release date: 2021-07-21
Fix a crash when there would be a 'TypeError object does not support
item assignment' in the code we parse.
Closes pylint-dev/pylint#4439
Fix a crash when a AttributeInferenceError was raised when
failing to find the real name in infer_import_from.
Closes pylint-dev/pylint#4692
v2.6.4
Compare Source
============================
Release date: 2021-07-19
Fix a crash when a StopIteration was raised when inferring
a faulty function in a context manager.
Closes pylint-dev/pylint#4723
v2.6.3
Compare Source
============================
Release date: 2021-07-19
Added
If.is_sys_guard
andIf.is_typing_guard
helper methodsFix a bad inference type for yield values inside of a derived class.
Closes #1090
Fix a crash when the node is a 'Module' in the brain builtin inference
Closes pylint-dev/pylint#4671
Fix issues when inferring match variables
Closes pylint-dev/pylint#4685
Fix lookup for nested non-function scopes
Fix issue that
TypedDict
instance wasn't callable.Closes pylint-dev/pylint#4715
Add dependency on setuptools and a guard to prevent related exceptions.
v2.6.2
Compare Source
============================
Release date: 2021-06-30
Fix a crash when the inference of the length of a node failed
Closes pylint-dev/pylint#4633
Fix unhandled StopIteration during inference, following the implementation
of PEP479 in python 3.7+
Closes pylint-dev/pylint#4631
Closes #1080
v2.6.1
Compare Source
============================
Release date: 2021-06-29
Fix issue with
TypedDict
for Python 3.9+Closes pylint-dev/pylint#4610
v2.6.0
Compare Source
============================
Release date: 2021-06-22
Configuration
📅 Schedule: Branch creation - "after 5am on saturday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
To execute skipped test pipelines write comment
/ok-to-test
.This PR has been generated by MintMaker (powered by Renovate Bot).