github pylint-dev/astroid v2.12.0

latest releases: v3.2.2, v3.2.1, v3.2.0...
24 months ago
  • Fix signal has no connect member for PySide2 5.15.2+ and PySide6

    Closes #4040, #5378

  • astroid now requires Python 3.7.2 to run.

  • Avoid setting a Call as a base for classes created using six.with_metaclass().

    Refs PyCQA/pylint#5935

  • Fix detection of builtins on PyPy 3.9.

  • Fix re brain on Python 3.11. The flags now come from re._compile.

  • Build nodes.Module for frozen modules which have location information in their
    ModuleSpec.

    Closes #1512

  • The astroid.mixins module has been deprecated and marked for removal in 3.0.0.

    Closes #1633

  • Capture and log messages emitted by C extensions when importing them.
    This prevents contaminating programmatic output, e.g. pylint's JSON reporter.

    Closes PyCQA/pylint#3518

  • Calls to str.format are now correctly inferred.

    Closes #104, Closes #1611

  • __new__ and __init__ have been added to the ObjectModel and are now
    inferred as BoundMethods.

  • Old style string formatting (using % operators) is now correctly inferred.

    Closes #151

  • Adds missing enums from ssl module.

    Closes PyCQA/pylint#3691

  • Remove dependency on pkg_resources from setuptools.

    Closes #1103

  • Allowed AstroidManager.clear_cache to reload necessary brain plugins.

  • Fixed incorrect inferences after rebuilding the builtins module, e.g. by calling
    AstroidManager.clear_cache.

    Closes #1559

  • On Python versions >= 3.9, astroid now understands subscripting
    builtin classes such as enumerate or staticmethod.

  • Fixed inference of Enums when they are imported under an alias.

    Closes PyCQA/pylint#5776

  • Rename ModuleSpec -> module_type constructor parameter to match attribute
    name and improve typing. Use type instead.

  • ObjectModel and ClassModel now know about their __new__ and __call__ attributes.

  • Fixed pylint not-callable false positive with nested-tuple assignment in a for-loop.

    Refs PyCQA/pylint#5113

  • Instances of builtins created with __new__(cls, value) are now inferred.

  • Infer the return value of the .copy() method on dict, list, set,
    and frozenset.

    Closes #1403

  • Fixed inference of elements of living container objects such as tuples and sets in the
    sys and ssl modules.

  • Add pathlib brain to handle pathlib.PurePath.parents inference.

    Closes PyCQA/pylint#5783

  • Avoid inferring the results of ** operations involving values greater than 1e5
    to avoid expensive computation.

    Closes PyCQA/pylint#6745

  • Fix test for Python 3.11. In some instances err.__traceback__ will
    be uninferable now.

  • Add brain for numpy core module einsumfunc.

    Closes PyCQA/pylint#5821

  • Infer the DictUnpack value for Dict.getitem calls.

    Closes #1195

  • Fix a crash involving properties within try ... except blocks.

    Closes PyCQA/pylint#6592

  • Prevent creating Instance objects that proxy other Instances when there is
    ambiguity (or user error) in calling __new__(cls).

    Refs PyCQA/pylint#7109

Don't miss a new astroid release

NewReleases is sending notifications on new releases.