I have a unique use case where my python package specifies 3 optional dependencies to setuptools.setup using the extras_require argument. While each of those individual dependencies is kind of optional, it is still required that at least of them be specified during install time. Is there any way to specify this requirement or ensure this behavior from the user side?
I do not want to move any of these optional dependencies into required dependencies since each of the 3 optional packages are each quite heavy and require a specific environment to work. The main package does require only 1 of the optional dependencies at a time and forcing the installation of all 3 feels incorrect and forceful.
Ideally, I want pip install my_package to fail with an error stating to specify one of 3 optional dependencies.
Expected usages are:
pip install my_package[dep_1] // or
pip install my_package[dep_2] // or
pip install my_package[dep_2,dep_3] // etc...