Skip to content

Design good distribution extras support #2397

@webknjaz

Description

@webknjaz

Follow-up #2312 (comment): this issue is intended to encourage discussion about adding extras support.

There's several optional dependencies mentioned in docs, and they instruct users to do pip install {{dep_name}}.

Common practice is to add feature-flags allowing to depend on certain additional ability of the framework w/o having to install those dependencies manually.

For example, aiohttp could have speedups extra and then user's could've just pip install aiohttp[speedups] instead of pip install aiodns aiohttp cchardet.

Also, it is possible to use environment markers as extra names, in this case certain dependencies get installed automatically if the environment matches specific expression, which might be useful for windows-only crutches etc.

Please consider treating extras as a public API, because they are exposed to end-users.

/cc: @asvetlov

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions