Skip to content

How to Contribute

Code Contribution

Your development branch

First, fork the eunomia repository and then clone your forked repository locally:

git clone https://github.com/<YOUR_GITHUB_USERNAME>/eunomia.git
git clone git@github.com:<YOUR_GITHUB_USERNAME>/eunomia.git

Once in the cloned repository directory, make a branch with your username and description of the pull request:

git checkout -B <YOUR_GITHUB_USERNAME>/<PR_DESCRIPTION>

Python environment

Install the required dependecies with uv:

uv sync

If you are developing one of the SDKs, which are built as separate packages, you can install the dependencies for that specific package:

uv sync --package eunomia-sdk-<SDK_NAME>

Testing and formatting

Before pushing your changes, ensure the tests pass and the code style aligns:

uv run pytest
uv run ruff check
uv run ruff format --check

Note: a GitHub workflow will check the tests and formatting and reject the PR if it doesn't pass, so please make sure it passes locally.

Improving the Documentation

Install the required dependecies with uv including the documentation dependencies:

uv sync --group docs --all-packages

To build the documentation and serve it locally, run the following command in the repository's root folder; the documentation will update every time you make a change:

uv run mkdocs serve

The documentation is built with Material for MkDocs, refer to their documentation for more information on how to use it.

Open a Pull Request

We actively welcome your pull requests; this is the workflow you should follow:

Step Description Jump to
1 Create your new branch from main in your forked repo Branch Setup
2 Add tests, if needed, and ensure all tests pass Testing
3 Update documentation for API changes Documentation
4 Open a pull request GitHub PRs