Weblate source code#
Weblate is developed on GitHub. You are welcome to fork the code and open pull requests. Patches in any other form are welcome too.
Check out Weblate internals to see how Weblate looks from inside.
Any code for Weblate should be written with Security by Design Principles in mind.
Any code should come with documentation explaining the behavior. Don’t forget documenting methods, complex code blocks, or user visible features.
Any new code should utilize PEP 484 type hints. We’re not checking this in our CI yet as existing code does not yet include them.
Coding standard and linting the code#
The code should follow PEP-8 coding guidelines and should be formatted using black code formatter.
To check the code quality, you can use flake8, the recommended
plugins are listed in
.pre-commit-config.yaml and its configuration is
The easiest approach to enforce all this is to install pre-commit. The
repository contains configuration for it to verify the committed files are sane.
After installing it (it is already included in the
requirements-lint.txt) turn it on by running
pre-commit install in
Weblate checkout. This way all your changes will be automatically checked.
You can also trigger check manually, to check all files run:
pre-commit run --all