Thank you for your interest in contributing to Artigraph! This document explains our contribution process and procedures.
If you just need help or have a question, refer to our support page.
Contributions can be submitted via Pull Requests to the main
branch and must:
- be submitted under the Apache 2.0 license.
- include a Developer Certificate of Origin signoff (
git commit -s
) - include tests and documentation
- match the Coding Style
Project committers will review the contribution in a timely manner and advise of any changes needed to merge the request.
Code is formatted with black
and isort
. Docstring style is not yet standardized, but they should generally follow PEP257.
The project is managed with poetry
. We use pre-commit
to apply and enforce code formatting and linting with git hooks.
If you work on macOS, the .envrc
script (used by direnv
) in the repo root can automate project and environment setup for both Intel and M1 computers. Run bash .envrc
to:
- install
brew
(if necessary) - install useful system packages (
direnv
,git
, andpyenv
) via theBrewfile
- install the correct python version with pyenv
- create a virtual environment and install dependencies
- install and configure
pre-commit
After that completes, configure direnv
for your shell and run exec $SHELL
. With direnv
configured, the project's virtual environment will automatically be activated (and python and package versions synced!) upon cd
into the repo.
If you use another platform or would rather install manually, use poetry
directly to manage your virtual environment(s). Contributions supporting direnv
for other platforms would be appreciated!