127b7c7ebf1039e96cac41b6330cf16b5632d9e49Guido van Rossum"""The asyncio package, tracking PEP 3156."""
227b7c7ebf1039e96cac41b6330cf16b5632d9e49Guido van Rossum
327b7c7ebf1039e96cac41b6330cf16b5632d9e49Guido van Rossumimport sys
427b7c7ebf1039e96cac41b6330cf16b5632d9e49Guido van Rossum
527b7c7ebf1039e96cac41b6330cf16b5632d9e49Guido van Rossum# The selectors module is in the stdlib in Python 3.4 but not in 3.3.
627b7c7ebf1039e96cac41b6330cf16b5632d9e49Guido van Rossum# Do this first, so the other submodules can use "from . import selectors".
75969128a865db887a8a723acc46d5ebd720ebfe8Guido van Rossum# Prefer asyncio/selectors.py over the stdlib one, as ours may be newer.
827b7c7ebf1039e96cac41b6330cf16b5632d9e49Guido van Rossumtry:
927b7c7ebf1039e96cac41b6330cf16b5632d9e49Guido van Rossum    from . import selectors
105969128a865db887a8a723acc46d5ebd720ebfe8Guido van Rossumexcept ImportError:
115969128a865db887a8a723acc46d5ebd720ebfe8Guido van Rossum    import selectors  # Will also be exported.
125969128a865db887a8a723acc46d5ebd720ebfe8Guido van Rossum
135969128a865db887a8a723acc46d5ebd720ebfe8Guido van Rossumif sys.platform == 'win32':
145969128a865db887a8a723acc46d5ebd720ebfe8Guido van Rossum    # Similar thing for _overlapped.
155969128a865db887a8a723acc46d5ebd720ebfe8Guido van Rossum    try:
165969128a865db887a8a723acc46d5ebd720ebfe8Guido van Rossum        from . import _overlapped
175969128a865db887a8a723acc46d5ebd720ebfe8Guido van Rossum    except ImportError:
185969128a865db887a8a723acc46d5ebd720ebfe8Guido van Rossum        import _overlapped  # Will also be exported.
1927b7c7ebf1039e96cac41b6330cf16b5632d9e49Guido van Rossum
2027b7c7ebf1039e96cac41b6330cf16b5632d9e49Guido van Rossum# This relies on each of the submodules having an __all__ variable.
218c1a4a2326e8a81bd4cc4fb81e51c003059cd687Victor Stinnerfrom .base_events import *
22f951d28ac890063e3ecef56aa8cf851b1152d9ddVictor Stinnerfrom .coroutines import *
2327b7c7ebf1039e96cac41b6330cf16b5632d9e49Guido van Rossumfrom .events import *
248dffc456d74a3a4395ac7a8f3957ff74f7f66753Victor Stinnerfrom .futures import *
2527b7c7ebf1039e96cac41b6330cf16b5632d9e49Guido van Rossumfrom .locks import *
2627b7c7ebf1039e96cac41b6330cf16b5632d9e49Guido van Rossumfrom .protocols import *
278dffc456d74a3a4395ac7a8f3957ff74f7f66753Victor Stinnerfrom .queues import *
2827b7c7ebf1039e96cac41b6330cf16b5632d9e49Guido van Rossumfrom .streams import *
29915bcb01110c7db65f8be9139bf887c749fbde75Victor Stinnerfrom .subprocess import *
3027b7c7ebf1039e96cac41b6330cf16b5632d9e49Guido van Rossumfrom .tasks import *
318dffc456d74a3a4395ac7a8f3957ff74f7f66753Victor Stinnerfrom .transports import *
3227b7c7ebf1039e96cac41b6330cf16b5632d9e49Guido van Rossum
338c1a4a2326e8a81bd4cc4fb81e51c003059cd687Victor Stinner__all__ = (base_events.__all__ +
348c1a4a2326e8a81bd4cc4fb81e51c003059cd687Victor Stinner           coroutines.__all__ +
35f951d28ac890063e3ecef56aa8cf851b1152d9ddVictor Stinner           events.__all__ +
368dffc456d74a3a4395ac7a8f3957ff74f7f66753Victor Stinner           futures.__all__ +
3727b7c7ebf1039e96cac41b6330cf16b5632d9e49Guido van Rossum           locks.__all__ +
3827b7c7ebf1039e96cac41b6330cf16b5632d9e49Guido van Rossum           protocols.__all__ +
398dffc456d74a3a4395ac7a8f3957ff74f7f66753Victor Stinner           queues.__all__ +
4027b7c7ebf1039e96cac41b6330cf16b5632d9e49Guido van Rossum           streams.__all__ +
41915bcb01110c7db65f8be9139bf887c749fbde75Victor Stinner           subprocess.__all__ +
428dffc456d74a3a4395ac7a8f3957ff74f7f66753Victor Stinner           tasks.__all__ +
438dffc456d74a3a4395ac7a8f3957ff74f7f66753Victor Stinner           transports.__all__)
44be0a2d767cd603046a4709c9a3fb049a3ae25bd7Victor Stinner
45be0a2d767cd603046a4709c9a3fb049a3ae25bd7Victor Stinnerif sys.platform == 'win32':  # pragma: no cover
46be0a2d767cd603046a4709c9a3fb049a3ae25bd7Victor Stinner    from .windows_events import *
47be0a2d767cd603046a4709c9a3fb049a3ae25bd7Victor Stinner    __all__ += windows_events.__all__
48be0a2d767cd603046a4709c9a3fb049a3ae25bd7Victor Stinnerelse:
49be0a2d767cd603046a4709c9a3fb049a3ae25bd7Victor Stinner    from .unix_events import *  # pragma: no cover
50be0a2d767cd603046a4709c9a3fb049a3ae25bd7Victor Stinner    __all__ += unix_events.__all__
51