- 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
- Update to 1.3.6:
* Class.slots raises NotImplementedError for old style classes.
Closes issue #67.
* Add a new option to AstroidManager, `optimize_ast`, which
controls if peephole optimizer should be enabled or not.
This prevents a regression, where the visit_binop method
wasn't called anymore with astroid 1.3.5, due to the differences
in the resulting AST. Closes issue #82.
* Add the ability to optimize small ast subtrees,
with the first use in the optimization of multiple
BinOp nodes. This removes recursivity in the rebuilder
when dealing with a lot of small strings joined by the
addition operator. Closes issue #59.
* Obtain the methods for the nose brain tip through an
unittest.TestCase instance. Closes Pylint issue #457.
* Fix a crash which occurred when a class was the ancestor
of itself. Closes issue #78.
* Improve the scope_lookup method for Classes regarding qualified
objects, with an attribute name exactly as one provided in the
class itself.
For example, a class containing an attribute 'first',
which was also an import and which had, as a base, a qualified name
or a Gettattr node, in the form 'module.first', then Pylint would
have inferred the `first` name as the function from the Class,
not the import. Closes Pylint issue #466.
* Implement the assigned_stmts operation for Starred nodes,
which was omitted when support for Python 3 was added in astroid.
Closes issue #36.
OBS-URL: https://build.opensuse.org/request/show/290986
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-astroid?expand=0&rev=16
- Update to 1.3.4:
* Get the first element from the method list when obtaining
the functions from nose.tools.trivial. Closes Pylint issue #448.
* Restore file_stream to a property, but deprecate it in favour of
the newly added method Module.stream. By using a method instead of a
property, it will be easier to properly close the file right
after it is used, which will ensure that no file descriptors are
leaked. Until now, due to the fact that a module was cached,
it was not possible to close the file_stream anywhere.
file_stream will start emitting PendingDeprecationWarnings in
astroid 1.4, DeprecationWarnings in astroid 1.5 and it will
be finally removed in astroid 1.6.
* Add inference tips for 'tuple', 'list', 'dict' and 'set' builtins.
* Add brain definition for most string and unicode methods
* Changed the API for Class.slots. It returns None when the class
doesn't define any slots. Previously, for both the cases where
the class didn't have slots defined and when it had an empty list
of slots, Class.slots returned an empty list.
* Add a new method to Class nodes, 'mro', for obtaining the
the method resolution order of the class.
* Add brain tips for six.moves. Closes issue #63.
* Improve the detection for functions decorated with decorators
which returns static or class methods.
* .slots() can contain unicode strings on Python 2.
* Add inference tips for nose.tools.
OBS-URL: https://build.opensuse.org/request/show/286631
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-astroid?expand=0&rev=14