I have a very complex Python library that is used by several people/projects for different purposes.
The structure is basically the same as many Python libraries, but I would like to give the ability of a partial install.
project_name/
|__ package
| |__ submodule1
| | |__ __init__.py
| |__ submodule2
| | |__ __init__.py
| |__ submodule3
| | |__ __init__.py
| |__ submodule4
| | |__ __init__.py
| |__ __init__.py
| |__ types.py
|__ setup.cfg
|__ setup.py
I would like to give people the ability to people to install everything, or what they really require, because they are not dependent.
I tried several options like:
Hacking
packages=find_packages(*)by myself, but I would like something more official. It is not my intention to split into several Git repositories.Customizing
pip installby using thecmdclasswith a custominstalloption, but, AFAIK, this is deprecated inpipnow.Intercepting somehow the
extras_requireto use it withinpackagesand create something likepip install package[submodule1], but no luck either.
Any professional suggestion is welcome :)