Welcome to Babel! These guidelines will give you a short overview over how we handle issues and PRs in this repository. Note that they are preliminary and still need proper phrasing - if you'd like to help - be sure to make a PR.
Please know that we do appreciate all contributions - bug reports as well as Pull Requests.
After you've cloned the repository,
- Set up a Python virtualenv (the methods vary depending on tooling and operating system) and activate it.
- Install Babel in editable mode with development dependencies:
pip install -e .[dev]
- Run
make import-cldr
to import the CLDR database. This will download the CLDR database and convert it to a format that Babel can use. - Run
make test
to run the tests. You can also run e.g.pytest --cov babel .
to run the tests with coverage reporting enabled.
You can also use Tox to run the tests in separate virtualenvs
for all supported Python versions; a tox.ini
configuration (which is what the CI process
uses) is included in the repository.
For a PR to be merged, the following statements must hold true:
- All CI services pass. (Windows build, linux build, sufficient test coverage.)
- All commits must have been reviewed and approved by a babel maintainer who is not the author of the PR. Commits shall comply to the "Good Commits" standards outlined below.
To begin contributing have a look at the open easy issues which could be fixed.
Rebasing PRs is preferred over merging master into the source branches again and again cluttering our history. If a reviewer has suggestions, the commit shall be amended so the history is not cluttered by "fixup commits".
Please see https://api.coala.io/en/latest/Developers/Writing_Good_Commits.html for guidelines on how to write good commits and proper commit messages.