1"""The asyncio package, tracking PEP 3156."""
2
3import sys
4
5# The selectors module is in the stdlib in Python 3.4 but not in 3.3.
6# Do this first, so the other submodules can use "from . import selectors".
7# Prefer asyncio/selectors.py over the stdlib one, as ours may be newer.
8try:
9    from . import selectors
10except ImportError:
11    import selectors  # Will also be exported.
12
13if sys.platform == 'win32':
14    # Similar thing for _overlapped.
15    try:
16        from . import _overlapped
17    except ImportError:
18        import _overlapped  # Will also be exported.
19
20# This relies on each of the submodules having an __all__ variable.
21from .base_events import *
22from .coroutines import *
23from .events import *
24from .futures import *
25from .locks import *
26from .protocols import *
27from .queues import *
28from .streams import *
29from .subprocess import *
30from .tasks import *
31from .transports import *
32
33__all__ = (base_events.__all__ +
34           coroutines.__all__ +
35           events.__all__ +
36           futures.__all__ +
37           locks.__all__ +
38           protocols.__all__ +
39           queues.__all__ +
40           streams.__all__ +
41           subprocess.__all__ +
42           tasks.__all__ +
43           transports.__all__)
44
45if sys.platform == 'win32':  # pragma: no cover
46    from .windows_events import *
47    __all__ += windows_events.__all__
48else:
49    from .unix_events import *  # pragma: no cover
50    __all__ += unix_events.__all__
51