Skip to content

Latest commit

 

History

History
52 lines (36 loc) · 2.08 KB

CONTRIBUTING.md

File metadata and controls

52 lines (36 loc) · 2.08 KB

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 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 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.