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.