Skip to content

Commit 2219dcd

Browse files
committed
Fix compatibility with astroid v3
1 parent 0ba883a commit 2219dcd

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

autoapi/mappers/python/astroid_utils.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,7 @@ def resolve_qualname(node, basename):
7373
full_basename = basename
7474

7575
top_level_name = re.sub(r"\(.*\)", "", basename).split(".", 1)[0]
76-
# Disable until pylint uses astroid 2.7
77-
if isinstance(
78-
node, astroid.nodes.node_classes.LookupMixIn # pylint: disable=no-member
79-
):
76+
if isinstance(node, astroid.nodes.LocalsDictNodeNG):
8077
lookup_node = node
8178
else:
8279
lookup_node = node.scope()
@@ -417,7 +414,8 @@ def _resolve_annotation(annotation):
417414
elif isinstance(annotation, astroid.Subscript):
418415
value = _resolve_annotation(annotation.value)
419416
slice_node = annotation.slice
420-
if isinstance(slice_node, astroid.Index):
417+
# astroid.Index was removed in astroid v3
418+
if hasattr(astroid, "Index") and isinstance(slice_node, astroid.Index):
421419
slice_node = slice_node.value
422420
if isinstance(slice_node, astroid.Tuple):
423421
slice_ = ", ".join(_resolve_annotation(elt) for elt in slice_node.elts)

setup.cfg

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ include_package_data = True
3535
python_requires = >=3.7
3636
install_requires =
3737
anyascii
38-
astroid>=2.7
38+
astroid>=2.7;python_version<"3.12"
39+
astroid>=3.0.0a1;python_version>="3.12"
3940
Jinja2
4041
PyYAML
4142
sphinx>=5.2.0

0 commit comments

Comments
 (0)