./devel/py-astroid, Rebuild a new abstract syntax tree from Pythons ast

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2.5.1, Package name: py38-astroid-2.5.1, Maintainer: kamel.derouiche

The aim of this module is to provide a common base representation of Python
source code. It is currently the library powering pylint's capabilities.

It provides a compatible representation which comes from the _ast module. It
rebuilds the tree generated by the builtin _ast module by recursively walking
down the AST and building an extended ast. The new node classes have additional
methods and attributes for different usages. They include some support for
static inference and local name scopes. Furthermore, astroid can also build
partial trees by inspecting living objects.


Required to run:
[devel/py-setuptools] [lang/py-six] [devel/py-wrapt] [devel/py-lazy-object-proxy] [devel/py-typed-ast] [lang/python37]

Required to build:
[pkgtools/cwrappers] [devel/py-test-runner]

Master sites:

SHA1: 63f873188f4f40923edc258ad72d6b2987a7e11d
RMD160: dc50748c8a9d023c287842f30fbf5927f3fbb29f
Filesize: 305.187 KB

Version history: (Expand)


CVS history: (Expand)


   2021-03-01 09:49:11 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-astroid: updated to 2.5.1

What's New in astroid 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.
   2021-02-22 10:22:05 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
py-astroid: updated to 2.5

What's New in astroid 2.5?

* 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.
   2020-07-15 11:19:05 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
py-astroid: allow newer lazy_object_proxy
   2020-06-08 18:08:01 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-astroid: updated to 2.4.2

What's New in astroid 2.4.2?
* `FunctionDef.is_generator` properly handles `yield` nodes in `While` tests
* Properly construct the arguments of infered property descriptors
   2020-05-05 20:18:55 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
py-astroid: updated to 2.4.1

What's New in astroid 2.4.1?
* 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()`

What's New in astroid 2.4.0?
* Expose a ast_from_string method in AstroidManager, which will accept
  source code as a string and return the corresponding astroid object
* ``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
  We need to pass an inference context downstream when inferring the boolean
  value of a node in order to prevent recursion errors and double inference.
  This fix prevents a recursion error with dask library.
* 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`
  `path_wrapper` needs to come first, followed by `raise_if_nothing_inferred`,
  otherwise we won't handle `StopIteration` correctly.
* 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``
  module in case the current node is an instance of ``astroid.Name``
* 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
  implements the specific ``reduce``, ``accumulate``, ``reduceat``,
        ``outer`` and ``at`` methods.
* ``nodes.Const.itered`` returns a list of ``Const`` nodes, not strings
* The ``shape`` attribute of a ``numpy ndarray`` is now a ``ndarray``
* Don't ignore special methods when inspecting gi classes
* Added transform for ``scipy.gaussian``
* Add suport for inferring properties.
* Added a brain for ``responses``
* Allow inferring positional only arguments.
* Retry parsing a module that has invalid type comments
  It is possible for a module to use comments that might be interpreted
  as type comments by the `ast` library. We do not want to completely crash on those
  invalid type comments.
* Scope the inference to the current bound node when inferring instances of classes
  When inferring instances of classes from arguments, such as ``self``
  in a bound method, we could use as a hint the context's ``boundnode``,
  which indicates the instance from which the inference originated.
  As an example, a subclass that uses a parent's method which returns
  ``self``, will override the ``self`` to point to it instead of pointing
  to the parent class.
* Add support for inferring exception instances in all contexts
  We were able to infer exception instances as ``ExceptionInstance``
  only for a handful of cases, but not all. ``ExceptionInstance`` has
  support for better inference of `.args` and other exception related
  attributes that normal instances do not have.
  This additional support should remove certain false positives related
  to ``.args`` and other exception attributes in ``pylint``.
* Add more supported parameters to ``subprocess.check_output``
* Infer args unpacking of ``self``
  Certain stdlib modules use ``*args`` to encapsulate
  the ``self`` parameter, which results in uninferable
  instances given we rely on the presence of the ``self``
  argument to figure out the instance where we should be
  setting attributes.
* Clean up setup.py
  Make pytest-runner a requirement only if running tests, similar to what was
  done with McCabe.
  Clean up the setup.py file, resolving a handful of minor warnings with it.
* Handle StopIteration error in infer_int.
* Can access per argument type comments for positional only and keyword only \ 
arguments.
  The comments are accessed through through the new
  ``Arguments.type_comment_posonlyargs`` and
  ``Arguments.type_comment_kwonlyargs`` attributes respectively.
* Relax upper bound on `wrapt`
* Properly analyze CFFI compiled extensions.
   2020-04-23 10:44:26 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
py-astroid: relax wrapt version requirement
   2019-11-07 11:56:42 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-astroid: updated to 2.3.3

What's New in astroid 2.3.3?
* Relaxed `six` dependency.
   2019-11-06 13:46:40 by Adam Ciarcinski | Files touched by this commit (3)
Log message:
py-astroid: allow newer version of lang/py-six