Thank you for your interest in contributing. This document covers bug reports, feature requests, and pull requests.
Open an issue on GitHub Issues and include:
- Operating system and Python version
lunapiversion (pip show lunapi)- A minimal description of what you did, what you expected, and what happened
- The full traceback if an exception was raised
Open an issue labelled enhancement describing the use case and why existing functionality does not cover it.
Note: lunapi wraps a compiled C/C++ extension (lunapi0). Most contributions will be to the Python layer in src/lunapi/. Changes to the C++ layer require a local build (see INSTALL.md).
- Fork the repository and create a branch from
main. - Install in editable mode with development dependencies:
pip install -e ".[dev]" - Make your changes. Add or update tests under
tests/where relevant. - Run the test suite before submitting:
pytest
- Open a pull request against
mainwith a short description of the change and the motivation.
Please keep pull requests focused — one logical change per PR makes review easier.
The project follows PEP 8. black and isort are used for formatting. Running black . and isort . before committing is appreciated but not required.
This project follows the Contributor Covenant Code of Conduct v2.1. By participating you agree to abide by its terms. Report unacceptable behaviour to luna.remnrem@gmail.com.
For usage questions that are not bug reports, write to luna.remnrem@gmail.com or open a GitHub Discussion if the repository has that feature enabled.