-
Notifications
You must be signed in to change notification settings - Fork 25
Open
Description
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 =====================================================================================Metadata
Metadata
Assignees
Labels
No labels