Contributing#
HemoCell is open-source and community contributions are very welcome, whether they are bug reports, documentation improvements, new mechanical models, or new example cases.
Before you contribute#
Please make sure that your contribution falls under the HemoCell license (see the
LICENSEfile in the repository root).If you want to resolve a bug, first make sure that it still exists. You can build the latest
masterbranch and verify that the error is reproducible.Make sure that the bug you want to report is not already reported in our GitHub issues and that no one is working on it.
If you have any questions about the software or if you are facing any issues using it, feel free to open a GitHub discussion.
Contributing code#
Create a fork of the HemoCell repository.
Create a new branch from the
developbranch for the issue you want to work on. Please give the branch a name that is relevant to the issue.Modify or add code on your branch.
Before pushing, make sure you have not included unrelated changes and that the project builds properly.
When you are done, push your changes and open a pull request from your branch to the
developbranch.
Tip
If you are adding a new mechanical model or feature, consider also adding a short example case and a documentation page so that other users can benefit from your work. See Contributing to the documentation below.
Contributing to the documentation#
This documentation is built with Sphinx from the
doc/user_guide directory and with Doxygen for
the C++ API reference. Pages are written in either reStructuredText (.rst)
or Markdown (.md via MyST).
To build the documentation locally:
# from the repository root
cd doc
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# build the HTML site (Sphinx invokes Doxygen automatically)
cd user_guide
make clean
make html
The generated site is placed in doc/user_guide/_build/html. Open
_build/html/index.html in a browser to preview your changes.
Note
Doxygen and Graphviz must be installed as system packages (they are not
Python modules). On Debian/Ubuntu: sudo apt-get install doxygen graphviz.