A community effort to develop an open standard library for Medical Physics in Python. Building quality transparent software together via peer review and open source distribution. Open code is better science.

streamlit build docs pypi python license

What is PyMedPhys?

An open-source Medical Physics python library with a focus on being a place to share, review, improve, and transparently learn off of each other’s code. It is inspired by the collaborative work of our physics peers in astronomy and their Astropy Project. PyMedPhys is available on PyPI and GitHub.

Mailing list

If you would like to dive into the community a great place to get started is to sign up to the mailing list and say hi by introducing yourself with where you’re from, and what you hope to achieve with PyMedPhys.

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.


For App Users

Documentation of the PyMedPhys application’s graphical user interface doesn’t yet exist. Watch this space.

For Python Users

  • Absolute Beginners Tutorial [Doesn’t yet exist]

    • Start here if you are new to Python and would like an in-depth instruction on how to get started.

  • Quickstart How-To Guide

    • Start here if you are fluent in Python and just want a quick instruction on how to get started.

  • Tutorials

    • A range of lessons that take you through various complete projects with the intent to be able to show you what can be achieved with writing PyMedPhys based Python software yourself.

    • These are aimed at you if you don’t yet know what you can achieve with PyMedPhys but you would like to learn.

  • How-To Guides

    • Guides and recipes for common problems and tasks. These are aimed for you if you already know how to use Python and PyMedPhys and are looking for direction on a specific task you are trying to solve.

  • Reference

    • Technical reference for the library (modules, functions and classes), as well as the available command line tools. This is where you will find listed information for the exposed functionality of PyMedPhys.

    • This is aimed at you if you know exactly the feature you would like to use, you just want to see what inputs it requires and what outputs it gives.

  • Background

    • Explanation and discussion of key topics and concepts. This is aimed at you if you are looking to be able to think about PyMedPhys and its implementations at a higher level and understand more about them.

  • Glossary [Doesn’t yet exist]

    • List of the most important terms

For Contributors

  • Getting Started Contributing [Under construction]

    • Start here for learning how to contribute to PyMedPhys.

  • Developer Guide [Doesn’t yet exist]

  • Documentation Guide

    • How to contribute to this documentation.

  • Maintainers Guide [Doesn’t yet exist]

Our Team

PyMedPhys is what it is today due to its maintainers and contributors both past and present. Here is our team.

Maintainer emeritus