codekingpro/portable-devtools
114k
1from __future__ import annotations2 3import asyncio4from collections.abc import Callable5 6 7def auto_loop_factory(use_subprocess: bool = False) -> Callable[[], asyncio.AbstractEventLoop]:8 try:9 import uvloop # noqa10 except ImportError: # pragma: no cover11 from uvicorn.loops.asyncio import asyncio_loop_factory as loop_factory12 13 return loop_factory(use_subprocess=use_subprocess)14 else: # pragma: no cover15 from uvicorn.loops.uvloop import uvloop_loop_factory16 17 return uvloop_loop_factory(use_subprocess=use_subprocess)18 