Contributing to the project
First off, thank you for considering contributing to AIVUS-CAA software! Whether you’re filing a bug, proposing a new feature, improving documentation, or refactoring code, your help makes this project better for you and the whole community.
Code of Conduct
This project adheres to the Contributor Covenant v2.1.
By participating, you agree to respect everyone in this community.
Table of Contents
Getting started
Fork the repo and clone your fork
git clone https://github.com/AI-in-Cardiovascular-Medicine/AIVUS-CAA.git
cd aivus-caa
Create a new branch
git checkout -b feature/new-feature
install dependencies and run tests (test not yet implemented!)
pip install -e
pytest
I have a Question
Before opening an issue:
Read the Documentation
Search existing Issues
If you still need help:
Open a new issue: Click here
Provide:
A clear, descriptive title
Context: what you’re trying to do, expected vs. actual behaviour
Project verion, OS/platform, Python version, and any relevant logs
Reporting Bugs
If you find a bug, please help us fix it by opening a a new issue and providing:
Title: A short descriptive title
Steps to reproduce: Minimal code snippet or sequence to trigger the bug
Expected behaviour vs Actual behaviour
Environment:
AIVUS-CAAversionPython version
OS and architecture
Suggesting Enhancements
Open a feature request issue and describe:
The problem you are trying to solve
Your proposed solution and why it would be useful
Any alternatives you considered
Your First Code Contribution
We currently need help improving the documentation and writing tests for the existing functionality.
If you feel up for a challenge, we want to implement the possibility of additional contours for e.g. EEM.
Pick an open issue labelled
good first issueorhelp wanted, comment on it, and open a pull request referencing the issue number.
Pull Request Process
Make sure all tests pass (
pytest)Update documentation if your change affects behaviour
Keep the pull request focused — one logical change per PR
A maintainer will review and merge once approved
Coding Style & Tests
Format with
ruff/black(configured inpyproject.toml)Type-annotate new functions and check with
mypyAdd or update tests in
tests/for any changed behaviourRun the full suite with
pytestbefore opening a PR
Writing Documentation
Documentation lives in docs/ and is built with Sphinx.
Edit
.rstfiles underdocs/contents/for narrative docsRun
.\make.bat html(Windows) ormake html(Linux/macOS) to preview locally
Where to Get Help
Open a GitHub Discussion for general questions
File an issue for bugs or feature requests