Skip to content

Latest commit

 

History

History
82 lines (55 loc) · 3.21 KB

File metadata and controls

82 lines (55 loc) · 3.21 KB

Contributing

All contributions are welcome! If you find a bug or have a feature request, please open an issue or submit a pull request.

Please note that we have a Code of Conduct, please follow it in all your interactions with the project.

How to Contribute

You can make a contribution by following these steps:

  1. Fork this repository, and develop your changes on that fork.
  2. Commit your changes
  3. Submit a pull request from your fork to this project.

Before you start, read through the requirements below.

Commits

Please make your commit messages meaningful. We recommend creating commit messages according to Conventional Commits.

Commit Signature Verification

Each commit's signature must be verified.

Pull Requests

All contributions, including those made by project members, need to be reviewed. We use GitHub pull requests for this purpose. See GitHub Help for more information on how to use pull requests. See the requirements above for PR on this project.

Major new features

If a major new feature is added, there should be new tests for it. If there are no tests, the PR will not be merged.

Versioning

Versions follow Semantic Versioning terminology and are expressed as x.y.z:

  • where x is the major version
  • y is the minor version
  • and z is the patch version

Code convention

Pre-Commit

Please install pre-commit to enforce some pre-commit checks. After cloning the repository, you will need to install the hook script manually:

pre-commit install

Python type checking

We use pyright to check Python types. If you are using VSCode, you can install the Pyright extension and set it to strict mode for better type checking.

Python dependencies

Use standard library tools whenever possible. Only use third-party tools when absolutely necessary. Your PR will be rejected if it introduces unnecessary dependencies.

Use pip to manage Python dependencies. We recommend using venv to create a virtual environment for development. You can create an editable install of the package with:

python -m pip install -e .

Python code style

We use black to format Python code. You can run it manually with:

black .

We use flake8 to check Python code style. You can run it manually with:

flake8 .

Reporting Issues

If you encounter any bugs or have feature requests, please open an issue on GitHub. When reporting a bug, please include as much detail as possible to help us understand and reproduce the issue. When submitting a feature request, please provide a clear description of the desired functionality and its potential benefits.