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#
Container Platform#
COMPS platform#
Note
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#
EMOD support with idmtools is provided with the emodpy package, which leverages idmtools plugin architecture.
API Documentation#
- idmtools
- idmtools_models
- idmtools_platform_comps
- idmtools_platform_comps package
- idmtools_platform_comps.cli package
- idmtools_platform_comps.comps_operations package
- idmtools_platform_comps.ssmt_operations package
- idmtools_platform_comps.ssmt_work_items package
- idmtools_platform_comps.utils package
- idmtools_platform_comps.comps_cli module
- idmtools_platform_comps.comps_platform module
- idmtools_platform_comps.plugin_info module
- idmtools_platform_comps.ssmt_platform module
- idmtools_platform_comps package
- idmtools_platform_slurm
- idmtools_platform_slurm package
- idmtools_platform_slurm.assets package
- idmtools_platform_slurm.cli package
- idmtools_platform_slurm.platform_operations package
- idmtools_platform_slurm.slurm_operations package
- idmtools_platform_slurm.utils package
- idmtools_platform_slurm.plugin_info module
- idmtools_platform_slurm.slurm_platform module
- idmtools_platform_slurm package
- idmtools_slurm_utils
- idmtools_platform_container