Architecture and packages reference

idmtools is built in Python and includes an architecture designed for ease of use, flexibility, and extensibility. You can quickly get up and running and see the capabilities of idmtools by using one of the many included example Python scripts demonstrating the functionality of the packages.

idmtools is built in a modular fashion, as seen in the diagrams below. idmtools design includes multiple packages and APIs, providing both the flexibility to only include the necessary packages for your modeling needs and the extensibility by using the APIs for any needed customization.

Packages overview


Packages and APIs

The following diagrams help illustrate the primary packages and associated APIs available for modeling and development with idmtools:

Core and job orchestration


Local platform


COMPS platform



COMPS access is restricted to IDM employees. See additional documentation for using idmtools with other high-performance computing clusters.

SLURM platform


Models reference


API class specifications



EMOD support with idmtools is provided with the emodpy package, which leverages idmtools plugin architecture: