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#

_images/f76c770ee13161201d69f57a578dd1b834ec48521ca2b588b26188492b93cd27.svg

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#

_images/9e90c3d94a2de75f5017d885f94378c5bd4e7355d1f8f1f889ed26c93f0269f3.svg

Container Platform#

_images/59dac6b016995517d4aa4fe83799a191ad4a0f1eb092c8a5c7ddd26bd613f824.svg

COMPS platform#

_images/983db3e48bf6208512cff010989825736d08e99df36268b3a9dbdd547b72f83b.svg

Note

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

SLURM platform#

_images/2df77dcf8df0464ddf83d37f35956a7fb06e9785ed7e7de86de08f1b63002477.svg

Models reference#

_images/1471295e28d358159121b66ecb100412ecacef7e14a85abdb1656c7de41d44d7.svg

API class specifications#

_images/3a4c68ce075bf4f5f558c37f4e14d3b70c5df0ac83a74bddf1f4fd168ff3c7bd.svg

EMOD#

_images/035e540468a441e8cb365997a1310a7cd611681dbf66cedb854c1b012a03e541.svg

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

API Documentation#