1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
# Babel Contribution Guidelines
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.
## Setting up a development environment and running tests
After you've cloned the repository,
1. Set up a Python virtualenv (the methods vary depending on tooling and operating system)
and activate it.
2. Install Babel in editable mode with development dependencies: `pip install -e .[dev]`
3. 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.
4. 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][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.
## On pull requests
### PR Merge Criteria
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](https://github.com/python-babel/babel/issues?q=is%3Aopen+is%3Aissue+label%3Adifficulty%2Flow)
which could be fixed.
### Correcting PRs
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".
### Writing Good 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.
[tox]: https://tox.wiki/en/latest/
|