Skip to content

Contributing to Artigraph

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.

How to Contribute a Bug Fix or Enhancement

Contributions can be submitted via Pull Requests to the golden branch and must:

Project committers will review the contribution in a timely manner and advise of any changes needed to merge the request.

Coding Style

Code is formatted with black and isort. Docstring style is not yet standardized, but they should generally follow PEP257.

Development Workflow

The default branch is golden (poking fun at "golden data"). The project is managed using poetry. We use pre-commit to automate rapid feedback via git hooks.

Environment Setup

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, and pyenv) via the Brewfile - 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!