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/3260c369f74102ae5579f7654da254155ac25c599a78a7d7fbe954123d43541e.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

Local platform

_images/67a487b953c1ad173865c0dbbe55ea30620a16fbc30379a451b08db80ed7da2d.svg

COMPS platform

_images/c0a77ff74ef958faf9db93d61006f70b9439615e28729cb3801599ea83afecfc.svg

Note

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

Models

_images/1471295e28d358159121b66ecb100412ecacef7e14a85abdb1656c7de41d44d7.svg

API class specifications

_images/3a4c68ce075bf4f5f558c37f4e14d3b70c5df0ac83a74bddf1f4fd168ff3c7bd.svg

EMOD

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

_images/035e540468a441e8cb365997a1310a7cd611681dbf66cedb854c1b012a03e541.svg