Contributing to fastEIT¶
Every contribution is welcome - whether it is a bug report, a new parser, a documentation fix, or just a question. This is an open project and there is no wrong way to get involved, as long as you bring curiosity and a collaborative attitude. If you are unsure whether your idea fits, open an issue and let's talk about it.
Reporting bugs¶
Open a GitHub issue with: - Python version and OS - Minimal code that reproduces the problem - Full traceback
Requesting features¶
Open a GitHub issue describing the use case and the expected behaviour.
Development setup¶
git clone https://github.com/Kernel236/fastEIT.git
cd fastEIT
pip install -e ".[dev]"
Code style¶
This project uses ruff for linting and formatting.
ruff check src/ tests/
ruff format src/ tests/
GitHub Actions runs ruff check and ruff format --check on every pull request
to dev or main, and on every push to those branches.
Documentation¶
The site is built with MkDocs from docs/ and from the
docstrings of the code (Google style). To see it while editing:
pip install -e ".[docs]"
mkdocs serve
A pull request is checked with mkdocs build --strict: a broken link or a docstring
parameter that is not in the signature fails the build.
Running tests¶
pytest tests/
Tests that require real patient files are skipped automatically if the files
are not present (they are gitignored). Use pytest -rs to see which tests were
skipped and why.
Adding a new parser¶
See docs/parsing_layer.md for a step-by-step recipe covering detection, schema definition, parser class, loader registration, and the testing checklist.
Pull request process¶
Please open a GitHub issue to discuss your idea before opening a PR.
- Fork the repository and create a branch from
dev - Make your changes with tests
- Ensure
ruff check,ruff format --checkandpytestpass locally - Open a PR targeting
dev(notmain) - Describe what changed and why
Code of Conduct¶
This project follows the Contributor Covenant.