We're excited you're interested in contributing to Marquez! We'd love your help, and there are plenty of ways to contribute:
- Fix or report a bug
- Fix or improve documentation
- Pick up a "good first issue", then send a pull request our way
We feel that a welcoming community is important and we ask that you follow the Contributor Covenant Code of Conduct in all interactions with the community.
We recommend installing the following tools to run the tests:
Install pyenv: brew install pyenv pyenv-virtualenv
Add it to your profile: ~/.zshrc or ~/.bashrc depending on your shell
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
fi
create a marquez-airflow virtual env:
pyenv virtualenv marquez-airflow
pyenv activate marquez-airflow
(depending on the version of python you're running, you may need to alias pip to pip3)
Install the test dependencies:
pip3 install -r test-requirements.txt
Init the airflow local db:
airflow initdb
now you can run the tests:
python -m pytest --ignore=tests/integration tests/
To run the linter locally: install flake8
pip install flake8
and run it:
python -m flake8
Submitting a pull request
- Fork and clone the repository
- Make sure all tests pass locally:
python -m pytest --ignore=tests/integration - Create a new branch:
git checkout -b my-cool-new-branch - Make change on your cool new branch
- Write a test for your change
- Push change to your fork and submit a pull request
- Add the "review" label to your pull request
- Work with project maintainers to get your change reviewed and merged into the
mainbranch - Delete your branch
To ensure your pull request is accepted, follow these guidelines:
- All changes should be accompanied by tests
- Do your best to have a well-formed commit message for your change
- Keep diffs small and self-contained
- If your change fixes a bug, please link the issue in your pull request description