The information can be generated from the code using sphinx-click. This works fine locally but it's much harder to get this to build in readthedocs.org.
Options are:
hack something such that the sphinx build can do from calliope import cli right from the source tree. This should be doable if we separate all click-related code into a single file; we can then add that file to sys.path manually in docs/conf.py, and set a _CALLIOPE_CLI_STUB flag to avoid that module importing any others. It will require a bit of churn to set up a consistent internal API between the .cli module and the various others, but that may have other benefits too.
write a requirements.txt and a setup.py file that installs enough of Calliope that the docs build succeeds.
We should document each
cpe
subcommand as part of the online documentation, which is currently hosted at https://calliope-music.readthedocs.io/The information can be generated from the code using sphinx-click. This works fine locally but it's much harder to get this to build in readthedocs.org.
Options are:
from calliope import cli
right from the source tree. This should be doable if we separate all click-related code into a single file; we can then add that file tosys.path
manually indocs/conf.py
, and set a _CALLIOPE_CLI_STUB flag to avoid that module importing any others. It will require a bit of churn to set up a consistent internal API between the .cli module and the various others, but that may have other benefits too.I prefer the 1st option.