Thank you for thinking of making a contribution!
If this is your first time contributing to an open source project, start by reading this guide.
Please note that any contribution you make will be licensed under the project's license.
The best contributions are those that try to resolve the issues.
If you want to contribute, you first need to fork the repo (and preferably create a branch with a name that says something about the changes you're going to make).
To start developing, you can install all the necessary packages in your python environment with this command (optional dependencies will be installed):
uv sync --group tests --group docs --group typesWhen pushing commits, please use the project naming conventions, which are available in this guide. If you haven't respected these conventions, do a rebase before making the pull request.
The documentation style used in the project is ReStructuredText. Please, if you add or modify documentation, use this style. If you need more information or examples, look in the code, or in this PEP and this guide.
Before creating your pull request, when you have made all your commits, you need to run this:
# Run linters (maybe you will have to fix some issues)
uvx ruff@0.14.5 check .
# Format code
uvx ruff@0.14.5 format .
# Check types
uvx mypy@1.18.2
# Tests
pytestPlease do not manually bump the version number in pyproject.toml, this will be handled by the maintainers during release.
Before pushing and creating your pull request, you should make sure you've done the following:
- Updated any relevant tests.
- Updated any relevant documentation. This includes docstrings and README file.
- Added comments to your code where necessary (especially if the code is not self-explanatory).
- Formatted your code, run the linters and tests.
When you create your pull request, make sure you give it a name that clearly indicates what you have modified in the library.
- Why the pull request was made
- Summary of changes
- If it resolves one or more issues, name them
- If you have used external resources, mention them
The best way to do this is to use the provided template when creating the pull request.
Your code will be reviewed by a maintainer.
If you're not familiar with code review start by reading this guide.
As far as possible, communicate on github, in discussions on issues or pull requests.
Thank you for helping make language_tool_python better for everyone!