Skip to content

Should we get rid of trio.ssl and trio.subprocess, and tell people to just import ssl/subprocess instead? #852

@njsmith

Description

@njsmith

In the Beginning [1] there was trio.socket. Using a nested namespace seems like the only reasonable way to handle this, because we want to expose 99% of the functionality of the socket module, the socket module API is huge, and the changes we needed to make are complex and all over the place.

Then we copied this style for trio.ssl, and then trio.subprocess.

But for these two modules, it's not as compelling. trio.ssl is just SSLStream and SSLListener, plus a ton of complicated re-exports. trio.subprocess is just Process, plus a ton of complicated re-exports.

Given this, maybe it would be better to put SSLStream, SSLListener, and Process into the top-level trio namespace, and drop the trio.ssl and trio.subprocess modules entirely. Instead we'd just tell people they can import ssl or import subprocess.

CC: @oremanj since this is partly triggered by #833

[1] Actually, I stole the idea from curio.socket.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions