- Update to 2.8.0
* Add additional deprecation warnings in preparation for astroid
3.0
* Require attributes for some node classes with ``__init__``
call.
* ``name`` (``str``) for ``Name``, ``AssignName``,
``DelName``
* ``attrname`` (``str``) for ``Attribute``, ``AssignAttr``,
``DelAttr``
* ``op`` (``str``) for ``AugAssign``, ``BinOp``, ``BoolOp``,
``UnaryOp``
* ``names`` (``list[tuple[str, str | None]]``) for ``Import``
* Support pyz imports
* Add ``node_ancestors`` method to ``NodeNG`` for obtaining the
ancestors of nodes.
* It's now possible to infer the value of comparison nodes
* Fixed bug in inference of dataclass field calls.
- Release 2.7.3
* 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.
* Fixed bug in attribute inference from inside method calls.
* Fixed bug in inference for superclass instance methods called
from the class rather than an instance.
* Fixed bug in inference of chained attributes where a subclass
had an attribute that was an instance of its superclass.
* Adds a brain for the ctypes module.
* When processing dataclass attributes, exclude the same type
OBS-URL: https://build.opensuse.org/request/show/922892
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-astroid?expand=0&rev=64
- Update to 2.7.1
* 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``.
- from version 2.7.0
* Import from ``astroid.node_classes`` and ``astroid.scoped_nodes`` has been deprecated in favor of
``astroid.nodes``. Only the imports from ``astroid.nodes`` will work in astroid 3.0.0.
* Add support for arbitrary Enum subclass hierachies
ClosesPyCQA/pylint#533ClosesPyCQA/pylint#2224ClosesPyCQA/pylint#2626
* Add inference tips for dataclass attributes, including dataclasses.field calls.
Also add support for InitVar.
ClosesPyCQA/pylint#2600ClosesPyCQA/pylint#2698ClosesPyCQA/pylint#3405ClosesPyCQA/pylint#3794
* Adds a brain that deals with dynamic import of `IsolatedAsyncioTestCase` class of the `unittest` module.
ClosesPyCQA/pylint#4060
- from version 2.6.6
* Added support to infer return type of ``typing.cast()``
* Fix variable lookup's handling of exclusive statements
ClosesPyCQA/pylint#3711
* Fix variable lookup's handling of function parameters
ClosesPyCQA/astroid#180
* Fix variable lookup's handling of except clause variables
* Fix handling of classes with duplicated bases with the same name
ClosesPyCQA/astroid#1088
- from version 2.6.5
OBS-URL: https://build.opensuse.org/request/show/913116
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-astroid?expand=0&rev=62
- Update to 2.5.6
* Fix retro-compatibility issues with old version of pylint
ClosesPyCQA/pylint#4402
* Fixes the discord link in the project urls of the package.
ClosesPyCQA/pylint#4393
* The packaging is now done via setuptools exclusively.
doc, tests, and Changelog are not packaged anymore - reducing
the size of the package greatly.
* __pkginfo__ now only contain __version__ (also accessible with
astroid.__version__), other meta-information are still
accessible with import importlib;metadata.metadata('astroid').
* Added inference tip for typing.Tuple alias
* Fix crash when evaluating typing.NamedTuple
ClosesPyCQA/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.
* Takes into account the fact that subscript inferring for a
ClassDef may involve class_getitem method
* Reworks the collections and typing brain so that pylint`s
acceptance tests are fine.
ClosesPyCQA/pylint#4206
* Use inference_tip for typing.TypedDict brain.
* Fix mro for classes that inherit from typing.Generic
* Add inference tip for typing.Generic and typing.Annotated with
__class_getitem__
ClosesPyCQA/pylint#2822
* Detects import numpy as a valid numpy import.
ClosesPyCQA/pylint#3974
* Iterate over Keywords when using ClassDef.get_children
OBS-URL: https://build.opensuse.org/request/show/891337
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-astroid?expand=0&rev=60
- Update to 2.5.1
* The context.path is reverted to a set because otherwise it
leads to false positives for non `numpy` functions.
* Don't transform dataclass ClassVars
* Improve typing.TypedDict inference
* Fix the `Duplicates found in MROs` false positive.
- Release 2.5.0
* Adds `attr_fset` in the `PropertyModel` class.
* Remove support for Python 3.5.
* Remove the runtime dependency on six. The six brain
remains in astroid.
* Enrich the brain_collection module so that __class_getitem__
method is added to `deque` for
python version above 3.9.
* The context.path is now a dict and the context.push method
returns True if the node has been visited a certain amount of
times.
* Adds a brain for type object so that it is possible to write
`type[int]` in annotation.
* Add __class_getitem__ method to subprocess.Popen brain under
Python 3.9 so that it is seen as subscriptable by pylint.
* Adds `degrees`, `radians`, which are `numpy ufunc` functions,
in the `numpy` brain. Adds `random` function in the `numpy.
random` brain.
* Fix deprecated importlib methods
* Fix a crash in inference caused by `Uninferable` container
elements
* Add `python 3.9` support.
* The flat attribute of numpy.ndarray is now inferred as an
numpy.ndarray itself. It should be a numpy.flatiter instance,
but this class is not yet available in the numpy brain.
* Fix a bug for dunder methods inference of function objects
* Fixes a bug in the signature of the ndarray.__or__ method,
in the brain_numpy_ndarray.py module.
* 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 a numpy.ndarray
* Added a brain for sqlalchemy.orm.session
* Separate string and bytes classes patching
* Prevent recursion error for self referential length calls
* Added missing methods to the brain for mechanize, to fix
pylint false positives
* Added more supported parameters to subprocess.check_output
* Fix recursion errors with pandas
* Added exception inference for `UnicodeDecodeError`
* `FunctionDef.is_generator` properly handles `yield` nodes in
`If` tests
* Fixed exception-chaining error messages.
* Fix failure to infer base class type with multiple inheritance
and qualified names
* Fix interpretation of six.with_metaclass class definitions.
* Reduce memory usage of astroid's module cache.
* Remove dependency on `imp`.
* Do not crash when encountering starred assignments in enums.
* Fix a crash in functools.partial inference when the arguments
cannot be determined
* Fix a crash caused by a lookup of a monkey-patched method
* is_generator correctly considers `Yield` nodes in `AugAssign`
nodes
This fixes a false positive with the
`assignment-from-no-return` pylint check.
* 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.
- Drop part_rm_dep_imp.patch fixed upstream
- Drop unpin-deps.patch unpinned upstream
OBS-URL: https://build.opensuse.org/request/show/880419
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-astroid?expand=0&rev=58
* Handle the case where the raw builder fails to retrieve the ``__all__`` attribute
* Restructure the AST parsing heuristic to always pick the same module
* Changed setup.py to work with [distlib](https://pypi.org/project/distlib)
* Do not crash with SyntaxError when parsing namedtuples with invalid label
* Protect against ``infer_call_result`` failing with `InferenceError` in `Super.getattr()`
* Expose a ast_from_string method in AstroidManager, which will accept
* ``BoundMethod.implicit_parameters`` returns a proper value for ``__new__``
* Allow slots added dynamically to a class to still be inferred
* Allow `FunctionDef.getattr` to look into both instance attrs and special attributes
* Infer qualified ``classmethod`` as a classmethod.
* Prevent a recursion error to happen when inferring the declared metaclass of a class
* Raise ``AttributeInferenceError`` when ``getattr()`` receives an empty name
* Prevent a recursion error for self reference variables and `type()` calls.
* Do not infer the first argument of a staticmethod in a metaclass as the class itself
* ``NodeNG.bool_value()`` gained an optional ``context`` parameter
* Pass a context argument to ``astroid.Arguments`` to prevent recursion errors
* Better inference of class and static methods decorated with custom methods
* Reverse the order of decorators for `infer_subscript`
* Prevent a recursion error when inferring self-referential variables without definition
* Numpy `datetime64.astype` return value is inferred as a `ndarray`.
* Skip non ``Assign`` and ``AnnAssign`` nodes from enum reinterpretation
* Numpy ``ndarray`` attributes ``imag`` and ``real`` are now inferred as ``ndarray``.
* Added a call to ``register_transform`` for all functions of the ``brain_numpy_core_multiarray``
* Use the parent of the node when inferring aug assign nodes instead of the statement
* Added some functions to the ``brain_numpy_core_umath`` module
* Added some functions of the ``numpy.core.multiarray`` module
* All the ``numpy ufunc`` functions derived now from a common class that
* ``nodes.Const.itered`` returns a list of ``Const`` nodes, not strings
* The ``shape`` attribute of a ``numpy ndarray`` is now a ``ndarray``
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-astroid?expand=0&rev=50
- Add patch to not use pinned dependencies and to work in our distro:
* unpin-deps.patch
- Update to 2.3.1
* A transform for the builtin `dataclasses` module was added.
* Add a brain tip for ``subprocess.check_output``
* Remove NodeNG.nearest method because of lack of usage in astroid and pylint.
* Allow importing wheel files.
* Dropped support for Python 3.4.
* Add support for Python 3.8's `NamedExpr` nodes, which is part of assignment expressions.
* ...and more.
OBS-URL: https://build.opensuse.org/request/show/734939
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astroid?expand=0&rev=20