Contributing¶
All community interactions should be aligned with our Code of Conduct.
We appreciate your interest in this project and look forward to collaborating around respecful issues and pull requests.
The repository uses three tools that contributors will need to interact with:
uv: Python package and project managerpre-commit: Framework for pre-commit hooksDocker Desktop: Containerization software
uv¶
To isolate this project from other projects that use Python, we encourage you to create
a venv with the commands:
uv --python=3.13 venv
source .venv/bin/activate
uv pip install --upgrade pip
pip install --editable .
pre-commit¶
We use pre-commit to format, lint, and test files in this
project so we strongly encourage contributors to:
uv tool install pre-commit # or brew install pre-commit
pre-commit install
Docker Desktop¶
This project requires that a current version of Docker Desktop is properly installed.
Starting from scratch¶
Start by creating your own fork of the Open-Metadata-Exchange GitHub repository.
Substitute your GitHub username in the steps below: <your_GitHub_username>
Go to https://github.com/<your_GitHub_username>/Open-Metadata-Exchange.
If that page already exists then you already have your own fork.
If that page does not exist, go to https://github.com/ISKME/Open-Metadata-Exchange and click the
Forkbutton in the upper right of the page.
Now let’s switch to your terminal to create a local directory where you can make changes and submit those changes as pull requests.
git clone https://github.com/<your_GitHub_username>/Open-Metadata-Exchangewill make a local copy of your fork. Make sure you use<your_GitHub_username>!!cd Open-Metadata-Exchange# Going inside this new directory is important.git remote add upstream https://github.com/ISKME/Open-Metadata-ExchangeMake sure you useISKME.git remote -vto ensure thatoriginis your fork and thatupstreamis the ISKME repo.
origin https://github.com/<your_GitHub_username>/Open-Metadata-Exchange (fetch)
origin https://github.com/<your_GitHub_username>/Open-Metadata-Exchange (push)
upstream https://github.com/ISKME/Open-Metadata-Exchange (fetch)
upstream https://github.com/ISKME/Open-Metadata-Exchange (push)
Now you can make changes to your fork (origin) and then push those changes to ISKME (upstream) for review.
git checkout -b branch_for_my_changes
<make some changes>
git push
You should perform the pre-commit steps above to ensure some local testing before your work gets reviewed.