How to Contribute

Community Guidelines

This project follows Google’s Open Source Community Guidelines.

Changing Refex

TODO: more explanation than just this.

TODO: configuration for linter, yapf, isort (pending issue #1486), pre-commit hooks (?), and CI/github actions.

To run the tests:

$ pipx run tox -e py38

Due to the use of the absltest framework, Refex cannot use many test runners. See conftest.py.

Code Review

Finally, send a pull request!

All submissions, including submissions by project members, require code review. See GitHub Help for information on how to make a pull request.

Contributor License Agreement

Contributions to this project must be accompanied by a Contributor License Agreement (CLA). You (or your employer) retain the copyright to your contribution; this simply gives us permission to use and redistribute your contributions as part of the project. Head over to https://cla.developers.google.com/ to see your current agreements on file or to sign a new one.

You generally only need to submit a CLA once, so if you’ve already submitted one (even if it was for a different project), you probably don’t need to do it again.

Why is the source code so weird?

Two Space Indents

Refex uses two space indents because it originated in Google. You get used to it. In fact, because indents are 2 spaces, and hanging indents are 4 spaces, it’s much easier in Google-style Python than most code to distinguish between nested code inside of a function, vs e.g. function parameters that went on many lines.