Skip to content

Commit ca93155

Browse files
committed
Fix hard dependency on anyio
1 parent 859d8b2 commit ca93155

File tree

2 files changed

+22
-5
lines changed

2 files changed

+22
-5
lines changed

pyproject.toml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "asyncclick"
3-
version = "8.2.2.1"
3+
version = "8.2.2.2"
44
description = "Composable command line interface toolkit, async fork"
55
readme = "README.md"
66
license = "BSD-3-Clause"
@@ -16,7 +16,6 @@ classifiers = [
1616
requires-python = ">=3.11"
1717
dependencies = [
1818
"colorama; platform_system == 'Windows'",
19-
"anyio",
2019
]
2120

2221
[project.urls]
@@ -35,6 +34,12 @@ docs = [
3534
"sphinx-tabs",
3635
"sphinxcontrib-log-cabinet",
3736
]
37+
anyio = [
38+
"anyio",
39+
]
40+
trio = [
41+
"trio",
42+
]
3843
docs-auto = [
3944
"sphinx-autobuild",
4045
]

src/click/core.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
from itertools import repeat
2222
from types import TracebackType
2323

24-
import anyio
25-
2624
from . import types
2725
from .exceptions import Abort
2826
from .exceptions import BadParameter
@@ -1508,7 +1506,21 @@ def __call__(self, *args: t.Any, _anyio_backend=None, **kwargs: t.Any) -> t.Any:
15081506
import asyncclick
15091507

15101508
_anyio_backend = asyncclick.anyio_backend
1511-
return anyio.run(self._main, main, args, kwargs, backend=_anyio_backend)
1509+
1510+
try:
1511+
import anyio
1512+
except ImportError:
1513+
pass
1514+
else:
1515+
return anyio.run(self._main, main, args, kwargs, backend=_anyio_backend)
1516+
if _anyio_backend == "trio":
1517+
import trio
1518+
return trio.run(self._main, main, args, kwargs)
1519+
if _anyio_backend == "asyncio":
1520+
import asyncio
1521+
return asyncio.run(self._main(main, args, kwargs))
1522+
raise RuntimeError(f"Backend {_anyio_backend !r} unknown")
1523+
15121524

15131525
async def _main(self, main, args, kwargs):
15141526
return await main(*args, **kwargs)

0 commit comments

Comments
 (0)