We’re always looking to grow the MParT development team. Below is information on how you can help make MParT better.
Please feel free to ask questions about the usage of MParT or reach out if you want to discuss ideas for enhancements! You can file an issue or start a discussion on GitHub or write the developers an email.
Reporting a Bug#
If you encounter something you think might be a bug of MParT or in one of the examples, please file an issue on GitHub (MeasureTransport/MParT and MeasureTransport/MParT-examples). If possible post complete but minimal code examples.
Requesting a Feature#
Similar to a bug report, please file an issue on GitHub to start a discussion about new features.
We encourage users to take active part in developing and documenting the core of MParT or the examples. If you want to influence the direction and focus of the project consider becoming an active developer by forking MParT and submitting a pull request with your changes.
Building the Documentation#
MParT’s documentation uses a combination of sphinx and doxygen through the breathe package. It also depends on rendering the tutorials in the MParT-examples repository. To build the documentation locally, you’ll need to install these packages and a few other extensions. In particular, make sure doxygen, sphinx, sphinx-design, breathe, nbsphinx, jupytext, and the pydata-sphinx-theme are installed. This is easily done with conda and pip:
conda install -c conda-forge doxygen sphinx sphinx-design breathe pydata-sphinx-theme nbsphinx jupytext
Then, after configuring MParT with CMake, you build the documentation with
make sphinx. The entire process might look like
git clone https://github.com/MeasureTransport/MParT.git mkdir MParT/build && cd MParT/build cmake -DCMAKE_INSTALL_PREFIX=~/Installations/MParT -DMPART_PYTHON=ON .. make sphinx make install
Open the sphinx output
If you’re sure all the dependencies are installed but you still see errors complaining that a package cannot be found, you might need to manually specify paths in the
conf.py sphinx configuration file.
Controlling Tutorial Documentation#
The _tutorials page relies on examples in the MParT-examples repository. MParT’s CMake scripts can interact with this repository in three ways: (1) via a local copy of the repository, (2) by temporarily cloning the repository when
make sphinx is called, and (3) extracting the examples from the mpart_examples docker image on quay.io. This last option has the advantage that the python examples can be executed and the any output or plots produced by the example can be included in the example. It is also possible to skip all attempts at including the examples in the documentation by setting
MPART_BUILD_EXAMPLES=OFF in your CMake configuration.
To use a local copy of
MParT-examples, define the CMake
MPART_EXAMPLES_DIR variable. For example:
cmake \ -DCMAKE_INSTALL_PREFIX=~/Installations/MPART \ -DMPART_EXAMPLES_DIR=/path/to/MParT-examples \ ..
If you do not set
MPART_EXAMPLES_DIR, the examples will be pulled from Github. To extract the examples from the docker image, set the
MPART_DOCKER_EXAMPLES option to
ON. For example,
cmake \ -DCMAKE_INSTALL_PREFIX=~/Installations/MPART \ -DMPART_DOCKER_EXAMPLES=ON \ ..