Contributing#
Set up a development environment, run the tests, and open a pull request.
git clone https://github.com/DeepLearnPhysics/particle-imaging-models.git
cd particle-imaging-models
uv sync --locked --group dev --group docs
Repository layout#
pimm/ the package: datasets, models, engines, launcher, export
configs/ experiment recipes
launch/ launcher defaults, site profiles and run recipes
scripts/ train and test entry scripts, dataset utilities
tests/unit/ fast tests
tests/integration/ tests that need a GPU, downloaded data or released models
docs/ this documentation
Checks#
uv run pytest -v tests/unit
uv run pytest -v tests/unit/test_launch_rendering.py
uv run black --check pimm tests
Integration tests are marked by what they need, such as external_data for downloads. Run the ones your hardware and data allow.
Pull requests#
Keep each pull request to one change, with a test that fails without it. Open an issue before a large architectural change. When you change a command, config field, output key or file format, update the recipes and docs in the same pull request.