Guido van Rossum | 27b7c7e | 2013-10-17 13:40:50 -0700 | [diff] [blame] | 1 | """The asyncio package, tracking PEP 3156.""" |
| 2 | |
Yury Selivanov | 6370f34 | 2017-12-10 18:36:12 -0500 | [diff] [blame] | 3 | # flake8: noqa |
| 4 | |
Guido van Rossum | 27b7c7e | 2013-10-17 13:40:50 -0700 | [diff] [blame] | 5 | import sys |
Andrew Svetlov | 23b4b69 | 2019-05-27 22:56:22 +0300 | [diff] [blame] | 6 | import warnings |
Guido van Rossum | 27b7c7e | 2013-10-17 13:40:50 -0700 | [diff] [blame] | 7 | |
Guido van Rossum | 27b7c7e | 2013-10-17 13:40:50 -0700 | [diff] [blame] | 8 | # This relies on each of the submodules having an __all__ variable. |
Victor Stinner | 8c1a4a2 | 2015-01-06 01:03:58 +0100 | [diff] [blame] | 9 | from .base_events import * |
Victor Stinner | f951d28 | 2014-06-29 00:46:45 +0200 | [diff] [blame] | 10 | from .coroutines import * |
Guido van Rossum | 27b7c7e | 2013-10-17 13:40:50 -0700 | [diff] [blame] | 11 | from .events import * |
Andrew Svetlov | 0baa72f | 2018-09-11 10:13:04 -0700 | [diff] [blame] | 12 | from .exceptions import * |
Victor Stinner | 8dffc45 | 2014-01-25 15:32:06 +0100 | [diff] [blame] | 13 | from .futures import * |
Guido van Rossum | 27b7c7e | 2013-10-17 13:40:50 -0700 | [diff] [blame] | 14 | from .locks import * |
Guido van Rossum | 27b7c7e | 2013-10-17 13:40:50 -0700 | [diff] [blame] | 15 | from .protocols import * |
Yury Selivanov | 02a0a19 | 2017-12-14 09:42:21 -0500 | [diff] [blame] | 16 | from .runners import * |
Victor Stinner | 8dffc45 | 2014-01-25 15:32:06 +0100 | [diff] [blame] | 17 | from .queues import * |
Guido van Rossum | 27b7c7e | 2013-10-17 13:40:50 -0700 | [diff] [blame] | 18 | from .streams import * |
Victor Stinner | 915bcb0 | 2014-02-01 22:49:59 +0100 | [diff] [blame] | 19 | from .subprocess import * |
Guido van Rossum | 27b7c7e | 2013-10-17 13:40:50 -0700 | [diff] [blame] | 20 | from .tasks import * |
Victor Stinner | 8dffc45 | 2014-01-25 15:32:06 +0100 | [diff] [blame] | 21 | from .transports import * |
Guido van Rossum | 27b7c7e | 2013-10-17 13:40:50 -0700 | [diff] [blame] | 22 | |
Yury Selivanov | 416c1eb | 2018-05-28 17:54:02 -0400 | [diff] [blame] | 23 | # Exposed for _asynciomodule.c to implement now deprecated |
| 24 | # Task.all_tasks() method. This function will be removed in 3.9. |
| 25 | from .tasks import _all_tasks_compat # NoQA |
| 26 | |
Victor Stinner | 8c1a4a2 | 2015-01-06 01:03:58 +0100 | [diff] [blame] | 27 | __all__ = (base_events.__all__ + |
| 28 | coroutines.__all__ + |
Victor Stinner | f951d28 | 2014-06-29 00:46:45 +0200 | [diff] [blame] | 29 | events.__all__ + |
Andrew Svetlov | 0baa72f | 2018-09-11 10:13:04 -0700 | [diff] [blame] | 30 | exceptions.__all__ + |
Victor Stinner | 8dffc45 | 2014-01-25 15:32:06 +0100 | [diff] [blame] | 31 | futures.__all__ + |
Guido van Rossum | 27b7c7e | 2013-10-17 13:40:50 -0700 | [diff] [blame] | 32 | locks.__all__ + |
Guido van Rossum | 27b7c7e | 2013-10-17 13:40:50 -0700 | [diff] [blame] | 33 | protocols.__all__ + |
Yury Selivanov | 02a0a19 | 2017-12-14 09:42:21 -0500 | [diff] [blame] | 34 | runners.__all__ + |
Victor Stinner | 8dffc45 | 2014-01-25 15:32:06 +0100 | [diff] [blame] | 35 | queues.__all__ + |
Guido van Rossum | 27b7c7e | 2013-10-17 13:40:50 -0700 | [diff] [blame] | 36 | streams.__all__ + |
Victor Stinner | 915bcb0 | 2014-02-01 22:49:59 +0100 | [diff] [blame] | 37 | subprocess.__all__ + |
Victor Stinner | 8dffc45 | 2014-01-25 15:32:06 +0100 | [diff] [blame] | 38 | tasks.__all__ + |
| 39 | transports.__all__) |
Victor Stinner | be0a2d7 | 2014-07-18 12:44:25 +0200 | [diff] [blame] | 40 | |
| 41 | if sys.platform == 'win32': # pragma: no cover |
| 42 | from .windows_events import * |
| 43 | __all__ += windows_events.__all__ |
| 44 | else: |
| 45 | from .unix_events import * # pragma: no cover |
| 46 | __all__ += unix_events.__all__ |
Andrew Svetlov | 23b4b69 | 2019-05-27 22:56:22 +0300 | [diff] [blame] | 47 | |
| 48 | |
| 49 | __all__ += ('StreamReader', 'StreamWriter', 'StreamReaderProtocol') # deprecated |
| 50 | |
| 51 | |
| 52 | def __getattr__(name): |
| 53 | global StreamReader, StreamWriter, StreamReaderProtocol |
| 54 | if name == 'StreamReader': |
| 55 | warnings.warn("StreamReader is deprecated since Python 3.8 " |
| 56 | "in favor of Stream, and scheduled for removal " |
| 57 | "in Python 3.10", |
| 58 | DeprecationWarning, |
| 59 | stacklevel=2) |
| 60 | from .streams import StreamReader as sr |
| 61 | StreamReader = sr |
| 62 | return StreamReader |
| 63 | if name == 'StreamWriter': |
| 64 | warnings.warn("StreamWriter is deprecated since Python 3.8 " |
| 65 | "in favor of Stream, and scheduled for removal " |
| 66 | "in Python 3.10", |
| 67 | DeprecationWarning, |
| 68 | stacklevel=2) |
| 69 | from .streams import StreamWriter as sw |
| 70 | StreamWriter = sw |
| 71 | return StreamWriter |
| 72 | if name == 'StreamReaderProtocol': |
| 73 | warnings.warn("Using asyncio internal class StreamReaderProtocol " |
| 74 | "is deprecated since Python 3.8 " |
| 75 | " and scheduled for removal " |
| 76 | "in Python 3.10", |
| 77 | DeprecationWarning, |
| 78 | stacklevel=2) |
| 79 | from .streams import StreamReaderProtocol as srp |
| 80 | StreamReaderProtocol = srp |
| 81 | return StreamReaderProtocol |
| 82 | |
| 83 | raise AttributeError(f"module {__name__} has no attribute {name}") |