← Back to issue list

chore(deps): update dependency astroid to v3

View original Github issue

Metadata

Project
rockcraft
Number
#537
Type
pull request
State
closed
Author
renovate[bot]
Labels
—
Created
Updated
Closed

Current evaluation

Astroid 3.2.0 update closed unmerged because pylint needed to be upgraded alongside astroid.

Resolution: closed stale

Reason: Maintainer @lengau closed the PR on 2024-05-10 because astroid needed to be updated alongside pylint; no resolving merge or commit was identified.

Evaluated by: mr-cal-bot

No scores available.

Issue body

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [astroid](https://togithub.com/pylint-dev/astroid) | `==2.15.8` -> `==3.2.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/astroid/3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/astroid/3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/astroid/2.15.8/3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/astroid/2.15.8/3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>pylint-dev/astroid (astroid)</summary> ### [`v3.2.0`](https://togithub.com/pylint-dev/astroid/blob/HEAD/ChangeLog#Whats-New-in-astroid-320) [Compare Source](https://togithub.com/pylint-dev/astroid/compare/v3.1.0...v3.2.0) \============================ Release date: 2024-05-07 - `.pyi` stub files are now preferred over `.py` files when resolving imports, (except for numpy). Closes pylint-dev/[#&#8203;9185](https://togithub.com/pylint-dev/astroid/issues/9185) - `igetattr()` returns the last same-named function in a class (instead of the first). This avoids false positives in pylint with `@overload`. Closes [#&#8203;1015](https://togithub.com/pylint-dev/astroid/issues/1015) Refs [pylint-dev/pylint#4696](https://togithub.com/pylint-dev/pylint/issues/4696) - Adds `module_denylist` to `AstroidManager` for modules to be skipped during AST generation. Modules in this list will cause an `AstroidImportError` to be raised when an AST for them is requested. Refs [pylint-dev/pylint#9442](https://togithub.com/pylint-dev/pylint/issues/9442) - Make `astroid.interpreter._import.util.is_namespace` only consider modules using a loader set to `NamespaceLoader` or `None` as namespaces. This fixes a problem that `six.moves` brain was not effective if `six.moves` was already imported. Closes [#&#8203;1107](https://togithub.com/pylint-dev/astroid/issues/1107) ### [`v3.1.0`](https://togithub.com/pylint-dev/astroid/blob/HEAD/ChangeLog#Whats-New-in-astroid-310) [Compare Source](https://togithub.com/pylint-dev/astroid/compare/v3.0.3...v3.1.0) \============================ Release date: 2024-02-23 - Include PEP 695 (Python 3.12) generic type syntax nodes in `get_children()`, allowing checkers to visit them. Refs [pylint-dev/pylint#9193](https://togithub.com/pylint-dev/pylint/issues/9193) - Add `__main__` as a possible inferred value for `__name__` to improve control flow inference around `if __name__ == "__main__":` guards. Closes [#&#8203;2071](https://togithub.com/pylint-dev/astroid/issues/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](https://togithub.com/pylint-dev/pylint/issues/8842) - Suppress `SyntaxWarning` for invalid escape sequences on Python 3.12 when parsing modules. Closes [pylint-dev/pylint#9322](https://togithub.com/pylint-dev/pylint/issues/9322) ### [`v3.0.3`](https://togithub.com/pylint-dev/astroid/blob/HEAD/ChangeLog#Whats-New-in-astroid-303) [Compare Source](https://togithub.com/pylint-dev/astroid/compare/v3.0.2...v3.0.3) \============================ Release date: 2024-02-04 - Fix type of `UnicodeDecodeError.object` inferred as `str` instead of `bytes`. Closes [pylint-dev/pylint#9342](https://togithub.com/pylint-dev/pylint/issues/9342) - Fix `no-member` false positives for `args` and `kwargs` on `ParamSpec` under Python 3.12. Closes [pylint-dev/pylint#9401](https://togithub.com/pylint-dev/pylint/issues/9401) ### [`v3.0.2`](https://togithub.com/pylint-dev/astroid/blob/HEAD/ChangeLog#Whats-New-in-astroid-302) [Compare Source](https://togithub.com/pylint-dev/astroid/compare/v3.0.1...v3.0.2) \============================ Release date: 2023-12-12 - 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`. Closes [pylint-dev/pylint#9220](https://togithub.com/pylint-dev/pylint/issues/9220) ### [`v3.0.1`](https://togithub.com/pylint-dev/astroid/blob/HEAD/ChangeLog#Whats-New-in-astroid-301) [Compare Source](https://togithub.com/pylint-dev/astroid/compare/v3.0.0...v3.0.1) \============================ Release date: 2023-10-15 - Fix crashes linting code using PEP 695 (Python 3.12) generic type syntax. Closes [pylint-dev/pylint#9098](https://togithub.com/pylint-dev/pylint/issues/9098) ### [`v3.0.0`](https://togithub.com/pylint-dev/astroid/blob/HEAD/ChangeLog#Whats-New-in-astroid-300) [Compare Source](https://togithub.com/pylint-dev/astroid/compare/v2.15.8...v3.0.0) \============================= Release date: 2023-09-26 - Add support for Python 3.12, including PEP 695 type parameter syntax. Closes [#&#8203;2201](https://togithub.com/pylint-dev/astroid/issues/2201) - Remove support for Python 3.7. Refs [#&#8203;2137](https://togithub.com/pylint-dev/astroid/issues/2137) - 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.) Refs [#&#8203;529](https://togithub.com/pylint-dev/astroid/issues/529) - 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`. Closes [#&#8203;1072](https://togithub.com/pylint-dev/astroid/issues/1072) - 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). Refs [#&#8203;1633](https://togithub.com/pylint-dev/astroid/issues/1633) - Return all existing arguments when calling `Arguments.arguments()`. This also means `find_argname` will now use the whole list of arguments for its search. Closes [#&#8203;2213](https://togithub.com/pylint-dev/astroid/issues/2213) - Exclude class attributes from the `__members__` container of an `Enum` class when they are `nodes.AnnAssign` nodes with no assigned value. Refs [pylint-dev/pylint#7402](https://togithub.com/pylint-dev/pylint/issues/7402) - Remove `@cached` and `@cachedproperty` decorator (just use `@cached_property` from the stdlib). Closes [#&#8203;1780](https://togithub.com/pylint-dev/astroid/issues/1780) Refs [#&#8203;2140](https://togithub.com/pylint-dev/astroid/issues/2140) - Remove the `inference` module. Node inference methods are now in the module defining the node, rather than being associated to the node afterward. Closes [#&#8203;679](https://togithub.com/pylint-dev/astroid/issues/679) - 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`. Closes [#&#8203;2161](https://togithub.com/pylint-dev/astroid/issues/2161) - Make `igetattr()` idempotent. This addresses some reports of varying results when running pylint with `--jobs`. Closes [pylint-dev/pylint#4356](https://togithub.com/pylint-dev/pylint/issues/4356) Refs [#&#8203;7](https://togithub.com/pylint-dev/astroid/issues/7) - Fix incorrect cache keys for inference results, thereby correctly inferring types for calls instantiating types dynamically. Closes [#&#8203;1828](https://togithub.com/pylint-dev/astroid/issues/1828) Closes [pylint-dev/pylint#7464](https://togithub.com/pylint-dev/pylint/issues/7464) Closes [pylint-dev/pylint#8074](https://togithub.com/pylint-dev/pylint/issues/8074) - Fix interrupted `InferenceContext` call chains, thereby addressing performance problems when linting `sqlalchemy`. Closes [pylint-dev/pylint#8150](https://togithub.com/pylint-dev/pylint/issues/8150) - `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. The following nodes were changed or updated: - `nodes.AnnAssign` - `nodes.Arguments` - `nodes.Assign` - `nodes.AssignAttr` - `nodes.AssignName` - `nodes.Attribute` - `nodes.AugAssign` - `nodes.Await` - `nodes.BaseContainer` - `nodes.BinOp` - `nodes.Call` - `nodes.ClassDef` - `nodes.Compare` - `nodes.Comprehension` - `nodes.Decorators` - `nodes.Delete` - `nodes.DelAttr` - `nodes.DelName` - `nodes.Dict` - `nodes.DictComp` - `nodes.ExceptHandler` - `nodes.Expr` - `nodes.For` - `nodes.FunctionDef` - `nodes.GeneratorExp` - `nodes.If` - `nodes.IfExp` - `nodes.Keyword` - `nodes.Lambda` - `nodes.ListComp` - `nodes.Module` - `nodes.Name` - `nodes.NodeNG` - `nodes.Raise` - `nodes.Return` - `nodes.SetComp` - `nodes.Slice` - `nodes.Starred` - `objects.Super`, we also added the `call` parameter to its `__init__` method. - `nodes.Subscript` - `nodes.UnaryOp` - `nodes.While` - `nodes.Yield` These changes involve breaking changes to their API but should be considered bug fixes. We now make arguments required when they are instead of always providing defaults. - `nodes.If.self.is_orelse` has been removed as it was never set correctly and therefore provided a false value. - Remove dependency on `wrapt`. - Remove dependency on `lazy_object_proxy`. This includes the removal of the associated `lazy_import`, `lazy_descriptor` and `proxy_alias` utility functions. - `CallSite._unpack_args` and `CallSite._unpack_keywords` now use `safe_infer()` for better inference and fewer false positives. Closes [pylint-dev/pylint#8544](https://togithub.com/pylint-dev/pylint/issues/8544) - Add `attr.Factory` to the recognized class attributes for classes decorated with `attrs`. Closes [pylint-dev/pylint#4341](https://togithub.com/pylint-dev/pylint/issues/4341) - `infer_property()` now observes the same property-specific workaround as `infer_functiondef`. Refs [#&#8203;1490](https://togithub.com/pylint-dev/astroid/issues/1490) - Remove unused and / or deprecated constants: - `astroid.bases.BOOL_SPECIAL_METHOD` - `astroid.bases.BUILTINS` - `astroid.const.BUILTINS` - `astroid.const.PY38_PLUS` - `astroid.const.Load` - `astroid.const.Store` - `astroid.const.Del` Refs [#&#8203;2141](https://togithub.com/pylint-dev/astroid/issues/2141) - `frame()` raises `ParentMissingError` and `statement()` raises `StatementMissing` for missing parents regardless of the value of the `future` argument (which gave this behavior already). The `future` argument to each method is deprecated and will be removed in astroid 4.0. Refs [#&#8203;1217](https://togithub.com/pylint-dev/astroid/issues/1217) - Remove deprecated `Ellipsis`, `ExtSlice`, `Index` nodes. Refs [#&#8203;2152](https://togithub.com/pylint-dev/astroid/issues/2152) - Remove deprecated `is_sys_guard` and `is_typing_guard` methods. Refs [#&#8203;2153](https://togithub.com/pylint-dev/astroid/issues/2153) - Remove deprecated `doc` attribute for `Module`, `ClassDef`, and `FunctionDef`. Use the `doc_node` attribute instead. Refs [#&#8203;2154](https://togithub.com/pylint-dev/astroid/issues/2154) - Add new `nodes.Try` to better match Python AST. Replaces the `TryExcept` and `TryFinally` nodes which have been removed. - Publicize `NodeNG.repr_name()` to facilitate finding a node's nice name. Refs [pylint-dev/pylint#8598](https://togithub.com/pylint-dev/pylint/issues/8598) - Fix false positives for `no-member` and `invalid-name` when using the `_name_`, `_value_` and `_ignore_` sunders in Enums. Closes [pylint-dev/pylint#9015](https://togithub.com/pylint-dev/pylint/issues/9015) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "every weekend" in timezone Etc/UTC, Automerge - "every weekend" in timezone Etc/UTC. 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/canonical/rockcraft). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM1MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed stale Astroid 3.2.0 update closed unmerged because pylint needed to be upgraded alongside astroid.
stealth/space-bunny-alpha — closed stale Renovate’s astroid 3.2.0 update was closed unmerged because @lengau said astroid must be upgraded alongside pylint.
qwen/qwen3.6-35b-a3b — — Closed without merging. Maintainer declined the update because astroid requires a coordinated upgrade with pylint, so Renovate will ignore it.
qwen3.6-35b-a3b-mtp-q6 — — Closed without merging. The maintainer rejected the standalone update, noting that astroid v3 requires a coordinated upgrade alongside pylint to ensure compatibility.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1832 build(deps): update dependency astroid to v3.3.2 (main) charmcraft closed Astroid 3.3.2 update was closed unmerged; Renovate marked version 3.3.2 as ignored until a newer release.
78%
#114 chore(deps): update dependency lint/pylint to v3 craft-store closed Closed unmerged as obsolete because pylint was being removed after Ruff replaced it; cleanup merged in craft-store#118 via commit beb9201.
73%
#28 chore(deps): update dependency pydantic to v2 - autoclosed craft-grammar closed Renovate's Pydantic 2 bump was closed unmerged and superseded by dedicated migration PR #33, which landed in commit 5e225fb.
72%
#1227 build(deps): update dependency astroid to v3.3.11 (hotfix/1.5) rockcraft closed Renovate's astroid 3.3.11 update for hotfix/1.5 was closed unmerged after tests and linters failed; no replacement PR was recorded.
72%
#163 chore(deps): update dependency pydantic to v2 craft-application closed Renovate’s Pydantic 2.5.2 bump was closed unmerged and later replaced by merged migration PR #401 (commit c2f0978a).
71%
#68 chore(deps): update dependency pydantic_core to v2.27.2 - autoclosed imagecraft closed Renovate's pydantic_core 2.27.2 bump in #68 was autoclosed unmerged after inactivity; no resolving commit or replacement PR was identified.
70%