Warning This repository is experimental and bare-bones at the moment. It's not ready for general use, but discussions and contributions are welcome!
You can pronounce this package like "slurpee," or really any other way you
want. This celerpy package will be the Python-based front end to the
Celeritas binary codes and
include a user-friendly execution interface, visualization components, and
postprocessing utilities.
To isolate the development environment, this project uses
Poetry to manage dependencies, virtual
environments, and lockfiles. A persistent development+CI environment is encoded
into the distributed poetry.lock file. A simple makefile is included to
configure and run for those not familiar with a Poetry envirnment workflow.
Install Poetry using Homebrew or pipx.
After cloning the celerpy repository and installing poetry, run make setup to:
- install all project and development dependencies from
poetry.lock, and - install pre-commit hooks.
Activating the poetry environment will load the python version and all development dependencies. It is faster than manually invoking poetry run or using the included makefile.
$ eval $(poetry env activate)
$ pytest test/
$ mypy celerpy
$ poetry run pytest -vv -s test/test_process.py -k test_contextStyle and linting should be performed automatically at every git commit after you run make pre-commit. They can also be invoked manually with pre-commit run. Use git commit --no-verify to disable temporarily for a particular commit. Pull requests automatically have their style checked and fixed via pre-commit.ci.
Not yet implemented: