-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Design good distribution extras support #2397
Description
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