We'd love to accept your patches and contributions to this project. There are a few guidelines described in our Contribution Guide that you need to follow.
To summarize here: when contributing, please:
- Sign Contributor License Agreement
- Before making changes, file an issue
- Fork this repository and use github pull requests for all submissions
- Follow Contributor Code of Conduct and Community Guidelines
- Follow Google Python Style Guide and this commit authoring style
- Don't forget to write tests and update documentation!
Please follow these steps after forking and cloning the repository to make sure you can modify code and run tests with confidence:
# From the root dir of the cloned repository: # Create Virtual Environment called env (you may choose your own name) python3 -m venv env # Activate virtual environment source env/bin/activate # Install this library as editable install # (see https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-e) python3 -m pip install -e . # Install nox python3 -m pip install nox
We use nox to instrument our tests.
To test your changes, run unit tests with nox
:
# Run tests for all supported versions of Python and oauth2client: nox # Run tests for Python 3.7: nox -s unit-3.7 # Run lint nox -s lint
Note
The unit tests and system tests are described in the
noxfile.py
file in this directory. Nox will automatically
handle constriction of new virtual environments and installation
of the required test dependencies.
For more information about Nox, including command-line usage, consult nox documentation.