Releases: pylint-dev/astroid
v2.5.8
-
Improve support for Pattern Matching
-
Add lineno and col_offset for
Keyword
nodes and Python 3.9+ -
Add global inference cache to speed up inference of long statement blocks
-
Add a limit to the total number of nodes inferred indirectly as a result
of inferring some node
v2.5.7
-
Fix six.with_metaclass transformation so it doesn't break user defined transformations.
-
Fix detection of relative imports.
Closes #930
Closes pylint-dev/pylint#4186 -
Fix inference of instance attributes defined in base classes
Closes #932
-
Update
infer_named_tuple
brain to reject namedtuple definitions
that would raise ValueErrorCloses #920
-
Do not set instance attributes on builtin object()
Closes #945
Closes pylint-dev/pylint#4232
Closes pylint-dev/pylint#4221
Closes pylint-dev/pylint#3970
Closes pylint-dev/pylint#3595
-
Fix some spurious cycles detected in
context.path
leading to more cases
that can now be inferredCloses #926
-
Add
kind
field toConst
nodes, matching the structure of the built-in ast Const.
The kind field is "u" if the literal is a u-prefixed string, andNone
otherwise.Closes #898
-
Fix property inference in class contexts for properties defined on the metaclass
Closes #940
-
Update enum brain to fix definition of members for subclass-defined Enums
Closes pylint-dev/pylint#3535
Closes pylint-dev/pylint#4358 -
Update random brain to fix a crash with inference of some sequence elements
Closes #922
-
Fix inference of attributes defined in a base class that is an inner class
Closes #904
-
Allow inferring a return value of None for non-abstract empty functions and
functions with no return statements (implicitly returning None)Closes #485
-
scm_setuptools has been added to the packaging.
-
Astroid's tags are now the standard form
vX.Y.Z
and notastroid-X.Y.Z
anymore. -
Add initial support for Pattern Matching in Python 3.10
v2.5.6
Semantic tag so scm_setuptools work.
astroid-2.5.6
- Fix retro-compatibility issues with old version of pylint
Closes pylint-dev/pylint#4402
astroid-2.5.5: Fix discord server invitation
- Fixes the discord link in the project urls of the package.
Closes pylint-dev/pylint#4393
astroid-2.5.4
-
The packaging is now done via setuptools exclusively.
doc
,tests
, andChangelog
are
not packaged anymore - reducing the size of the package greatly. -
Debian packaging is now (officially) done in https://salsa.debian.org/python-team/packages/astroid.
-
__pkginfo__
now only contain__version__
(also accessible withastroid.__version__
),
other meta-information are still accessible withimport importlib;metadata.metadata('astroid')
. -
Added inference tip for
typing.Tuple
alias -
Fix crash when evaluating
typing.NamedTuple
Closes pylint-dev/pylint#4383
-
COPYING was removed in favor of COPYING.LESSER and the latter was renamed to LICENSE to make more apparent
that the code is licensed under LGPLv2 or later. -
Moved from appveyor and travis to Github Actions for continuous integration.
astroid-2.5.3
-
Takes into account the fact that subscript inferring for a ClassDef may involve class_getitem method
-
Reworks the
collections
andtyping
brain so that pylint`s acceptance tests are fine.Closes pylint-dev/pylint#4206
-
Use
inference_tip
fortyping.TypedDict
brain. -
Fix mro for classes that inherit from typing.Generic
-
Add inference tip for typing.Generic and typing.Annotated with
__class_getitem__
Closes pylint-dev/pylint#2822
astroid-2.5.2
-
Detects
import numpy
as a validnumpy
import.Closes pylint-dev/pylint#3974
-
Iterate over
Keywords
when usingClassDef.get_children
Closes pylint-dev/pylint#3202
astroid-2.5.1
-
The
context.path
is reverted to a set because otherwise it leads to false positives
for nonnumpy
functions. -
Don't transform dataclass ClassVars
-
Improve typing.TypedDict inference
-
Fix the
Duplicates found in MROs
false positive.Closes #905
Closes pylint-dev/pylint#2717
Closes pylint-dev/pylint#3247
Closes pylint-dev/pylint#4093
Closes pylint-dev/pylint#4131
Closes pylint-dev/pylint#4145
astroid 2.5
-
Adds
attr_fset
in thePropertyModel
class.Fixes pylint-dev/pylint#3480
-
Remove support for Python 3.5.
-
Remove the runtime dependency on
six
. Thesix
brain remains in
astroid.Fixes #863
-
Enrich the
brain_collection
module so that__class_getitem__
method is added todeque
for
python
version above 3.9. -
The
context.path
is now adict
and thecontext.push
method
returnsTrue
if the node has been visited a certain amount of times.Close #669
-
Adds a brain for type object so that it is possible to write
type[int]
in annotation.Fixes pylint-dev/pylint#4001
-
Add
__class_getitem__
method tosubprocess.Popen
brain under Python 3.9 so that it is seen as subscriptable by pylint.Fixes pylint-dev/pylint#4034
-
Adds
degrees
,radians
, which arenumpy ufunc
functions, in thenumpy
brain. Addsrandom
function in thenumpy.random
brain.Fixes pylint-dev/pylint#3856
-
Fix deprecated importlib methods
Closes #703
-
Fix a crash in inference caused by
Uninferable
container elementsClose #866
-
Add
python 3.9
support. -
The flat attribute of
numpy.ndarray
is now inferred as annumpy.ndarray
itself.
It should be anumpy.flatiter
instance, but this class is not yet available in the numpy brain.Fixes pylint-dev/pylint#3640
-
Fix a bug for dunder methods inference of function objects
Fixes #819
-
Fixes a bug in the signature of the
ndarray.__or__
method,
in thebrain_numpy_ndarray.py
module.Fixes #815
-
Fixes a to-list cast bug in
starred_assigned_stmts
method,
in the ``protocols.py` module. -
Added a brain for
hypothesis.strategies.composite
-
The transpose of a
numpy.ndarray
is also anumpy.ndarray
Fixes pylint-dev/pylint#3387
-
Added a brain for
sqlalchemy.orm.session
-
Separate string and bytes classes patching
Fixes pylint-dev/pylint#3599
-
Prevent recursion error for self referential length calls
Close #777
-
Added missing methods to the brain for
mechanize
, to fix pylint false positivesClose #793
-
Added more supported parameters to
subprocess.check_output
-
Fix recursion errors with pandas
Fixes pylint-dev/pylint#2843
Fixes pylint-dev/pylint#2811 -
Added exception inference for
UnicodeDecodeError
Close pylint-dev/pylint#3639
-
FunctionDef.is_generator
properly handlesyield
nodes inIf
testsClose pylint-dev/pylint#3583
-
Fixed exception-chaining error messages.
-
Fix failure to infer base class type with multiple inheritance and qualified names
Fixes #843
-
Fix interpretation of
six.with_metaclass
class definitions.Fixes #713
-
Reduce memory usage of astroid's module cache.
-
Remove dependency on
imp
. -
Do not crash when encountering starred assignments in enums.
Close #835
-
Fix a crash in functools.partial inference when the arguments cannot be determined
Close pylint-dev/pylint#3776
-
Fix a crash caused by a lookup of a monkey-patched method
Close pylint-dev/pylint#3686
-
is_generator
correctly considersYield
nodes inAugAssign
nodesThis fixes a false positive with the
assignment-from-no-return
pylint check.Close pylint-dev/pylint#3904
-
Corrected the parent of function type comment nodes.
These nodes used to be parented to their original ast.FunctionDef parent
but are now correctly parented to their astroid.FunctionDef parent.Close #851