monoprop

How to Contribute

Contribution workflow — development setup, running the tests, and building the documentation.

Development setup

Here is a short short summary on how to fork and clone the repository, set up a development environment, and run the tests.

  1. Go to algorithiq/monoprop to fork and clone the repository.
  2. Clone the project to your local machine:
git clone https://github.com/Algorithmiq/monoprop.git
  1. Change the directory to the project root:
cd monoprop

The repository's DevContainer provides a ready-made development environment.

Alternatively, set up a local development build — prerequisites, the editable uv build of the Python bindings (with or without MPI), the standalone C++ build, and verifying the install — as described in Building from source.

The sections below cover the parts specific to contributing: running the tests and building the documentation.

Running the tests

Running the Python and C++ test suites --- with and without MPI --- is documented in Building from source.

Documentation

To build the documentation locally:

just serve-docs   # live-reloading dev server at http://localhost:3000
just build-docs   # full static build → docs/out/

The rendered site is written to docs/out/. See Documenting monoprop for guidelines on writing documentation pages, the API reference, and tutorial notebooks.

To submit your contribution

  • Go to algorithiq/monoprop to fork the repository. Then, clone the project to your local machine:
git clone https://github.com/your-namespace/monoprop.git
  • Change the directory to the project root:
cd monoprop
  • Set up a development environment as described in Development setup.
  • Create a branch for the feature you are working on.
  • Commit locally and push your changes to your forked repository. Make sure to follow the coding style and conventions used in the project.
  • Write tests for your changes and ensure that all tests pass before submitting your pull request.
  • And finally, submit a pull request to the main repository. Make sure to provide a clear description of your changes and any relevant information for the reviewers.

On this page