concurrent.futures: fix top level available objects, add InvalidStateError (#4021)

* concurrent.futures: add InvalidStateError

* concurrent.futures: fix package imports

* asyncio.futures: fix import

* concurrent.futures: fix version availability for BrokenExecutor

* concurrent.futures: make consistent

* concurrent.futures: update whitelist

Co-authored-by: hauntsaninja <>
This commit is contained in:
Shantanu
2020-05-25 15:38:09 -07:00
committed by GitHub
parent 1996361adc
commit 18121d71c8
8 changed files with 43 additions and 19 deletions

View File

@@ -1,7 +1,7 @@
import sys
from typing import Any, Union, Callable, TypeVar, Type, List, Iterable, Generator, Awaitable, Optional, Tuple
from .events import AbstractEventLoop
from concurrent.futures import (
from concurrent.futures._base import (
Future as _ConcurrentFuture,
Error,
)

View File

@@ -1,3 +1,18 @@
from ._base import * # noqa: F403
from .thread import * # noqa: F403
from .process import * # noqa: F403
import sys
from ._base import (
FIRST_COMPLETED as FIRST_COMPLETED,
FIRST_EXCEPTION as FIRST_EXCEPTION,
ALL_COMPLETED as ALL_COMPLETED,
CancelledError as CancelledError,
TimeoutError as TimeoutError,
Future as Future,
Executor as Executor,
wait as wait,
as_completed as as_completed,
)
if sys.version_info >= (3, 8):
from ._base import InvalidStateError as InvalidStateError
if sys.version_info >= (3, 7):
from ._base import BrokenExecutor as BrokenExecutor
from .thread import ThreadPoolExecutor
from .process import ProcessPoolExecutor

View File

@@ -17,6 +17,8 @@ LOGGER: Logger
class Error(Exception): ...
class CancelledError(Error): ...
class TimeoutError(Error): ...
if sys.version_info >= (3, 8):
class InvalidStateError(Error): ...
if sys.version_info >= (3, 7):
class BrokenExecutor(RuntimeError): ...