All contributions, bug reports, bug fixes, documentation improvements, and enhancements are welcome.
All contributors and maintainers to this project should abide by the Contributor Code of Conduct.
Learn more about the contributors' roles in the Roles page.
This document describes how to contribute to the Great Expectations Airflow Provider, covering:
- Overview of how to contribute
- How to set up the local development environment
- Running tests
- Authoring the documentation
To contribute to the Great Expectations Airflow Provider project:
- Create a GitHub Issue describing a bug, enhancement, or feature request.
- Fork the repository.
- In your fork, open a branch off of the
main
branch. - Create a Pull Request into the
main
branch of the Provider repo from your forked feature branch. - Link your issue to the Pull Request.
- After you complete development on your feature branch, request a review. A maintainer will merge your PR after all reviewers approve it.
Setting up a local development environment involves fulfilling requirements, getting a copy of the repository, and setting up a virtual environment.
- Git
- Python version 3.9 to 3.12
- Great Expectations version 1.3.9+
- Apache Airflow® version 2.1.0+
-
Fork the Provider repository.
-
Clone your fork.
git clone https://github.com/my-user/airflow-provider-great-expectations.git
You can use any virtual environment tool. The following example uses the venv
tool included in the Python standard library.
-
Create the virtual environment.
$ python -m venv .venv
-
Activate the virtual environment.
$ . .venv/bin/activate
-
Install the package and testing dependencies.
(.venv) $ pip install -e '.[tests]'
Test with pytest
:
- Install
pytest
as a dependency.pip install "airflow-provider-great-expectations[tests]"
- Run the following command, which will provide a concise output when all tests pass and minimum necessary details when they don't.
The
pytest -p no:warnings
no:warnings
flag filters out deprecation messages that may be issued by Airflow.
We use Markdown to author Great Expectations Airflow Provider documentation. We use hatch to build and release the docs.
- Update Markdown files in the
docs/
folder. - Build and serve the documentation locally to preview your changes.
hatch run docs:dev
- Open an issue and PR for your changes.
- Once approved, release the documentation with the current project version and set it to the latest.
hatch run docs:gh-release