Contributions to PyProBE are welcome.
If you have a suggestion, please open an issue describing in detail the change you would like to be made. Similarly, if you have found a bug or a mistake, please open an issue describing this in detail.
If you would like to contribute code, please:
-
Install PyProBE with developer settings
-
Open an issue to detail the change/addition you wish to make, unless one already exists
-
Create a feature branch and make your changes. PyProBE uses the angular commit style, please ensure your commits follow this syntax before pushing your changes
-
Follow Google's docstring style and ensure that the documentation builds successfully:
$ cd docs
$ make html
- Ensure that all tests pass (this is best done with uv if you have installed with this tool):
$ uv run pytest
- Ensure that the examples run to completion:
$ uv run pytest --nbmake docs/source/examples/*.ipynb
- Open a pull request. In the pull request description, please describe in detail the changes your feature branch introduces, and reference the associated issue.
Additions to the code should be made in accordance with the structure of PyProBE, to maximise compatibility and ensure it is a maintainable package. Guidance for writing code for PyProBE includes:
- DataFrame operations should only be done using polars expressions. Data should be kept by default in polars LazyFrame format and only converted to DataFrame if needed for a particular operation.
- Analysis classes should be written in the format described in the documentation.
API documentation is built in html format, and stored locally in docs/build/html/. This can be viewed in your browser at docs/build/html/index.html.
The documentation is also continuously deployed via GitHub Actions, and can be viewed here.