The dripline-python package is divided between (1) C++ code with python bindings and (2) pure python code built on top of the bound code. From a user perspective, this appears all as one dripline package because the bound code, as a package called _dripline, is imported into the dripline package.
We want to have a unified documentation interface too. Everything that's available as part of the dripline package should be documented together as a single package, rather than having separate documentation for (1) and (2) [above].
Ideally the processes for maintaining the documentation would be as minimal as possible. There will be some rst source files in the doc directory, and then there will be all of the docstrings in both (1) and (2). Building of the documentation is done by readthedocs.
Building sphinx documentation out of bound C++ code is a thing -- see this pybind11 documentation. Binding the pure python code should be straight-forward Sphinx documentation. Then the trick is how to get it all to work together as one package documentation.
The dripline-python package is divided between (1) C++ code with python bindings and (2) pure python code built on top of the bound code. From a user perspective, this appears all as one
dripline
package because the bound code, as a package called_dripline
, is imported into thedripline
package.We want to have a unified documentation interface too. Everything that's available as part of the
dripline
package should be documented together as a single package, rather than having separate documentation for (1) and (2) [above].Ideally the processes for maintaining the documentation would be as minimal as possible. There will be some rst source files in the
doc
directory, and then there will be all of the docstrings in both (1) and (2). Building of the documentation is done by readthedocs.Building sphinx documentation out of bound C++ code is a thing -- see this pybind11 documentation. Binding the pure python code should be straight-forward Sphinx documentation. Then the trick is how to get it all to work together as one package documentation.