[Python-Dev] RFC: Backport ssl.MemoryBIO and ssl.SSLObject to Python 2.7

Antoine Pitrou solipsis at pitrou.net
Thu Jun 1 06:39:48 EDT 2017


On Thu, 1 Jun 2017 11:22:21 +0100
Cory Benfield <cory at lukasa.co.uk> wrote:
> 
> Who is the “we” that should move on? Python core dev? Or the Python ecosystem?

Sorry.  Python core dev certainly.  As for the rest of the ecosystem, it
is moving on as well.

> Requests is stuck in a place from which it cannot move.
> We feel we cannot drop 2.7 support. We want to support as many TLS
> backends as possible.

Well, certain features could be 3.x-only, couldn't they?

> We want to enable the pip developers to focus on
> their features, rather than worrying about HTTP and TLS. And we want
> people to adopt the async/await keywords as much as possible.

I don't get what async/await keywords have to do with this.  We're
talking about backporting the ssl memory BIO object...

(also, as much as I think asyncio is a good thing, I'm not sure it will
do much for the problem of downloading packages from HTTP, even in
parallel)

> I want to move on, but I want to bring that 80% of our userbase with us when we do. My reading of your post is that you would rather Requests not adopt the async/await paradigm than backport MemoryBIO: is my understanding correct?

Well you cannot use async/await on 2.7 in any case, and you cannot use
asyncio on 2.7 (Trollius, which was maintained by Victor, has been
abandoned AFAIK).  If you want to use coroutines in 2.7, you need to
use Tornado or Twisted.  Twisted may not, but Tornado works fine with
the stdlib ssl module.

Regards

Antoine.




More information about the Python-Dev mailing list