Any input is welcome, such as:
- Reporting a bug
- Discussing the current state of the code
- Submitting a fix
- Proposing new features
- Becoming a maintainer
Code is hosted on GitHub to track issues and feature requests, as well as accept pull requests.
Pull requests are the best way to propose changes to the codebase and are welcome:
- Fork the repo and create your branch from
master
. - If you've added code that should be tested, add tests.
- If you've changed APIs, update the documentation.
- Ensure the test suite passes.
- Make sure your code lints.
- Issue that pull request!
In short, when you submit code changes, your submissions are understood to be under the same BSD 3-Clause License that covers the project. Feel free to contact the maintainers if that's a concern.
GitHub issues are used to track public bugs. Report a bug by opening a new issue.
Use a clear and descriptive title. Be specific and concise in your description of the issue. Include clear steps to reproduce the issue. Provide a clear explanation of what you expected to happen versus what actually happened. Include any relevant screenshots or other media that may help explain the problem. Provide information about your environment, such as your operating system or application version. If possible, try to isolate the issue to a specific code block or function.
Two tools are used for styling and linting and their configurations are kept in the project's pyproject.toml file. They are:
- Ruff linting
- Mypy type checking
This document was adapted from this example https://gist.github.com/briandk/3d2e8b3ec8daf5a27a62