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

0.12.0: not ready for python 3.9 list, tuple, set, dict (lower case) #204

Open
kloczek opened this issue Nov 9, 2024 · 0 comments
Open

Comments

@kloczek
Copy link

kloczek commented Nov 9, 2024

Description

Pyton 3.8 just has been EOSed month ago (https://endoflife.date/python) so I've been trying to use pyupgrade --py39-plus to check is current code ready to automatic upgrade.
Looks like it is not because it uses (upper case) Set, List, Dict etc.
Please have look on https://flycoolman.com/coding/python/list-tuple-dict-vs-list-tuple-dict/

Details

Here is the patch generated by `pypgrade --py39-plus`
--- a/aioitertools/asyncio.py
+++ b/aioitertools/asyncio.py
@@ -11,17 +11,14 @@
 import time
 from typing import (
     Any,
-    AsyncGenerator,
-    AsyncIterable,
-    Awaitable,
     cast,
     Dict,
-    Iterable,
     List,
     Optional,
     Set,
     Tuple,
 )
+from collections.abc import AsyncGenerator, AsyncIterable, Awaitable, Iterable

 from .builtins import iter as aiter, maybe_await
 from .types import AnyIterable, AsyncIterator, MaybeAwaitable, T
@@ -47,8 +44,8 @@
             ...  # use value immediately

     """
-    done: Set[Awaitable[T]] = set()
-    pending: Set[Awaitable[T]] = {asyncio.ensure_future(a) for a in aws}
+    done: set[Awaitable[T]] = set()
+    pending: set[Awaitable[T]] = {asyncio.ensure_future(a) for a in aws}
     remaining: Optional[float] = None

     if timeout and timeout > 0:
@@ -75,7 +72,7 @@
         # asyncio.Future: https://github.com/python/typeshed/blob/72ff7b94e534c610ddf8939bacbc55343e9465d2/stdlib/3/asyncio/futures.pyi#L30  # noqa: E501
         # asyncio.wait(): https://github.com/python/typeshed/blob/72ff7b94e534c610ddf8939bacbc55343e9465d2/stdlib/3/asyncio/tasks.pyi#L89  # noqa: E501
         done, pending = cast(
-            Tuple[Set[Awaitable[T]], Set[Awaitable[T]]],
+            tuple[set[Awaitable[T]], set[Awaitable[T]]],
             await asyncio.wait(
                 pending,
                 timeout=remaining,
@@ -172,7 +169,7 @@
     *args: Awaitable[T],
     return_exceptions: bool = False,
     limit: int = -1,
-) -> List[Any]:
+) -> list[Any]:
     """
     Like asyncio.gather but with a limit on concurrency.

@@ -189,13 +186,13 @@
     """

     # For detecting input duplicates and reconciling them at the end
-    input_map: Dict[Awaitable[T], List[int]] = {}
+    input_map: dict[Awaitable[T], list[int]] = {}
     # This is keyed on what we'll get back from asyncio.wait
-    pos: Dict[asyncio.Future[T], int] = {}
-    ret: List[Any] = [None] * len(args)
+    pos: dict[asyncio.Future[T], int] = {}
+    ret: list[Any] = [None] * len(args)

-    pending: Set[asyncio.Future[T]] = set()
-    done: Set[asyncio.Future[T]] = set()
+    pending: set[asyncio.Future[T]] = set()
+    done: set[asyncio.Future[T]] = set()

     next_arg = 0

@@ -251,7 +248,7 @@
     itr: AnyIterable[MaybeAwaitable[T]],
     return_exceptions: bool = False,
     limit: int = -1,
-) -> List[T]:
+) -> list[T]:
     """
     Wrapper around gather to handle gathering an iterable instead of ``*args``.

--- a/aioitertools/builtins.py
+++ b/aioitertools/builtins.py
@@ -16,11 +16,8 @@
 from enum import Enum
 from typing import (
     Any,
-    AsyncIterable,
-    AsyncIterator,
     Callable,
     cast,
-    Iterable,
     List,
     Optional,
     overload,
@@ -28,6 +25,7 @@
     Tuple,
     Union,
 )
+from collections.abc import AsyncIterable, AsyncIterator, Iterable

 from . import asyncio as ait_asyncio
 from .helpers import maybe_await, Orderable
@@ -150,7 +148,7 @@
         return default


-async def list(itr: AnyIterable[T]) -> List[T]:
+async def list(itr: AnyIterable[T]) -> list[T]:
     """
     Consume a mixed iterable and return a list of items in order.

@@ -163,7 +161,7 @@
     return [item async for item in iter(itr)]


-async def tuple(itr: AnyIterable[T]) -> Tuple[T, ...]:
+async def tuple(itr: AnyIterable[T]) -> tuple[T, ...]:
     """
     Consume a mixed iterable and return a tuple of items in order.

@@ -177,7 +175,7 @@
     return builtins.tuple(await list(itr))


-async def set(itr: AnyIterable[T]) -> Set[T]:
+async def set(itr: AnyIterable[T]) -> set[T]:
     """
     Consume a mixed iterable and return a set of items.

@@ -192,7 +190,7 @@

 async def enumerate(
     itr: AnyIterable[T], start: int = 0
-) -> AsyncIterator[Tuple[int, T]]:
+) -> AsyncIterator[tuple[int, T]]:
     """
     Consume a mixed iterable and yield the current index and item.

@@ -364,21 +362,21 @@


 @overload
-def zip(__iter1: AnyIterable[T1]) -> AsyncIterator[Tuple[T1]]:  # pragma: no cover
+def zip(__iter1: AnyIterable[T1]) -> AsyncIterator[tuple[T1]]:  # pragma: no cover
     pass


 @overload
 def zip(
     __iter1: AnyIterable[T1], __iter2: AnyIterable[T2]
-) -> AsyncIterator[Tuple[T1, T2]]:  # pragma: no cover
+) -> AsyncIterator[tuple[T1, T2]]:  # pragma: no cover
     pass


 @overload
 def zip(
     __iter1: AnyIterable[T1], __iter2: AnyIterable[T2], __iter3: AnyIterable[T3]
-) -> AsyncIterator[Tuple[T1, T2, T3]]:  # pragma: no cover
+) -> AsyncIterator[tuple[T1, T2, T3]]:  # pragma: no cover
     pass


@@ -388,7 +386,7 @@
     __iter2: AnyIterable[T2],
     __iter3: AnyIterable[T3],
     __iter4: AnyIterable[T4],
-) -> AsyncIterator[Tuple[T1, T2, T3, T4]]:  # pragma: no cover
+) -> AsyncIterator[tuple[T1, T2, T3, T4]]:  # pragma: no cover
     pass


@@ -399,7 +397,7 @@
     __iter3: AnyIterable[T3],
     __iter4: AnyIterable[T4],
     __iter5: AnyIterable[T5],
-) -> AsyncIterator[Tuple[T1, T2, T3, T4, T5]]:  # pragma: no cover
+) -> AsyncIterator[tuple[T1, T2, T3, T4, T5]]:  # pragma: no cover
     pass


@@ -412,11 +410,11 @@
     __iter5: AnyIterable[Any],
     __iter6: AnyIterable[Any],
     *__iterables: AnyIterable[Any],
-) -> AsyncIterator[Tuple[Any, ...]]:  # pragma: no cover
+) -> AsyncIterator[tuple[Any, ...]]:  # pragma: no cover
     pass


-async def zip(*itrs: AnyIterable[Any]) -> AsyncIterator[Tuple[Any, ...]]:
+async def zip(*itrs: AnyIterable[Any]) -> AsyncIterator[tuple[Any, ...]]:
     """
     Yield a tuple of items from mixed iterables until the shortest is consumed.

@@ -426,7 +424,7 @@
             ...

     """
-    its: List[AsyncIterator[Any]] = [iter(itr) for itr in itrs]
+    its: list[AsyncIterator[Any]] = [iter(itr) for itr in itrs]

     while True:
         values = await asyncio.gather(
--- a/aioitertools/itertools.py
+++ b/aioitertools/itertools.py
@@ -17,7 +17,8 @@
 import builtins
 import itertools
 import operator
-from typing import Any, AsyncIterator, List, Optional, overload, Tuple
+from typing import Any, List, Optional, overload, Tuple
+from collections.abc import AsyncIterator

 from .builtins import enumerate, iter, list, next, tuple, zip
 from .helpers import maybe_await
@@ -71,7 +72,7 @@
     n: int,
     *,
     strict: bool = False,
-) -> AsyncIterator[Tuple[T, ...]]:
+) -> AsyncIterator[tuple[T, ...]]:
     """
     Yield batches of values from the given iterable. The final batch may be shorter.

@@ -119,7 +120,7 @@
 chain = Chain()


-async def combinations(itr: AnyIterable[T], r: int) -> AsyncIterator[Tuple[T, ...]]:
+async def combinations(itr: AnyIterable[T], r: int) -> AsyncIterator[tuple[T, ...]]:
     """
     Yield r length subsequences from the given iterable.

@@ -132,14 +133,14 @@
             ...  # (0, 1, 2), (0, 1, 3), (0, 2, 3), (1, 2, 3)

     """
-    pool: List[T] = await list(itr)
+    pool: list[T] = await list(itr)
     for value in itertools.combinations(pool, r):
         yield value


 async def combinations_with_replacement(
     itr: AnyIterable[T], r: int
-) -> AsyncIterator[Tuple[T, ...]]:
+) -> AsyncIterator[tuple[T, ...]]:
     """
     Yield r length subsequences from the given iterable with replacement.

@@ -152,7 +153,7 @@
             ...  # ("A", "A"), ("A", "B"), ("A", "C"), ("B", "B"), ...

     """
-    pool: List[T] = await list(itr)
+    pool: list[T] = await list(itr)
     for value in itertools.combinations_with_replacement(pool, r):
         yield value

@@ -264,20 +265,20 @@


 @overload
-def groupby(itr: AnyIterable[T]) -> AsyncIterator[Tuple[T, List[T]]]:  # pragma: nocover
+def groupby(itr: AnyIterable[T]) -> AsyncIterator[tuple[T, list[T]]]:  # pragma: nocover
     pass


 @overload
 def groupby(
     itr: AnyIterable[T], key: KeyFunction[T, R]
-) -> AsyncIterator[Tuple[R, List[T]]]:  # pragma: nocover
+) -> AsyncIterator[tuple[R, list[T]]]:  # pragma: nocover
     pass


 async def groupby(
     itr: AnyIterable[T], key: Optional[KeyFunction[T, R]] = None
-) -> AsyncIterator[Tuple[Any, List[T]]]:
+) -> AsyncIterator[tuple[Any, list[T]]]:
     """
     Yield consecutive keys and groupings from the given iterable.

@@ -298,7 +299,7 @@
     if key is None:
         key = lambda x: x  # noqa: E731

-    grouping: List[T] = []
+    grouping: list[T] = []

     it = iter(itr)
     try:
@@ -385,7 +386,7 @@

 async def permutations(
     itr: AnyIterable[T], r: Optional[int] = None
-) -> AsyncIterator[Tuple[T, ...]]:
+) -> AsyncIterator[tuple[T, ...]]:
     """
     Yield r length permutations of elements in the iterable.

@@ -398,14 +399,14 @@
             ...  # (0, 1, 2), (0, 2, 1), (1, 0, 2), ...

     """
-    pool: List[T] = await list(itr)
+    pool: list[T] = await list(itr)
     for value in itertools.permutations(pool, r):
         yield value


 async def product(
     *itrs: AnyIterable[T], repeat: int = 1
-) -> AsyncIterator[Tuple[T, ...]]:
+) -> AsyncIterator[tuple[T, ...]]:
     """
     Yield cartesian products of all iterables.

@@ -489,7 +490,7 @@
             break


-def tee(itr: AnyIterable[T], n: int = 2) -> Tuple[AsyncIterator[T], ...]:
+def tee(itr: AnyIterable[T], n: int = 2) -> tuple[AsyncIterator[T], ...]:
     """
     Return n iterators that each yield items from the given iterable.

@@ -516,7 +517,7 @@
     """
     assert n > 0
     sentinel = object()
-    queues: List[asyncio.Queue] = [asyncio.Queue() for k in range(n)]
+    queues: list[asyncio.Queue] = [asyncio.Queue() for k in range(n)]

     async def gen(k: int, q: asyncio.Queue) -> AsyncIterator[T]:
         if k == 0:
@@ -546,7 +547,7 @@

 async def zip_longest(
     *itrs: AnyIterable[Any], fillvalue: Any = None
-) -> AsyncIterator[Tuple[Any, ...]]:
+) -> AsyncIterator[tuple[Any, ...]]:
     """
     Yield a tuple of items from mixed iterables until all are consumed.

@@ -563,7 +564,7 @@
             b  # 0, 1, 2,  3,  4

     """
-    its: List[AsyncIterator[Any]] = [iter(itr) for itr in itrs]
+    its: list[AsyncIterator[Any]] = [iter(itr) for itr in itrs]
     itr_count = len(its)
     finished = 0

--- a/aioitertools/more_itertools.py
+++ b/aioitertools/more_itertools.py
@@ -2,7 +2,8 @@
 # Licensed under the MIT license

 import asyncio
-from typing import AsyncIterable, List, Tuple, TypeVar
+from typing import List, Tuple, TypeVar
+from collections.abc import AsyncIterable

 from aioitertools.helpers import maybe_await

@@ -14,7 +15,7 @@
 T = TypeVar("T")


-async def take(n: int, iterable: AnyIterable[T]) -> List[T]:
+async def take(n: int, iterable: AnyIterable[T]) -> list[T]:
     """
     Return the first n items of iterable as a list.

@@ -31,7 +32,7 @@
     return [item async for item in islice(iterable, n)]


-async def chunked(iterable: AnyIterable[T], n: int) -> AsyncIterable[List[T]]:
+async def chunked(iterable: AnyIterable[T], n: int) -> AsyncIterable[list[T]]:
     """
     Break iterable into chunks of length n.

@@ -52,7 +53,7 @@

 async def before_and_after(
     predicate: Predicate[T], iterable: AnyIterable[T]
-) -> Tuple[AsyncIterable[T], AsyncIterable[T]]:
+) -> tuple[AsyncIterable[T], AsyncIterable[T]]:
     """
     A variant of :func:`aioitertools.takewhile` that allows complete access to the
     remainder of the iterator.
--- a/aioitertools/tests/builtins.py
+++ b/aioitertools/tests/builtins.py
@@ -2,7 +2,7 @@
 # Licensed under the MIT license

 import asyncio
-from typing import AsyncIterator
+from collections.abc import AsyncIterator
 from unittest import TestCase

 import aioitertools as ait
--- a/aioitertools/tests/more_itertools.py
+++ b/aioitertools/tests/more_itertools.py
@@ -1,7 +1,7 @@
 # Copyright 2022 Amethyst Reese
 # Licensed under the MIT license

-from typing import AsyncIterable
+from collections.abc import AsyncIterable
 from unittest import TestCase

 import aioitertools.more_itertools as mit
--- a/aioitertools/types.py
+++ b/aioitertools/types.py
@@ -4,15 +4,11 @@
 import sys

 from typing import (
-    AsyncIterable,
-    AsyncIterator,
-    Awaitable,
     Callable,
-    Iterable,
-    Iterator,
     TypeVar,
     Union,
 )
+from collections.abc import AsyncIterable, AsyncIterator, Awaitable, Iterable, Iterator

 if sys.version_info < (3, 10):  # pragma: no cover
     from typing_extensions import ParamSpec
--- a/aioitertools/helpers.py
+++ b/aioitertools/helpers.py
@@ -3,7 +3,8 @@

 import inspect
 import sys
-from typing import Awaitable, Union
+from typing import Union
+from collections.abc import Awaitable

 from .types import T

With that patch pytest fails with

+ /usr/bin/pytest -ra -m 'not network' aioitertools/tests/__init__.py aioitertools/tests/__main__.py aioitertools/tests/asyncio.py aioitertools/tests/builtins.py aioitertools/tests/helpers.py aioitertools/tests/itertools.py aioitertools/tests/more_itertools.py
==================================================================================== test session starts ====================================================================================
platform linux -- Python 3.10.14, pytest-8.2.2, pluggy-1.5.0
rootdir: /home/tkloczko/rpmbuild/BUILD/aioitertools-0.12.0
configfile: pyproject.toml
collected 0 items / 7 errors

========================================================================================== ERRORS ===========================================================================================
______________________________________________________________________ ERROR collecting aioitertools/tests/__init__.py ______________________________________________________________________
/usr/lib64/python3.10/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:992: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:1006: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:688: in _load_unlocked
    ???
<frozen importlib._bootstrap_external>:883: in exec_module
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
aioitertools/__init__.py:9: in <module>
    from . import asyncio
aioitertools/asyncio.py:23: in <module>
    from .builtins import iter as aiter, maybe_await
aioitertools/builtins.py:193: in <module>
    ) -> AsyncIterator[tuple[int, T]]:
E   TypeError: 'function' object is not subscriptable
______________________________________________________________________ ERROR collecting aioitertools/tests/__main__.py ______________________________________________________________________
/usr/lib64/python3.10/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:992: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:992: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:1006: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:688: in _load_unlocked
    ???
<frozen importlib._bootstrap_external>:883: in exec_module
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
aioitertools/__init__.py:9: in <module>
    from . import asyncio
aioitertools/asyncio.py:23: in <module>
    from .builtins import iter as aiter, maybe_await
aioitertools/builtins.py:193: in <module>
    ) -> AsyncIterator[tuple[int, T]]:
E   TypeError: 'function' object is not subscriptable
______________________________________________________________________ ERROR collecting aioitertools/tests/asyncio.py _______________________________________________________________________
/usr/lib64/python3.10/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:992: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:992: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:1006: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:688: in _load_unlocked
    ???
<frozen importlib._bootstrap_external>:883: in exec_module
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
aioitertools/__init__.py:9: in <module>
    from . import asyncio
aioitertools/asyncio.py:23: in <module>
    from .builtins import iter as aiter, maybe_await
aioitertools/builtins.py:193: in <module>
    ) -> AsyncIterator[tuple[int, T]]:
E   TypeError: 'function' object is not subscriptable
______________________________________________________________________ ERROR collecting aioitertools/tests/builtins.py ______________________________________________________________________
/usr/lib64/python3.10/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:992: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:992: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:1006: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:688: in _load_unlocked
    ???
<frozen importlib._bootstrap_external>:883: in exec_module
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
aioitertools/__init__.py:9: in <module>
    from . import asyncio
aioitertools/asyncio.py:23: in <module>
    from .builtins import iter as aiter, maybe_await
aioitertools/builtins.py:193: in <module>
    ) -> AsyncIterator[tuple[int, T]]:
E   TypeError: 'function' object is not subscriptable
______________________________________________________________________ ERROR collecting aioitertools/tests/helpers.py _______________________________________________________________________
/usr/lib64/python3.10/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:992: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:992: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:1006: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:688: in _load_unlocked
    ???
<frozen importlib._bootstrap_external>:883: in exec_module
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
aioitertools/__init__.py:9: in <module>
    from . import asyncio
aioitertools/asyncio.py:23: in <module>
    from .builtins import iter as aiter, maybe_await
aioitertools/builtins.py:193: in <module>
    ) -> AsyncIterator[tuple[int, T]]:
E   TypeError: 'function' object is not subscriptable
_____________________________________________________________________ ERROR collecting aioitertools/tests/itertools.py ______________________________________________________________________
/usr/lib64/python3.10/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:992: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:992: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:1006: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:688: in _load_unlocked
    ???
<frozen importlib._bootstrap_external>:883: in exec_module
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
aioitertools/__init__.py:9: in <module>
    from . import asyncio
aioitertools/asyncio.py:23: in <module>
    from .builtins import iter as aiter, maybe_await
aioitertools/builtins.py:193: in <module>
    ) -> AsyncIterator[tuple[int, T]]:
E   TypeError: 'function' object is not subscriptable
___________________________________________________________________ ERROR collecting aioitertools/tests/more_itertools.py ___________________________________________________________________
/usr/lib64/python3.10/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:992: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:992: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:1006: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:688: in _load_unlocked
    ???
<frozen importlib._bootstrap_external>:883: in exec_module
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
aioitertools/__init__.py:9: in <module>
    from . import asyncio
aioitertools/asyncio.py:23: in <module>
    from .builtins import iter as aiter, maybe_await
aioitertools/builtins.py:193: in <module>
    ) -> AsyncIterator[tuple[int, T]]:
E   TypeError: 'function' object is not subscriptable
================================================================================== short test summary info ==================================================================================
ERROR aioitertools/tests/__init__.py - TypeError: 'function' object is not subscriptable
ERROR aioitertools/tests/__main__.py - TypeError: 'function' object is not subscriptable
ERROR aioitertools/tests/asyncio.py - TypeError: 'function' object is not subscriptable
ERROR aioitertools/tests/builtins.py - TypeError: 'function' object is not subscriptable
ERROR aioitertools/tests/helpers.py - TypeError: 'function' object is not subscriptable
ERROR aioitertools/tests/itertools.py - TypeError: 'function' object is not subscriptable
ERROR aioitertools/tests/more_itertools.py - TypeError: 'function' object is not subscriptable
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 7 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
===================================================================================== 7 errors in 0.33s =====================================================================================
@kloczek kloczek changed the title 0.12.0: not ready for python 3.9 list, tiple, set, disct (lowe case) 0.12.0: not ready for python 3.9 list, tuple, set, dict (lower case) Nov 9, 2024
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

No branches or pull requests

1 participant