Skip to content

Latest commit

 

History

History
77 lines (48 loc) · 2.65 KB

CONTRIBUTING.md

File metadata and controls

77 lines (48 loc) · 2.65 KB

Contributing

We welcome and encourage everyone to contribute to optimap!

Contributions can be questions, bug reports, feature requests and new code. Here is how to get started.

Development

To install optimap in development mode use:

git clone git@github.com:cardiacvision/optimap.git
cd optimap
pip install -e .[all]

optimap can be updated by running git pull in the optimap directory. Changes to the Python code will be reflected immediately.

optimap contains C++ extensions that require a C++ compiler to be installed. On Windows, we recommend installing [Visual Studio](https://visualstudio.microsoft.com/vs/) with the C++ development tools.
Changes to the C++ code require recompiling the extensions by running `pip install -e .` again. If you see changes to the C++ code during a `git pull`, please run the `pip install` command again.

Issues

Questions and Feature Requests

We encourage all users to submit questions and ideas for improvements to the optimap project. For this please create an issue on the issue page.

Reporting Bugs

For bug reports, please make sure that you are using the latest version of optimap by running

pip install --upgrade opticalmapping[all]

and checking if the bug still exists. Whenever possible, please provide error messages, sample code, screenshots or other files when creating a new issue.

Contributing New Code

Any code contributions are welcome, whether fixing a typo or bug, adding new functionality, improve core functionality, or anything that you think should be in the repository.

Please open a pull request and link to an open issue if applicable.

Testing

optimap uses pytest for unit testing. Install pytest with pip install pytest and run the tests using:

python -m pytest

All tests are located in the test folder. We encourage you to include test code in a pull request.

Documentation

To build and preview the documentation, you need to install the documentation dependencies:

pip install .[docs]

The documentation can then be built using

python -m sphinx -b html docs docs/_build/html

and viewed by opening docs/_build/html/index.html in a web browser.

We use reST syntax for API documentation in the python code, while the documentation text is written in MyST Markdown flavour. See the MyST syntax cheat sheet for instructions on using MyST.