Thank you for your interest in contributing to the SOLI Python library!
We welcome contributions from the community and appreciate your help in making this project better.
If you find a bug in the project, please open an issue on our GitHub Issues page.
When reporting a bug, please include:
- A clear and descriptive title
- A detailed description of the issue, including:
- Steps to reproduce the bug
- Expected behavior
- Actual behavior, including any relevant logs, error messages, or screenshots
If you have an idea for an enhancement to the project, please open an issue on our GitHub Issues page
with the prefix ENH, like this:
[ENH] Suggested feature
If you'd like to PR code to the project, please follow these steps to submit a pull request:
- Fork the repository
- Create a new branch for your feature or bug fix
- Make your changes in the new branch
- Add tests for your changes (if applicable)
- Run the docker test suite to ensure all tests pass
- Commit your changes with a clear and descriptive commit message
- Push your branch to your fork
- Open a pull request against the main repository
To set up the project for development:
- Fork the repository
- Clone the repository to your development environment
- Ensure that you have poetry installed:
- You can install via the official instructions.
- Or you can install via pipx:
pipx install poetry
- Install the development dependencies:
poetry install
- Make your changes.
- Test:
- Run the test suite:
PYTHONPATH=. poetry run pytest tests/
- Test full build via docker (Ubuntu 24.04):
bash docker/build.sh
- Test clean install via docker (Ubuntu 22.04, Ubuntu 24.04):
bash docker/install.sh
- Run the test suite:
We generally follow the PEP 8 style guide for Python code, but the good news is that most style
is enforced automatically via the pre-commit
hooks in this repository.
Simply install pre-commit and run pre-commit install
to set up the hooks.
If you'd like to run the formatting and linting checks manually, you can do so with the following commands:
$ pre-commit run --all-files
By contributing to this project, you agree that your contributions will be licensed under the MIT License.
Additional discussions about the project can be found on the SOLI Discourse community.
If you have any questions about contributing, please open an issue or contact the project maintainers.
Thank you for your contributions to the SOLI Python library!