https://github.com/python/cpython/commit/0b2168275e8ec491fe7ea6f8c662e804437dfdab
commit: 0b2168275e8ec491fe7ea6f8c662e804437dfdab
branch: main
author: Kumar Aditya <[email protected]>
committer: kumaraditya303 <[email protected]>
date: 2025-10-04T21:44:05+05:30
summary:
gh-138703: clarify data buffer requirement of `asyncio.StreamWriter.write`
(#139564)
files:
M Doc/library/asyncio-stream.rst
M Lib/asyncio/selector_events.py
diff --git a/Doc/library/asyncio-stream.rst b/Doc/library/asyncio-stream.rst
index e1568ae330b70f..05445219510ca5 100644
--- a/Doc/library/asyncio-stream.rst
+++ b/Doc/library/asyncio-stream.rst
@@ -316,13 +316,14 @@ StreamWriter
If that fails, the data is queued in an internal write buffer until it
can be
sent.
+ The *data* buffer should be a bytes, bytearray, or C-contiguous
one-dimensional
+ memoryview object.
+
The method should be used along with the ``drain()`` method::
stream.write(data)
await stream.drain()
- .. note::
- The *data* buffer should be a C contiguous one-dimensional
:term:`bytes-like object <bytes-like object>`.
.. method:: writelines(data)
diff --git a/Lib/asyncio/selector_events.py b/Lib/asyncio/selector_events.py
index a7e27ccf0aa856..ff7e16df3c6273 100644
--- a/Lib/asyncio/selector_events.py
+++ b/Lib/asyncio/selector_events.py
@@ -1050,8 +1050,8 @@ def _read_ready__on_eof(self):
def write(self, data):
if not isinstance(data, (bytes, bytearray, memoryview)):
- raise TypeError(f'data argument must be a bytes-like object, '
- f'not {type(data).__name__!r}')
+ raise TypeError(f'data argument must be a bytes, bytearray, or
memoryview '
+ f'object, not {type(data).__name__!r}')
if self._eof:
raise RuntimeError('Cannot call write() after write_eof()')
if self._empty_waiter is not None:
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]