A community effort to develop an open standard library for Medical Physics in Python. We build high quality, transparent software together via peer review and open source distribution. Open code is better science.
What is PyMedPhys?#
PyMedPhys is an open-source Medical Physics python library built by an open community that values and prioritises code sharing, review, improvement, and learning from each other. It is inspired by the collaborative work of our physics peers in astronomy and the Astropy Project. PyMedPhys is available on PyPI and GitHub.
PyMedPhys first paper in the Journal of Open Source Software contains more background information, including a statement of need. You can access the paper here. When referencing PyMedPhys, please cite this paper as follows:
Biggs, S., Jennings, M., Swerdloff, S., Chlap, P., Lane, D., Rembish, J., McAloney, J., King, P., Ayala, R., Guan, F., Lambri, N., Crewson, C., Sobolewski, M. (2022). PyMedPhys: A community effort to develop an open, Python-based standard library for medical physics applications. Journal of Open Source Software, 7(78), 4555, https://doi.org/10.21105/joss.04555
Beta level of development#
PyMedPhys is currently within the beta
stage of its life-cycle. It will
stay in this stage until the version number leaves 0.x.x
and enters
1.x.x
. While PyMedPhys is in beta
stage, no API is guaranteed to be
stable from one release to the next. In fact, it is very likely that the
entire API will change multiple times before a 1.0.0
release. In practice,
this means that upgrading pymedphys
to a new version will possibly break
any code that was using the old version of pymedphys. We try to be abreast of
this by providing details of any breaking changes from one release to the next
within the Release Notes.
Community#
PyMedPhys has a Discourse community to both help you find your feet using PyMedPhys and to facilitate collaboration and general discussion. Please reach out over there and we’d love to get to know you!
Documentation#
PyMedPhys can be installed with:
pip install pymedphys[user]
Further user installation instructions can be found in the Quick Start Guide.
The PyMedPhys documentation contains two overarching guides:
The Users Guide: where you can find instructions to get started with the library and the CLI, in-depth how-to guides (examples for users) on PyMedPhys’ various tools, some background information on individual PyMedPhys projects as well as the Technical Reference.
The Contributors Guide: for those who wish to make new contributions to the PyMedPhys library, CLI or app. Here you’ll find detailed workstation setup guides to enable contributions, important repository information, and some tips & tricks to overcome common issues.
Development#
The PyMedPhys project is managed using `Poetry`_.
After cloning the repository, install the PyMedPhys dependencies and set up pre-commit by running:
poetry install -E all
poetry run pre-commit install
Run automated tests with:
poetry run pymedphys dev tests
Our Team#
PyMedPhys is what it is today due to its maintainers and contributors, both past and present. Here is our team.
Maintainers#
- Stuart Swerdloff
ELEKTA Pty Ltd: New Zealand
- Matthew Jennings
Royal Adelaide Hospital, Australia
- Phillip Chlap
Radformation Inc., USA
University of New South Wales, Australia
Active contributors#
- Derek Lane
ELEKTA AB, Houston TX
- Marcelo Jordao
ELEKTA AB, Hong Kong SAR
- Marcus Fisk
Cancer Care Riverina, Australia