2024-02-25 16:19:11 by Thomas Klausner | Files touched by this commit (2) | |
Log message: py-astroid: update to 3.1.0. Include PEP 695 (Python 3.12) generic type syntax nodes in get_children(), allowing checkers to visit them. Refs pylint-dev/pylint#9193 Add __main__ as a possible inferred value for __name__ to improve control flow inference around if __name__ == "__main__": guards. Closes #2071 Following a deprecation period, the names arg to the Import constructor and the op arg to the BoolOp constructor are now required, and the doc args to the PartialFunction and Property constructors have been removed (call postinit(doc_node=...) instead.) Following a deprecation announced in astroid 1.5.0, the alias \ AstroidBuildingException is removed in favor of AstroidBuildingError. Include modname in AST warnings. Useful for invalid escape sequence warnings with Python 3.12. RecursionError is now trapped and logged out as UserWarning during astroid \ node transformations with instructions about raising the system recursion limit. Closes pylint-dev/pylint#8842 Suppress SyntaxWarning for invalid escape sequences on Python 3.12 when \ parsing modules. Closes pylint-dev/pylint#9322 |
2024-02-06 22:49:58 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: py-astroid: updated to 3.0.3 What's New in astroid 3.0.3? * Fix type of ``UnicodeDecodeError.object`` inferred as ``str`` instead of ``bytes``. * Fix ``no-member`` false positives for ``args`` and ``kwargs`` on ``ParamSpec`` \ under Python 3.12. |
2023-12-12 18:13:56 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: py-astroid: updated to 3.0.2 What's New in astroid 3.0.2? Avoid duplicate inference results for some uses of typing.X constructs like Tuple[Optional[int], ...]. This was causing pylint to occasionally omit messages like deprecated-typing-alias. |
2023-10-28 21:57:26 by Thomas Klausner | Files touched by this commit (516) | |
Log message: python/wheel.mk: simplify a lot, and switch to 'installer' for installation This follows the recommended bootstrap method (flit_core, build, installer). However, installer installs different files than pip, so update PLISTs for all packages using wheel.mk and bump their PKGREVISIONs. |
2023-10-16 10:55:40 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: py-astroid: updated to 3.0.1 v3.0.1 Fix crashes linting code using PEP 695 (Python 3.12) generic type syntax. |
2023-10-09 19:38:30 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message: py-astroid: updated to 3.0.0 What's New in astroid 3.0.0? ============================= * Add support for Python 3.12, including PEP 695 type parameter syntax. * Remove support for Python 3.7. * Use the global inference cache when inferring, even without an explicit ``InferenceContext``. This is a significant performance improvement given how often methods default to ``None`` for the context argument. (Linting ``astroid`` itself now takes ~5% less time on Python 3.12; other projects requiring more complex inference calculations will see greater speedups.) * Following a deprecation period starting in astroid 2.7.0, the \ ``astroid.node_classes`` and ``astroid.scoped_nodes`` modules have been removed in favor of \ ``astroid.nodes.node_classes`` and ``astroid.nodes.scoped_nodes``. * Following a deprecation period starting in astroid 2.12.0, the \ ``astroid.mixins`` module has been removed in favor of ``astroid.nodes._base_nodes`` (private). * Return all existing arguments when calling ``Arguments.arguments()``. This \ also means ``find_argname`` will now use the whole list of arguments for its search. * Exclude class attributes from the ``__members__`` container of an ``Enum`` \ class when they are ``nodes.AnnAssign`` nodes with no assigned value. * Remove ``@cached`` and ``@cachedproperty`` decorator (just use \ ``@cached_property`` from the stdlib). * Remove the ``inference`` module. Node inference methods are now in the module defining the node, rather than being associated to the node afterward. * Move ``LookupMixIn`` to ``astroid.nodes._base_nodes`` and make it private. * Remove the shims for ``OperationError``, ``BinaryOperationError``, and \ ``UnaryOperationError`` in ``exceptions``. They were moved to ``util`` in astroid 1.5.0. * Move ``safe_infer()`` from ``helpers`` to ``util``. This avoids some circular \ imports. * Reduce file system access in ``ast_from_file()``. * Reduce time to ``import astroid`` by delaying ``astroid_bootstrapping()`` until the first instantiation of ``AstroidBuilder``. * Make ``igetattr()`` idempotent. This addresses some reports of varying results when running pylint with ``--jobs``. * Fix incorrect cache keys for inference results, thereby correctly inferring types for calls instantiating types dynamically. * Fix interrupted ``InferenceContext`` call chains, thereby addressing performance problems when linting ``sqlalchemy``. * ``nodes.FunctionDef`` no longer inherits from ``nodes.Lambda``. This is a breaking change but considered a bug fix as the nodes did not share \ the same API and were not interchangeable. We have tried to minimize the amount of breaking changes caused by this change but some are unavoidable. * ``infer_call_result`` now shares the same interface across all \ implementations. Namely: ```python def infer_call_result( self, caller: SuccessfulInferenceResult | None, context: InferenceContext | None = None, ) -> Iterator[InferenceResult]: ``` This is a breaking change for ``nodes.FunctionDef`` where previously \ ``caller`` had a default of ``None``. Passing ``None`` again will not create a behaviour change. The breaking change allows us to better type and re-use the method within \ ``astroid``. * Improved signature of the ``__init__`` and ``__postinit__`` methods of most nodes. This includes making ``lineno``, ``col_offset``, ``end_lineno``, \ ``end_col_offset`` and ``parent`` required arguments for ``nodes.NodeNG`` and its subclasses. For most other nodes, arguments of their ``__postinit__`` methods have been \ made required to better represent how they would normally be constructed by the standard library \ ``ast`` module. |
2023-09-28 17:55:46 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: py-astroid: updated to 2.15.8 v2.15.8 Fix a regression in 2.15.7 for unsubscriptable-object. v2.15.7 Fix a crash when inferring a typing.TypeVar call. Infer user-defined enum classes by checking if the class is a subtype of enum.Enum. Fix inference of functions with @functools.lru_cache decorators without parentheses. Make sys.argv uninferable because it never is. (It's impossible to infer the value it will have outside of static analysis where it's our own value.)v2.15.7 Fix a crash when inferring a typing.TypeVar call. Infer user-defined enum classes by checking if the class is a subtype of enum.Enum. Fix inference of functions with @functools.lru_cache decorators without parentheses. Make sys.argv uninferable because it never is. (It's impossible to infer the value it will have outside of static analysis where it's our own value.) |
2023-07-10 05:41:20 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: py-astroid: updated to 2.15.6 What's New in astroid 2.15.6? ============================= * Harden ``get_module_part()`` against ``"."``. * Avoid expensive list/tuple multiplication operations that would result in \ ``MemoryError``. |
2023-05-21 19:42:11 by Thomas Klausner | Files touched by this commit (2) | |
Log message: py-astroid: update to 2.15.5. Handle objects.Super in helpers.object_type(). Refs pylint-dev/pylint#8554 |
2023-04-27 19:52:25 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: py-astroid: updated to 2.15.4 What's New in astroid 2.15.4? ============================= * Add visitor function for ``TryStar`` to ``AsStringVisitor`` and add ``TryStar`` to ``astroid.nodes.ALL_NODE_CLASSES``. |