diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 89751af..1633b3d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.12.0 + rev: v0.16.1 hooks: - id: ruff args: [--fix] diff --git a/demo.py b/demo.py index 0070871..54707ef 100644 --- a/demo.py +++ b/demo.py @@ -1,8 +1,10 @@ import asyncio import contextlib -import taskgroup + import exceptiongroup +import taskgroup + class ConnectionClosedError(Exception): pass diff --git a/taskgroup/__init__.py b/taskgroup/__init__.py index 31564ec..1e7a422 100644 --- a/taskgroup/__init__.py +++ b/taskgroup/__init__.py @@ -4,8 +4,8 @@ __version__ = "0.2.2" -__all__ = ["run", "Runner", "TaskGroup", "Timeout", "timeout", "timeout_at"] +__all__ = ["Runner", "TaskGroup", "Timeout", "run", "timeout", "timeout_at"] -from .runners import run, Runner +from .runners import Runner, run from .taskgroups import TaskGroup from .timeouts import Timeout, timeout, timeout_at diff --git a/taskgroup/install.py b/taskgroup/install.py index b4fd162..03733f8 100644 --- a/taskgroup/install.py +++ b/taskgroup/install.py @@ -1,17 +1,18 @@ -import sys -import contextvars import asyncio +import contextvars +import sys import types -from typing import cast, Optional, Type - -from .tasks import task_factory as _task_factory, Task as _Task +from typing import Optional, Type, cast from typing_extensions import Self, TypeVar +from .tasks import Task as _Task +from .tasks import task_factory as _task_factory + if sys.version_info >= (3, 9): - from collections.abc import Generator, Coroutine + from collections.abc import Coroutine, Generator else: - from typing import Generator, Coroutine + from typing import Coroutine, Generator UNCANCEL_DONE = object() diff --git a/taskgroup/runners.py b/taskgroup/runners.py index 7ccd0e1..16c08e0 100644 --- a/taskgroup/runners.py +++ b/taskgroup/runners.py @@ -6,15 +6,14 @@ __all__ = ("Runner", "run") -import sys - import collections.abc import contextvars import enum import functools import signal +import sys import threading -from asyncio import AbstractEventLoop, coroutines, events, exceptions, tasks, constants +from asyncio import AbstractEventLoop, constants, coroutines, events, exceptions, tasks from typing import Any, TypeVar, final from typing_extensions import Self @@ -118,7 +117,7 @@ def run( ) -> _T: """Run a coroutine inside the embedded event loop.""" if not coroutines.iscoroutine(coro): - raise ValueError("a coroutine was expected, got {!r}".format(coro)) + raise ValueError(f"a coroutine was expected, got {coro!r}") if events._get_running_loop() is not None: # fail fast with short traceback diff --git a/taskgroup/taskgroups.py b/taskgroup/taskgroups.py index 212c5fd..76f3a05 100644 --- a/taskgroup/taskgroups.py +++ b/taskgroup/taskgroups.py @@ -6,27 +6,24 @@ from __future__ import annotations __all__ = ["TaskGroup"] -import sys -from types import TracebackType -from asyncio import events -from asyncio import exceptions -from asyncio import tasks -from asyncio import futures import asyncio +import contextlib import contextvars -from typing import Optional, Type -from . import install as _install -from . import tasks as _tasks +import sys +from asyncio import events, exceptions, futures, tasks +from types import TracebackType +from typing import Any, Optional, Type, Union from exceptiongroup import BaseExceptionGroup -from typing import Any, Union -from typing_extensions import Self, TypeAlias, Literal, TypeVar -import contextlib +from typing_extensions import Literal, Self, TypeAlias, TypeVar + +from . import install as _install +from . import tasks as _tasks if sys.version_info >= (3, 9): - from collections.abc import Generator, Coroutine, Awaitable + from collections.abc import Awaitable, Coroutine, Generator else: - from typing import Generator, Coroutine, Awaitable + from typing import Awaitable, Coroutine, Generator _T = TypeVar("_T") diff --git a/taskgroup/tasks.py b/taskgroup/tasks.py index c30e83a..9ba238d 100644 --- a/taskgroup/tasks.py +++ b/taskgroup/tasks.py @@ -2,14 +2,15 @@ import asyncio import contextvars -from typing import Any, Union, TYPE_CHECKING, Generic -from typing_extensions import TypeAlias, TypeVar, Self import sys +from typing import TYPE_CHECKING, Any, Generic, Union + +from typing_extensions import Self, TypeAlias, TypeVar if sys.version_info >= (3, 9): - from collections.abc import Generator, Coroutine, Awaitable + from collections.abc import Awaitable, Coroutine, Generator else: - from typing import Generator, Coroutine, Awaitable + from typing import Awaitable, Coroutine, Generator _YieldT_co = TypeVar("_YieldT_co", covariant=True) _SendT_contra = TypeVar("_SendT_contra", contravariant=True, default=None) diff --git a/taskgroup/timeouts.py b/taskgroup/timeouts.py index 11457ad..4be03a0 100644 --- a/taskgroup/timeouts.py +++ b/taskgroup/timeouts.py @@ -6,16 +6,13 @@ import contextlib import enum +from asyncio import events, exceptions, tasks from types import TracebackType -from typing import final, Optional, Type - -from asyncio import events -from asyncio import exceptions -from asyncio import tasks -from . import install as _install +from typing import Optional, Type, final from typing_extensions import Self +from . import install as _install __all__ = ( "Timeout",