summaryrefslogtreecommitdiffstats
path: root/Lib/asyncio/__init__.py
diff options
context:
space:
mode:
authorAndrew Svetlov <andrew.svetlov@gmail.com>2019-05-27 19:56:22 (GMT)
committerMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2019-05-27 19:56:22 (GMT)
commit23b4b697e5b6cc897696f9c0288c187d2d24bff2 (patch)
tree2f70e14fe527878cd69ccbefca007a1e987943ed /Lib/asyncio/__init__.py
parent6f6ff8a56518a80da406aad6ac8364c046cc7f18 (diff)
downloadcpython-23b4b697e5b6cc897696f9c0288c187d2d24bff2.zip
cpython-23b4b697e5b6cc897696f9c0288c187d2d24bff2.tar.gz
cpython-23b4b697e5b6cc897696f9c0288c187d2d24bff2.tar.bz2
bpo-36889: Merge asyncio streams (GH-13251)
https://bugs.python.org/issue36889
Diffstat (limited to 'Lib/asyncio/__init__.py')
-rw-r--r--Lib/asyncio/__init__.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/Lib/asyncio/__init__.py b/Lib/asyncio/__init__.py
index 28c2e2c..a6a29db 100644
--- a/Lib/asyncio/__init__.py
+++ b/Lib/asyncio/__init__.py
@@ -3,6 +3,7 @@
# flake8: noqa
import sys
+import warnings
# This relies on each of the submodules having an __all__ variable.
from .base_events import *
@@ -43,3 +44,40 @@ if sys.platform == 'win32': # pragma: no cover
else:
from .unix_events import * # pragma: no cover
__all__ += unix_events.__all__
+
+
+__all__ += ('StreamReader', 'StreamWriter', 'StreamReaderProtocol') # deprecated
+
+
+def __getattr__(name):
+ global StreamReader, StreamWriter, StreamReaderProtocol
+ if name == 'StreamReader':
+ warnings.warn("StreamReader is deprecated since Python 3.8 "
+ "in favor of Stream, and scheduled for removal "
+ "in Python 3.10",
+ DeprecationWarning,
+ stacklevel=2)
+ from .streams import StreamReader as sr
+ StreamReader = sr
+ return StreamReader
+ if name == 'StreamWriter':
+ warnings.warn("StreamWriter is deprecated since Python 3.8 "
+ "in favor of Stream, and scheduled for removal "
+ "in Python 3.10",
+ DeprecationWarning,
+ stacklevel=2)
+ from .streams import StreamWriter as sw
+ StreamWriter = sw
+ return StreamWriter
+ if name == 'StreamReaderProtocol':
+ warnings.warn("Using asyncio internal class StreamReaderProtocol "
+ "is deprecated since Python 3.8 "
+ " and scheduled for removal "
+ "in Python 3.10",
+ DeprecationWarning,
+ stacklevel=2)
+ from .streams import StreamReaderProtocol as srp
+ StreamReaderProtocol = srp
+ return StreamReaderProtocol
+
+ raise AttributeError(f"module {__name__} has no attribute {name}")