# Need reconsideration of bpo-34975: Add start\_tls() method to streams API

**URL:** <https://discuss.python.org/t/need-reconsideration-of-bpo-34975-add-start-tls-method-to-streams-api/14720>\
**Category:** Core Development\
**Created:** [March 30, 2022, 4:45pm UTC](https://discuss.python.org/t/need-reconsideration-of-bpo-34975-add-start-tls-method-to-streams-api/14720 "2022-03-30T16:45:36Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![arhadthedev](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/arhadthedev/32/6420_2.png) [@arhadthedev](https://discuss.python.org/u/arhadthedev)\
**Post date:** [March 30, 2022, 4:45pm UTC](https://discuss.python.org/t/need-reconsideration-of-bpo-34975-add-start-tls-method-to-streams-api/14720/1 "2022-03-30T16:45:36Z")

</div>

Can [bpo-34975: Add start\_tls() method to streams API](https://github.com/python/cpython/pull/13143) from 2019 be reopened and reconsidered? The added method allows to turn encryption on on demand (and off, as the author expressed his readiness a week ago).

Initially it was closed in favor of a new asyncio streams API but later the API was cleanly reverted because it was overloaded and deeply text-oriented.

This feature is required to port `test` package (namely, dummy FTP and mail servers) to `asyncio.start_server()` instead of low-level `recv`-esque work with an event loop.
