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.

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.


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!


The PyMedPhys documentation is split into five categories:

  1. App Users Guide: for those who only wish to use ready-made PyMedPhys tools.
  2. Library Users Guide: for those building their own Python apps, scripts and other tools who wish to incorporate elements of the PyMedPhys library.
  3. CLI Users Guide: for those who wish to use PyMedPhys' ready-made command line interface (e.g. to help automate existing workflows with minimal programming).
  4. Contributors Guide: for those who wish to make new contributions to either the PyMedPhys library or the PyMedPhys app.
  5. General: Material that may apply to any visitor to PyMedPhys.