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

chore(deps): update dependency astroid to v3 - autoclosed #2001

Closed
wants to merge 8 commits into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 26, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
astroid ==2.15.8 -> ==3.0.1 age adoption passing confidence

Release Notes

pylint-dev/astroid (astroid)

v3.0.1

Compare Source

============================
Release date: 2023-10-15

v3.0.0

Compare Source

=============================
Release date: 2023-09-25

  • Add support for Python 3.12, including PEP 695 type parameter syntax.

    Closes #​2201

  • Remove support for Python 3.7.

    Refs #​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 #​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 #​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 #​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 #​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

  • Remove @cached and @cachedproperty decorator (just use @cached_property from the stdlib).

    Closes #​1780
    Refs #​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 #​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 #​2161

  • Make igetattr() idempotent. This addresses some reports of varying results
    when running pylint with --jobs.

    Closes pylint-dev/pylint#4356
    Refs #​7

  • Fix incorrect cache keys for inference results, thereby correctly inferring types
    for calls instantiating types dynamically.

    Closes #​1828
    Closes pylint-dev/pylint#7464
    Closes pylint-dev/pylint#8074

  • Fix interrupted InferenceContext call chains, thereby addressing performance
    problems when linting sqlalchemy.

    Closes pylint-dev/pylint#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:

    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

  • Add attr.Factory to the recognized class attributes for classes decorated with attrs.

    Closes pylint-dev/pylint#4341

  • infer_property() now observes the same property-specific workaround as infer_functiondef.

    Refs #​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 #​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 #​1217

  • Remove deprecated Ellipsis, ExtSlice, Index nodes.

    Refs #​2152

  • Remove deprecated is_sys_guard and is_typing_guard methods.

    Refs #​2153

  • Remove deprecated doc attribute for Module, ClassDef, and FunctionDef.
    Use the doc_node attribute instead.

    Refs #​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

  • Fix false positives for no-member and invalid-name when using the _name_, _value_ and _ignore_ sunders in Enums.

    Closes pylint-dev/pylint#9015


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot force-pushed the renovate/astroid-3.x branch 26 times, most recently from 885f16f to 72f7188 Compare October 3, 2023 15:02
@renovate renovate bot force-pushed the renovate/astroid-3.x branch 4 times, most recently from 1fec8b6 to 93f5c3f Compare October 5, 2023 01:19
@renovate renovate bot force-pushed the renovate/astroid-3.x branch 3 times, most recently from ab7ffa2 to 844c1f2 Compare October 16, 2023 03:47
@renovate renovate bot force-pushed the renovate/astroid-3.x branch 8 times, most recently from c49c4f4 to 74f391d Compare October 18, 2023 01:24
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@renovate renovate bot changed the title chore(deps): update dependency astroid to v3 chore(deps): update dependency astroid to v3 - autoclosed Oct 30, 2023
@renovate renovate bot closed this Oct 30, 2023
@renovate renovate bot deleted the renovate/astroid-3.x branch October 30, 2023 15:21
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.

0 participants