Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update astroid to 2.3.3 #25

Closed
wants to merge 1 commit into from

Conversation

pyup-bot
Copy link
Contributor

@pyup-bot pyup-bot commented Feb 7, 2020

This PR updates astroid from 2.2.5 to 2.3.3.

Changelog

2.3.2

============================
Release Date: TBA

* All type comments have as parent the corresponding `astroid` node

Until now they had as parent the builtin `ast` node which meant
we were operating with primitive objects instead of our own.

Close PyCQA/pylint3174


* Pass an inference context to `metaclass()` when inferring an object type

This should prevent a bunch of recursion errors happening in pylint.
Also refactor the inference of `IfExp` nodes to use separate contexts
for each potential branch.

Close PyCQA/pylint3152
Close PyCQA/pylint3159

2.3.1

============================
Release Date: 2019-09-30

* A transform for the builtin `dataclasses` module was added.

This should address various `dataclasses` issues that were surfaced
even more after the release of pylint 2.4.0.
In the previous versions of `astroid`, annotated assign nodes were
allowed to be retrieved via `getattr()` but that no longer happens
with the latest `astroid` release, as those attribute are not actual
attributes, but rather virtual ones, thus an operation such as `getattr()`
does not make sense for them.

* Update attr brain to partly understand annotated attributes

Close 656

2.3.0

============================
Release Date: 2019-09-24

* Add a brain tip for ``subprocess.check_output``

Close 689

* Remove NodeNG.nearest method because of lack of usage in astroid and pylint.

Close 691

* Allow importing wheel files. Close 541

* Annotated AST follows PEP8 coding style when converted to string.

* Fix a bug where defining a class using type() could cause a DuplicateBasesError.

Close 644

* Dropped support for Python 3.4.

* Numpy brain support is improved.

Numpy's fundamental type ``numpy.ndarray`` has its own brain : ``brain_numpy_ndarray`` and
each numpy module that necessitates brain action has now its own numpy brain :

 - ``numpy.core.numeric``
 - ``numpy.core.function_base``
 - ``numpy.core.multiarray``
 - ``numpy.core.numeric``
 - ``numpy.core.numerictypes``
 - ``numpy.core.umath``
 - ``numpy.random.mtrand``

Close PyCQA/pylint2865
Close PyCQA/pylint2747
Close PyCQA/pylint2721
Close PyCQA/pylint2326
Close PyCQA/pylint2021

* ``assert`` only functions are properly inferred as returning ``None``

Close 668

* Add support for Python 3.8's `NamedExpr` nodes, which is part of assignment expressions.

Close 674

* Added support for inferring `IfExp` nodes.

* Instances of exceptions are inferred as such when inferring in non-exception context

This allows special inference support for exception attributes such as `.args`.

Close PyCQA/pylint2333

* Drop a superfluous and wrong callcontext when inferring the result of a context manager

Close PyCQA/pylint2859

* ``igetattr`` raises ``InferenceError`` on re-inference of the same object

This prevents ``StopIteration`` from leaking when we encounter the same
object in the current context, which could result in various ``RuntimeErrors``
leaking in other parts of the inference.
Until we get a global context per inference, the solution is sort of a hack,
as with the suggested global context improvement, we could theoretically
reuse the same inference object.

Close 663

* Variable annotations can no longer be retrieved with `ClassDef.getattr`

Unless they have an attached value, class variable annotations can no longer
be retrieved with `ClassDef.getattr.`

* Improved builtin inference for ``tuple``, ``set``, ``frozenset``, ``list`` and ``dict``

We were properly inferring these callables *only* if they had consts as
values, but that is not the case most of the time. Instead we try to infer
the values that their arguments can be and use them instead of assuming
Const nodes all the time.

Close PyCQA/pylint2841

* The last except handler wins when inferring variables bound in an except handler.

Close PyCQA/pylint2777


* ``threading.Lock.locked()`` is properly recognized as a member of ``threading.Lock``

Close PyCQA/pylint2791


* Fix recursion error involving ``len`` and self referential attributes

Close PyCQA/pylint2736
Close PyCQA/pylint2734
Close PyCQA/pylint2740

* Can access per argument type comments through new ``Arguments.type_comment_args`` attribute.

Close 665

* Fix being unable to access class attributes on a NamedTuple.

Close PyCQA/pylint1628

* Fixed being unable to find distutils submodules by name when in a virtualenv.

Close PyCQA/pylint73
Links

@palikar palikar closed this Feb 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants