Pumas (PharmaceUtical Modeling And Simulation) is a suite of tools for developing, simulating, fitting, and analyzing pharmaceutical models. The purpose of this framework is to bring efficient implementations of all aspects of pharmaceutical modeling under one cohesive package. While Pumas is still in alpha, the package currently includes:

Additional features are under development, with the central goal being a complete clinical trial simulation engine which combines efficiency with a standardized workflow, consistent nomenclature, and automated report generation. All of this takes place in the high level interactive Julia programming language and integrates with the other packages in the Julia ecosystem for a robust user experience.


Pumas is covered by the Julia Computing EULA.

Getting Started: Installation and First Steps

Pumas is distributed via JuliaPro from Julia Computing Inc. Please install the current stable release of JuliaPro.

To add the Pumas package, use the following commands inside the JuliaPro REPL:

using Pkg

To verify that the package has been correctly installed, you can run the command Pkg.test("Pumas") which will run an internal verification suite to ensure accuracy. When installed, use the command:

using Pumas

to bring the functionality of Pumas into your REPL. Once done, you are ready to start using Pumas!

To start understanding the package in more detail, please checkout the tutorials at the start of this manual. We highly suggest that all new users start with the Introduction to Pumas tutorial! If you find any example where there seems to be an error, please open an issue.

For the most up to date information on using the package, please join the Slack channel.

Jupyter Notebook Tutorials

Extra tutorials are provided with the installation of Pumas. These tutorials are delivered in an interactive Jupyter notebook that allows you to follow along and tweak values to gain a better understanding. To install these tutorials and open the Jupyter notebooks in the browser, run the following commands:

using Pkg
pkg"add https://github.com/PumasAI/PumasTutorials.jl"
using PumasTutorials

Annotated Table Of Contents

Below is an annotated table of contents with summaries to help guide you to the appropriate page. The materials shown here are links to the same materials in the sidebar. Additionally, you may use the search bar provided on the left to directly find the manual pages with the appropriate terms.


These tutorials give an "example first" approach to learning Pumas and establish the standardized nomenclature for the package. Additionally, ways of interfacing with the rest of the Julia ecosystem for visualization and statistics are demonstrated. Thus we highly recommend new users check out these tutorials before continuing into the manual. More tutorials can be found in the PumasTutorials.jl repository.


The basics are the core principles of using Pumas. An overview introduces the user to the basic design tenants, and manual pages proceed to give details on the central functions and types used throughout Pumas.

Model Components

This section of the documentation goes into more detail on the model components, specifying the possible domain types, dosage control parameters (DCP), and the various differential equation types for specifying problems with analytical solutions and alternative differential equations such as delay differential equations (DDEs), stochastic differential equations (SDEs), etc.


This section of the documentation defines the analysis tooling. Essential tools such as diagnostics, plotting, report generation, and sensitivity analysis are discussed in detail in this portion.

Pumas Development Team

The Pumas team is supported by the University of Maryland, Baltimore Center for Translational Medicine (CTM). Vijay Ivaturi is the project lead and Chris Rackauckas is the lead developer. For information on developing and supporting Pumas, please consult Vijay Ivaturi.