idmtools 0.0.0.dev0__py3-none-any.whl → 0.0.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. idmtools/__init__.py +27 -8
  2. idmtools/analysis/__init__.py +5 -0
  3. idmtools/analysis/add_analyzer.py +89 -0
  4. idmtools/analysis/analyze_manager.py +490 -0
  5. idmtools/analysis/csv_analyzer.py +103 -0
  6. idmtools/analysis/download_analyzer.py +96 -0
  7. idmtools/analysis/map_worker_entry.py +100 -0
  8. idmtools/analysis/platform_analysis_bootstrap.py +94 -0
  9. idmtools/analysis/platform_anaylsis.py +291 -0
  10. idmtools/analysis/tags_analyzer.py +93 -0
  11. idmtools/assets/__init__.py +9 -0
  12. idmtools/assets/asset.py +453 -0
  13. idmtools/assets/asset_collection.py +514 -0
  14. idmtools/assets/content_handlers.py +19 -0
  15. idmtools/assets/errors.py +23 -0
  16. idmtools/assets/file_list.py +191 -0
  17. idmtools/builders/__init__.py +11 -0
  18. idmtools/builders/arm_simulation_builder.py +152 -0
  19. idmtools/builders/csv_simulation_builder.py +76 -0
  20. idmtools/builders/simulation_builder.py +348 -0
  21. idmtools/builders/sweep_arm.py +109 -0
  22. idmtools/builders/yaml_simulation_builder.py +82 -0
  23. idmtools/config/__init__.py +7 -0
  24. idmtools/config/idm_config_parser.py +486 -0
  25. idmtools/core/__init__.py +10 -0
  26. idmtools/core/cache_enabled.py +114 -0
  27. idmtools/core/context.py +68 -0
  28. idmtools/core/docker_task.py +207 -0
  29. idmtools/core/enums.py +51 -0
  30. idmtools/core/exceptions.py +91 -0
  31. idmtools/core/experiment_factory.py +71 -0
  32. idmtools/core/id_file.py +70 -0
  33. idmtools/core/interfaces/__init__.py +5 -0
  34. idmtools/core/interfaces/entity_container.py +64 -0
  35. idmtools/core/interfaces/iassets_enabled.py +58 -0
  36. idmtools/core/interfaces/ientity.py +331 -0
  37. idmtools/core/interfaces/iitem.py +206 -0
  38. idmtools/core/interfaces/imetadata_operations.py +89 -0
  39. idmtools/core/interfaces/inamed_entity.py +17 -0
  40. idmtools/core/interfaces/irunnable_entity.py +159 -0
  41. idmtools/core/logging.py +387 -0
  42. idmtools/core/platform_factory.py +316 -0
  43. idmtools/core/system_information.py +104 -0
  44. idmtools/core/task_factory.py +145 -0
  45. idmtools/entities/__init__.py +10 -0
  46. idmtools/entities/command_line.py +229 -0
  47. idmtools/entities/command_task.py +155 -0
  48. idmtools/entities/experiment.py +787 -0
  49. idmtools/entities/generic_workitem.py +43 -0
  50. idmtools/entities/ianalyzer.py +163 -0
  51. idmtools/entities/iplatform.py +1106 -0
  52. idmtools/entities/iplatform_default.py +39 -0
  53. idmtools/entities/iplatform_ops/__init__.py +5 -0
  54. idmtools/entities/iplatform_ops/iplatform_asset_collection_operations.py +148 -0
  55. idmtools/entities/iplatform_ops/iplatform_experiment_operations.py +415 -0
  56. idmtools/entities/iplatform_ops/iplatform_simulation_operations.py +315 -0
  57. idmtools/entities/iplatform_ops/iplatform_suite_operations.py +322 -0
  58. idmtools/entities/iplatform_ops/iplatform_workflowitem_operations.py +301 -0
  59. idmtools/entities/iplatform_ops/utils.py +185 -0
  60. idmtools/entities/itask.py +316 -0
  61. idmtools/entities/iworkflow_item.py +167 -0
  62. idmtools/entities/platform_requirements.py +20 -0
  63. idmtools/entities/relation_type.py +14 -0
  64. idmtools/entities/simulation.py +255 -0
  65. idmtools/entities/suite.py +188 -0
  66. idmtools/entities/task_proxy.py +37 -0
  67. idmtools/entities/templated_simulation.py +325 -0
  68. idmtools/frozen/frozen_dict.py +71 -0
  69. idmtools/frozen/frozen_list.py +66 -0
  70. idmtools/frozen/frozen_set.py +86 -0
  71. idmtools/frozen/frozen_tuple.py +18 -0
  72. idmtools/frozen/frozen_utils.py +179 -0
  73. idmtools/frozen/ifrozen.py +66 -0
  74. idmtools/plugins/__init__.py +5 -0
  75. idmtools/plugins/git_commit.py +117 -0
  76. idmtools/registry/__init__.py +4 -0
  77. idmtools/registry/experiment_specification.py +105 -0
  78. idmtools/registry/functions.py +28 -0
  79. idmtools/registry/hook_specs.py +132 -0
  80. idmtools/registry/master_plugin_registry.py +51 -0
  81. idmtools/registry/platform_specification.py +138 -0
  82. idmtools/registry/plugin_specification.py +129 -0
  83. idmtools/registry/task_specification.py +104 -0
  84. idmtools/registry/utils.py +119 -0
  85. idmtools/services/__init__.py +5 -0
  86. idmtools/services/ipersistance_service.py +135 -0
  87. idmtools/services/platforms.py +13 -0
  88. idmtools/utils/__init__.py +5 -0
  89. idmtools/utils/caller.py +24 -0
  90. idmtools/utils/collections.py +246 -0
  91. idmtools/utils/command_line.py +45 -0
  92. idmtools/utils/decorators.py +300 -0
  93. idmtools/utils/display/__init__.py +22 -0
  94. idmtools/utils/display/displays.py +181 -0
  95. idmtools/utils/display/settings.py +25 -0
  96. idmtools/utils/dropbox_location.py +30 -0
  97. idmtools/utils/entities.py +127 -0
  98. idmtools/utils/file.py +72 -0
  99. idmtools/utils/file_parser.py +151 -0
  100. idmtools/utils/filter_simulations.py +182 -0
  101. idmtools/utils/filters/__init__.py +5 -0
  102. idmtools/utils/filters/asset_filters.py +88 -0
  103. idmtools/utils/general.py +286 -0
  104. idmtools/utils/gitrepo.py +336 -0
  105. idmtools/utils/hashing.py +239 -0
  106. idmtools/utils/info.py +124 -0
  107. idmtools/utils/json.py +82 -0
  108. idmtools/utils/language.py +107 -0
  109. idmtools/utils/local_os.py +40 -0
  110. idmtools/utils/time.py +22 -0
  111. idmtools-0.0.2.dist-info/METADATA +120 -0
  112. idmtools-0.0.2.dist-info/RECORD +116 -0
  113. idmtools-0.0.2.dist-info/entry_points.txt +9 -0
  114. idmtools-0.0.2.dist-info/licenses/LICENSE.TXT +3 -0
  115. idmtools-0.0.0.dev0.dist-info/METADATA +0 -41
  116. idmtools-0.0.0.dev0.dist-info/RECORD +0 -5
  117. {idmtools-0.0.0.dev0.dist-info → idmtools-0.0.2.dist-info}/WHEEL +0 -0
  118. {idmtools-0.0.0.dev0.dist-info → idmtools-0.0.2.dist-info}/top_level.txt +0 -0
idmtools/utils/json.py ADDED
@@ -0,0 +1,82 @@
1
+ """
2
+ JSON utilities for idmtools such as encoders and decoders.
3
+
4
+ Copyright 2021, Bill & Melinda Gates Foundation. All rights reserved.
5
+ """
6
+ import json
7
+ from enum import Enum
8
+ from json import JSONEncoder
9
+ from logging import getLogger
10
+ from typing import List, Any, Dict, Union
11
+ from uuid import UUID
12
+ from idmtools.assets import AssetCollection, Asset
13
+ from idmtools.core import EntityStatus
14
+ from idmtools.entities import CommandLine
15
+ from idmtools.entities.experiment import Experiment
16
+ from idmtools.entities.itask import ITask
17
+ from idmtools.entities.simulation import Simulation
18
+ from idmtools.utils.entities import as_dict
19
+ from datetime import datetime
20
+
21
+ user_logger = getLogger('user')
22
+
23
+
24
+ class IDMJSONEncoder(JSONEncoder):
25
+ """
26
+ IDMJSONEncoder handles encoding IDM specific items.
27
+
28
+ """
29
+
30
+ def default(self, o):
31
+ """
32
+ JSON Encode item.
33
+
34
+ Args:
35
+ o: Object to encode
36
+
37
+ Returns:
38
+ JSON encoded object
39
+ """
40
+ if isinstance(o, Enum):
41
+ return o.value
42
+ elif isinstance(o, EntityStatus):
43
+ return o.value
44
+ elif isinstance(o, Experiment):
45
+ return o.to_dict()
46
+ elif isinstance(o, Simulation):
47
+ return o.to_dict()
48
+ elif isinstance(o, ITask):
49
+ result = o.to_dict()
50
+ result["task_type"] = o.__class__.__name__
51
+ return result
52
+ elif isinstance(o, bytes):
53
+ return None
54
+ elif isinstance(o, (CommandLine, UUID)):
55
+ return str(o)
56
+ elif isinstance(o, Asset):
57
+ return as_dict(o, exclude=['content'])
58
+ elif isinstance(o, AssetCollection):
59
+ return o.assets
60
+ elif isinstance(o, (dict, int, list, str)):
61
+ return o
62
+ elif isinstance(o, datetime):
63
+ return str(o)
64
+
65
+
66
+ def load_json_file(path: str) -> Union[Dict[Any, Any], List]:
67
+ """
68
+ Load a json object from a file.
69
+
70
+ Args:
71
+ path: Path to file
72
+
73
+ Returns:
74
+ Contents of file parsed by JSON
75
+ """
76
+ if not path:
77
+ return
78
+ try:
79
+ with open(path, 'r') as fp:
80
+ return json.load(fp)
81
+ except IOError as e:
82
+ user_logger.error(f"The file at {path} could not be loaded or parsed to JSON.\n{e}")
@@ -0,0 +1,107 @@
1
+ """
2
+ Tools to format different outputs for human consumption.
3
+
4
+ Copyright 2021, Bill & Melinda Gates Foundation. All rights reserved.
5
+ """
6
+ from collections.abc import Iterable
7
+ from typing import Type
8
+
9
+
10
+ def on_off(test) -> str:
11
+ """
12
+ Print on or off depending on boolean state of test.
13
+
14
+ Args:
15
+ test: Boolean/object to check state
16
+
17
+ Returns:
18
+ On or off
19
+ """
20
+ return "on" if test else "off"
21
+
22
+
23
+ def pluralize(word, plural_suffix="s"):
24
+ """
25
+ Convert work to plural form.
26
+
27
+ Args:
28
+ word: Word
29
+ plural_suffix: plural suffix. Default to s
30
+
31
+ Returns:
32
+ Pluralized string
33
+ """
34
+ if isinstance(word, Iterable):
35
+ return plural_suffix if len(word) > 1 else ""
36
+ return plural_suffix if word > 1 else ""
37
+
38
+
39
+ def verbose_timedelta(delta):
40
+ """
41
+ The verbose_timedelta provides ms accurate, human readable of a time delta.
42
+
43
+ Args:
44
+ delta:
45
+
46
+ Returns:
47
+ Time delta
48
+ """
49
+ if isinstance(delta, float):
50
+ if delta < 1:
51
+ return "0 seconds"
52
+ hours, remainder = divmod(delta, 3600)
53
+ else:
54
+ if delta.seconds < 1:
55
+ return "0 seconds"
56
+ hours, remainder = divmod(delta.seconds, 3600)
57
+
58
+ minutes, seconds = divmod(remainder, 60)
59
+ hstr = "%s hour%s" % (hours, "s"[hours == 1:])
60
+ mstr = "%s minute%s" % (minutes, "s"[minutes == 1:])
61
+ sstr = "{:.2f} second{}".format(seconds, "s"[seconds == 1:])
62
+ dhms = [hstr, mstr, sstr]
63
+ for x in range(len(dhms)):
64
+ if not dhms[x].startswith('0'):
65
+ dhms = dhms[x:]
66
+ break
67
+ dhms.reverse()
68
+ for x in range(len(dhms)):
69
+ if not dhms[x].startswith('0'):
70
+ dhms = dhms[x:]
71
+ break
72
+ dhms.reverse()
73
+ return ', '.join(dhms)
74
+
75
+
76
+ def get_qualified_class_name(cls: Type) -> str:
77
+ """
78
+ Return the full class name for an object.
79
+
80
+ Args:
81
+ cls: Class object to get name
82
+
83
+ Returns:
84
+ Fully qualified class name
85
+ """
86
+ return f'{cls.__module__}.{cls.__name__}'
87
+
88
+
89
+ def get_qualified_class_name_from_obj(obj: object) -> str:
90
+ """
91
+ Return the full class name from object.
92
+
93
+ Args:
94
+ obj: Object
95
+
96
+ Example:
97
+ ```
98
+ a = Platform('COMPS')
99
+ class_name = get_qualified_class_name(a)
100
+ print(class_name)
101
+ 'idmtools_platform_comps.comps_platform.COMPSPlatform'
102
+ ```
103
+
104
+ Returns:
105
+ Full module path to class of object
106
+ """
107
+ return get_qualified_class_name(obj.__class__)
@@ -0,0 +1,40 @@
1
+ """
2
+ Info to determine info about Operation Systems.
3
+
4
+ Copyright 2021, Bill & Melinda Gates Foundation. All rights reserved.
5
+ """
6
+ import platform
7
+ import getpass
8
+
9
+
10
+ class LocalOS:
11
+ """
12
+ A Central class for representing values whose proper access methods may differ between platforms.
13
+ """
14
+
15
+ class UnknownOS(Exception):
16
+ """
17
+ Unknown os detected.
18
+ """
19
+ pass
20
+
21
+ os_mapping = {'windows': 'win',
22
+ 'linux': 'lin',
23
+ 'darwin': 'mac'}
24
+
25
+ _os = platform.system().lower()
26
+ if _os not in os_mapping:
27
+ raise UnknownOS("Operating system %s is not currently supported." % _os)
28
+
29
+ username = getpass.getuser()
30
+ name = os_mapping[_os]
31
+
32
+ @staticmethod
33
+ def is_window() -> bool:
34
+ """
35
+ Are we running on a windows system?
36
+
37
+ Returns:
38
+ True if on windows
39
+ """
40
+ return LocalOS.name == 'win'
idmtools/utils/time.py ADDED
@@ -0,0 +1,22 @@
1
+ """
2
+ Timestamp function.
3
+
4
+ Copyright 2021, Bill & Melinda Gates Foundation. All rights reserved.
5
+ """
6
+
7
+
8
+ def timestamp(time=None):
9
+ """
10
+ Return a timestamp.
11
+
12
+ Args:
13
+ time: A time object; if None provided, use now.
14
+
15
+ Returns:
16
+ A string timestamp in UTC, format YYYYMMDD_HHmmSS.
17
+ """
18
+ import datetime
19
+ if not time:
20
+ time = datetime.datetime.utcnow()
21
+ ts = time.strftime('%Y%m%d_%H%M%S')
22
+ return ts
@@ -0,0 +1,120 @@
1
+ Metadata-Version: 2.4
2
+ Name: idmtools
3
+ Version: 0.0.2
4
+ Summary: Core tools for modeling
5
+ Author-email: Zhaowei Du <zdu@idmod.org>, Sharon Chen <shchen@idmod.org>, Clinton Collins <ccollins@idmod.org>, Benoit Raybaud <braybaud@idmod.org>, Clark Kirkman IV <ckirkman@idmod.org>, Emily Claps <emily.claps@gatesfoundation.org>, Jen Schripsema <jschripsema@idmod.org>, Ross Carter <rcarter@idmod.org>, Mandy Izzo <mizzo@idmod.org>, Mary Fisher <mafisher@idmod.org>, Lauren George <lgeorge@idmod.org>
6
+ License: Proprietary or specify if known
7
+ Project-URL: Homepage, https://github.com/InstituteforDiseaseModeling/idmtools
8
+ Project-URL: Documentation, https://idmtools.readthedocs.io
9
+ Project-URL: Bug Tracker, https://github.com/InstituteforDiseaseModeling/idmtools/issues
10
+ Keywords: modeling,IDM,IDMTools
11
+ Classifier: Programming Language :: Python :: 3.8
12
+ Classifier: Programming Language :: Python :: 3.9
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Requires-Python: >=3.8
17
+ Description-Content-Type: text/markdown
18
+ License-File: LICENSE.TXT
19
+ Requires-Dist: backoff<2.3,>=1.10.0
20
+ Requires-Dist: coloredlogs~=15.0
21
+ Requires-Dist: diskcache~=5.4.0
22
+ Requires-Dist: filelock
23
+ Requires-Dist: more-itertools~=10.3.0
24
+ Requires-Dist: numpy!=1.19.4
25
+ Requires-Dist: pandas>=1.1.4
26
+ Requires-Dist: pluggy~=1.5
27
+ Requires-Dist: PyYAML<6.1,>=5.3.0
28
+ Requires-Dist: tabulate<0.10,>=0.8.9
29
+ Requires-Dist: tqdm<5,>=4.52.0
30
+ Requires-Dist: jinja2~=3.1.3
31
+ Requires-Dist: packaging<25.0,>=20.4
32
+ Provides-Extra: test
33
+ Requires-Dist: allure-pytest<2.16,>=2.8.34; extra == "test"
34
+ Requires-Dist: junitparser>=4.0.2; extra == "test"
35
+ Requires-Dist: livereload~=2.6.3; extra == "test"
36
+ Requires-Dist: pytest>=7.4.4; extra == "test"
37
+ Requires-Dist: pytest-cache>=1.0; extra == "test"
38
+ Requires-Dist: pytest-cov>=2.11.1; extra == "test"
39
+ Requires-Dist: pytest-html>=3.1.1; extra == "test"
40
+ Requires-Dist: py>=1.11.0; extra == "test"
41
+ Requires-Dist: pytest-mock; extra == "test"
42
+ Requires-Dist: pytest-timeout~=2.4.0; extra == "test"
43
+ Requires-Dist: pytest-xdist~=3.8; extra == "test"
44
+ Requires-Dist: flake8>=7.0; extra == "test"
45
+ Requires-Dist: flake8-docstrings~=1.7; extra == "test"
46
+ Requires-Dist: coverage>=7.13; extra == "test"
47
+ Requires-Dist: twine>=3.4.1; extra == "test"
48
+ Provides-Extra: notebooks
49
+ Requires-Dist: docker>5.0; extra == "notebooks"
50
+ Provides-Extra: packaging
51
+ Provides-Extra: idm
52
+ Requires-Dist: idmtools_platform_comps; extra == "idm"
53
+ Requires-Dist: idmtools_cli; extra == "idm"
54
+ Requires-Dist: idmtools_models; extra == "idm"
55
+ Provides-Extra: full
56
+ Requires-Dist: idmtools_platform_comps; extra == "full"
57
+ Requires-Dist: idmtools_cli; extra == "full"
58
+ Requires-Dist: idmtools_models; extra == "full"
59
+ Requires-Dist: idmtools_platform_general; extra == "full"
60
+ Requires-Dist: idmtools_platform_slurm; extra == "full"
61
+ Requires-Dist: idmtools_platform_container; extra == "full"
62
+ Provides-Extra: container
63
+ Requires-Dist: idmtools_cli; extra == "container"
64
+ Requires-Dist: idmtools_models; extra == "container"
65
+ Requires-Dist: idmtools_platform_general; extra == "container"
66
+ Requires-Dist: idmtools_platform_container; extra == "container"
67
+ Provides-Extra: slurm
68
+ Requires-Dist: idmtools_cli; extra == "slurm"
69
+ Requires-Dist: idmtools_models; extra == "slurm"
70
+ Requires-Dist: idmtools_platform_general; extra == "slurm"
71
+ Requires-Dist: idmtools_platform_slurm; extra == "slurm"
72
+ Dynamic: license-file
73
+
74
+ ![Staging: idmtools-core](https://github.com/InstituteforDiseaseModeling/idmtools/workflows/Staging:%20idmtools-core/badge.svg?branch=dev)
75
+
76
+ # idmtools-core
77
+
78
+ <!-- START doctoc generated TOC please keep comment here to allow auto update -->
79
+ <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
80
+ **Table of Contents**
81
+
82
+ - [Overview](#overview)
83
+ - [Installing](#installing)
84
+ - [Development Tips](#development-tips)
85
+ - [Future Work](#future-work)
86
+
87
+ <!-- END doctoc generated TOC please keep comment here to allow auto update -->
88
+
89
+ # Overview
90
+
91
+ idmtools provides the APIS, logic, and other operations to provision, execute, analysis, and manage jobs running on an HPC cluster
92
+
93
+ To see the full API documentation, see https://institutefordiseasemodeling.github.io/idmtools/idmtools_index.html
94
+
95
+
96
+ # Installing
97
+
98
+ ```bash
99
+ pip install idmtools --index-url=https://packages.idmod.org/api/pypi/pypi-production/simple
100
+ ```
101
+
102
+ # Development Tips
103
+
104
+ There is a Makefile file available for most common development tasks. Here is a list of commands
105
+
106
+ ```bash
107
+ clean - Clean up temproary files
108
+ lint - Lint package and tests
109
+ test - Run All tests
110
+ coverage - Run tests and generate coverage report that is shown in browser
111
+ ```
112
+
113
+ On Windows, you can use `pymake` instead of `make`
114
+
115
+ # Future Work
116
+
117
+ * Add new analyze api to platform
118
+ * Where does this go?
119
+ * Move current code to Comps
120
+ * Add support for platform specific bootstrap scripts
@@ -0,0 +1,116 @@
1
+ idmtools/__init__.py,sha256=WqkdJFslU4vizYaUh49h9pHK14X_kfzh2WzdYv2gjE0,851
2
+ idmtools/analysis/__init__.py,sha256=rCnIXclfJSM2CYHuqPol4gx9YgHHT6MnQt8m0DfiapI,126
3
+ idmtools/analysis/add_analyzer.py,sha256=bQo-7YSRbsxRXQhOHLC2F1Kf6bPThuhd-n8T0mVyxig,2380
4
+ idmtools/analysis/analyze_manager.py,sha256=qDWMvHRYodHHbwSS0LaCbcamTW0DfhBoVDK8pjEyAxk,21241
5
+ idmtools/analysis/csv_analyzer.py,sha256=Q7jDDYURvso2zahoUMD2HNTXuE6NTa8eIaOP-0T_7D4,4114
6
+ idmtools/analysis/download_analyzer.py,sha256=4TB6bOztN_bBq5zJTUrc2iV8lFxub7gHQPpgX15niWg,2995
7
+ idmtools/analysis/map_worker_entry.py,sha256=-mK7IvvbaygQO-vReKBfEn6w8NfSaHVPUmwOgq4sKB4,3966
8
+ idmtools/analysis/platform_analysis_bootstrap.py,sha256=tWq8ERQE72MQn9Z6HShRwvdnfrl9znQLpz6usO1Hi0w,3934
9
+ idmtools/analysis/platform_anaylsis.py,sha256=UYPEGyt_Mcm74wsx7JZOJ3y8gSdQ3tsdqEVp_3VlzrM,12295
10
+ idmtools/analysis/tags_analyzer.py,sha256=RS6UJi7G84jcaR_uPeFRTAUFQG8z5Ymfj1vyslTqg1o,3460
11
+ idmtools/assets/__init__.py,sha256=rDOTQHPWi0xc4nt7uAjIscKu48s1yoVhky3P7a6PzyI,342
12
+ idmtools/assets/asset.py,sha256=vWWRbiTp0L2uD1z13TRkKOh9FAhA5juyI0BV5RSlMx8,14659
13
+ idmtools/assets/asset_collection.py,sha256=PWKbWWZxLkyHtQ-jWFA8UEIJfWZquiV9QoD0Yw_x4p8,18151
14
+ idmtools/assets/content_handlers.py,sha256=to2kVeC1wVPFt9T0I5D4kONyb___H3d35BCJ6MxTPiw,315
15
+ idmtools/assets/errors.py,sha256=g6X2V61Aq-TA3GOaFO5-0wyDu8t1S4_kHEqCdBavkv8,535
16
+ idmtools/assets/file_list.py,sha256=8mh_BCpVw2uFh4kOPq848vPVFMtwAHEtC2Bur4fQCmA,6331
17
+ idmtools/builders/__init__.py,sha256=ssfJcqn-2Tqsc5CDtF6Dcfo9a1lONH2ikMPISpDKErQ,490
18
+ idmtools/builders/arm_simulation_builder.py,sha256=91NFOxYwyE-i8cAQM3bZOd7-9kDWhdlb0RGnxnRjEZ8,3509
19
+ idmtools/builders/csv_simulation_builder.py,sha256=IIBu28LR32Y5Tty2_Sqx_lUcFDbEAoi9JiLLMKIDU5k,2361
20
+ idmtools/builders/simulation_builder.py,sha256=4KErWyUvzA8WccDRd1LD_K_PcQl9NTPnyRm6VNWrzJ0,14027
21
+ idmtools/builders/sweep_arm.py,sha256=_KbAuCzScsjPT6PvAPJzwyAKXow1ins2eEIVAGwP_PY,2737
22
+ idmtools/builders/yaml_simulation_builder.py,sha256=IOU-bSBsJpkkO0ibLRLxb1XdsxFsx-un2xbRT6VQ-O8,2350
23
+ idmtools/config/__init__.py,sha256=oqZ6oBJQajkv-oGbJLvhxanVEYp_PZrAN4RoLURmYvU,199
24
+ idmtools/config/idm_config_parser.py,sha256=HM0ypprEXAitWGg3_Vi5RyfXpHyMSOFmaCraZr_XMYM,16857
25
+ idmtools/core/__init__.py,sha256=KX-pdQ15_nWSSz6_q6F9mo4I7Xxpgy8bmo9Ldfcw864,343
26
+ idmtools/core/cache_enabled.py,sha256=msBUxjImVuKVGlJgatPr1m0xw8tnEs7fbYkYj2DHNWc,4191
27
+ idmtools/core/context.py,sha256=R_QjbsWtVP_jR5X9NlIwVNJQHILhDKSj3dOOfrA8x0Q,1849
28
+ idmtools/core/docker_task.py,sha256=V9YpNBUnMmH_HXgsDjqPZl6rmmTxwYd5oAdHziWOomA,7452
29
+ idmtools/core/enums.py,sha256=F20TEvrtauuyobbPn7_fAuMfr--9XzDeN-jwmn5s628,1195
30
+ idmtools/core/exceptions.py,sha256=JCZZpQ1YXiIpZWbc2WGtmIuBnvsCSXOgD6kBifb1kRY,2352
31
+ idmtools/core/experiment_factory.py,sha256=lPPVUytIs7Bo5pHhjWw62YDeOcJCDe2seylgAjumJTE,2377
32
+ idmtools/core/id_file.py,sha256=f5ziLgjq1E7or3EIGG65hwncYHcn05T2oa611WuEhuk,2335
33
+ idmtools/core/logging.py,sha256=pECf90Ugotj7j3p_BV9qjWJPLxM1qxMAIvI52z93e9g,12759
34
+ idmtools/core/platform_factory.py,sha256=F52k85HmlEJoVM8DRf9NWVPQyKISSVD2452qs-DkyUg,14097
35
+ idmtools/core/system_information.py,sha256=DMyHRhaAlDrINMh0EAgaAQnVYpV1kiqVB60VReN1dRo,3292
36
+ idmtools/core/task_factory.py,sha256=6flUYVh_hHI4lbsGTK3ldcnXcf5-QewXlnoRYUrNBCw,4234
37
+ idmtools/core/interfaces/__init__.py,sha256=VJI1S6shre8gr9_DVMi7I2pCdLpdnJ_ShUNMifE4pX0,158
38
+ idmtools/core/interfaces/entity_container.py,sha256=dFv3bqcLE1MtzsvTf2S3AxaLgo5svUiKAPTztUyAR9E,1644
39
+ idmtools/core/interfaces/iassets_enabled.py,sha256=xvONXtlTXkt0xF2L34pxhp_rGMM2eqHxfnlx6tD6y3g,1857
40
+ idmtools/core/interfaces/ientity.py,sha256=cBwbp1_wuESBOykoazBGH3TTnMmjnjjAxuF7HSSEqQ0,10883
41
+ idmtools/core/interfaces/iitem.py,sha256=mb3OlVz8qtSlp3tvZxo5hcyStCu1o6oO_x8sTCZAuCI,5878
42
+ idmtools/core/interfaces/imetadata_operations.py,sha256=XARDN9dbMc5-fcDaj6GNwKT7aWCIoCEnV_oYcQxHe2w,2297
43
+ idmtools/core/interfaces/inamed_entity.py,sha256=myiXhl-dlrl2IzFSYjSRX0pqnxiHdw2QLGugbjBuVNw,507
44
+ idmtools/core/interfaces/irunnable_entity.py,sha256=hHtVPa9TsAzIOAAOS8x-WR6hAZwkfeHYDGZvLfbuQbI,6218
45
+ idmtools/entities/__init__.py,sha256=MFJv5If7PNDQn1InWwBqmJp0zIEzEEmcYK-LnOxTCD0,343
46
+ idmtools/entities/command_line.py,sha256=fpVRzDjCyTrhJGdZTMaDb6_NpeM9dZdEaTBPT1VoGo0,6284
47
+ idmtools/entities/command_task.py,sha256=G0HhcOrr5G_r5grRTpt4zCru3bN2u2r8HhoHbzlzj_g,4463
48
+ idmtools/entities/experiment.py,sha256=jsFyyHlvIc1n6796Uiyb1v_ctZAJAsFV7RG8AsZPlVY,31545
49
+ idmtools/entities/generic_workitem.py,sha256=yG-7vYhjpKdgN_u1za09AsstAmi3rTdmA1xBM0F2AKU,1225
50
+ idmtools/entities/ianalyzer.py,sha256=HhyTiyjneWf5HJJ-KbSqPgT6smFLZD-hwYPmS0AexHM,5496
51
+ idmtools/entities/iplatform.py,sha256=838Ag8PeuTE9PZYhs_BAcxkxP2OVAjuwodXAite3OYE,43670
52
+ idmtools/entities/iplatform_default.py,sha256=AgXbD-Ou0scR4z7jRDyf4YYFK3aY-D-6d0luqzebsUI,923
53
+ idmtools/entities/itask.py,sha256=yeWr55EEqoduIG-H2TUiOmMZ14rCxuP-mJpofX4DVjk,10438
54
+ idmtools/entities/iworkflow_item.py,sha256=gdBOVVduGfLQvg8z0WZ3Gqx-Ee2AVQLFE7oIEQTlwlY,5575
55
+ idmtools/entities/platform_requirements.py,sha256=LvAsFwNIWT2zqNp7qvCsj9s5f-u96oR8Ro1jixn4E5c,634
56
+ idmtools/entities/relation_type.py,sha256=wf-URyjx20poGqkW0MJjD680y0d_jt5BISU-0PbwTYs,289
57
+ idmtools/entities/simulation.py,sha256=-8uy8oOoqQP3kUrlRQQ75nfGWiUf3D4BNcyfGKhNUkU,8662
58
+ idmtools/entities/suite.py,sha256=HNPIQDpyZfLxO5P0HZAbpIlN_iKbYLfUfAbtXhEp-P4,6722
59
+ idmtools/entities/task_proxy.py,sha256=nTxGza5zGJCklfc7-2O1bV6af9iBWSrCjDAOzUVK7Jc,1219
60
+ idmtools/entities/templated_simulation.py,sha256=ru_FGl2a-eHVAYwSRvxheJ3qoVCqx9O4M4uQO8ipOkA,9878
61
+ idmtools/entities/iplatform_ops/__init__.py,sha256=34_1sUY-JQnB8hixtZNZs8lu3LlBo3Mt5yrvBcLD1Dc,126
62
+ idmtools/entities/iplatform_ops/iplatform_asset_collection_operations.py,sha256=8R_tSroxjR15xJREGuqInLWcCD-eql2bKjqFmh2DC68,5493
63
+ idmtools/entities/iplatform_ops/iplatform_experiment_operations.py,sha256=RtnYgIJNXDSFbk0OQk8CLZ9sYnrhVm2yyIbWMy1bD2Q,14240
64
+ idmtools/entities/iplatform_ops/iplatform_simulation_operations.py,sha256=9OtnrQ3L3KxSrwaHpjkKEisSeq_NKJSVVMmnGlTs3RQ,9725
65
+ idmtools/entities/iplatform_ops/iplatform_suite_operations.py,sha256=Ey5SU5P6WCqr0sNYTEtp1oIJFlc5f6HKjTLp4LI4p1I,9796
66
+ idmtools/entities/iplatform_ops/iplatform_workflowitem_operations.py,sha256=gPzOgL6tphJcLeK2a6PKH3XN-a6b7bCKm-DoUjS6AgI,9682
67
+ idmtools/entities/iplatform_ops/utils.py,sha256=ugU_0MC5lvpf0WJNkEvuqITrKZDPf5TEUC2vsItAyys,6347
68
+ idmtools/frozen/frozen_dict.py,sha256=czibhLIei6PyPqCj2VwIynlsBeNqM_2tAgCUvP0yxQk,2360
69
+ idmtools/frozen/frozen_list.py,sha256=45Qh47mMmjuTj48G6yMfIKumfJssZxuJlcDkIfP2ros,2131
70
+ idmtools/frozen/frozen_set.py,sha256=h2i7FmIGeZwpicWUAx38vVqMGdf3Tbr1-PNMVljWq9M,2704
71
+ idmtools/frozen/frozen_tuple.py,sha256=8Tc9n0t2SfTwAEZ20KycICBfv-q7hn54D-VkgVrYygw,518
72
+ idmtools/frozen/frozen_utils.py,sha256=sGJXCynpqyWbLIrJ9GhF4Oz8fuF7qida7uvmUiFC6C4,4460
73
+ idmtools/frozen/ifrozen.py,sha256=HAqa3vfFlU3DCIQm9s1bS5L25YTQYvuicXUVesvdK9U,1395
74
+ idmtools/plugins/__init__.py,sha256=W__JJaY1pI9-Zhtsvngm4Gdg7QgujCnD1LUzg6BvKtw,97
75
+ idmtools/plugins/git_commit.py,sha256=XtNf5kkWgYZX7IpjuheVA0uEPNCIJU8zSFqKZoSehvc,4718
76
+ idmtools/registry/__init__.py,sha256=iv3fsKNm9S3v4r2U9_HxqVgirAdWlFZtRtfLJXCeycA,93
77
+ idmtools/registry/experiment_specification.py,sha256=4guddaj78E6UJEhgPpI7rBEt7dgx0bhOlinbJIkQSt8,3445
78
+ idmtools/registry/functions.py,sha256=vV8zXjkZUqInPVjD3Raebxl6dasjCrlne4AbTlNxZ7M,907
79
+ idmtools/registry/hook_specs.py,sha256=F8W5ecW8cXRRIZEXagxvK2Ri7qwLm_Pu5YpKY7ib5rs,2705
80
+ idmtools/registry/master_plugin_registry.py,sha256=TU2EN9IMP6idyuW3dNdjmsXkR9TNp8eMsV6e4CF1Ff0,1593
81
+ idmtools/registry/platform_specification.py,sha256=DzqBmOrTDsAW1_1zvEH61g1UPG4VOH4F1TsreOe6PJI,4865
82
+ idmtools/registry/plugin_specification.py,sha256=mGmXaTeq0jksNQDhWqsc0p3czAVTwfKASJiYEU-x6W8,3594
83
+ idmtools/registry/task_specification.py,sha256=083dFitCGgD390ZfoSFOSVlIcl8At10MHGwC6K7aupM,3284
84
+ idmtools/registry/utils.py,sha256=S26eN7nn7xyaeLe2OULd88F_mKiRNS-eaKuo46LYDzk,4668
85
+ idmtools/services/__init__.py,sha256=gQt6W2luey_-arxwXwj8UCBEdCmScZo2yQSiFzUlf9Q,111
86
+ idmtools/services/ipersistance_service.py,sha256=2iJLw7v3A1L1v5WeqLl07XgYgCFau43Q6AFovTxqz94,3469
87
+ idmtools/services/platforms.py,sha256=Qd4JnOf7WtnLkmjsnbPnqUMRueAqkMY6oOr0cnudHBs,340
88
+ idmtools/utils/__init__.py,sha256=rykBj_OmUNno2SnK9LaZg4hG5VT4CpMFBGAvM255RfM,111
89
+ idmtools/utils/caller.py,sha256=pR-7PJMqRMVd1luatVDvX9nMn1m95_vzII5MTrXPiFg,690
90
+ idmtools/utils/collections.py,sha256=GCvavdlLUaXyukYlUWJfXisldMtISPNE18oRBZsNUY8,6758
91
+ idmtools/utils/command_line.py,sha256=YRjlM35TCiJ7tw9fQ-lRfuLA58-Hn8IvRzIFFI2JJ8E,1060
92
+ idmtools/utils/decorators.py,sha256=v4hqYXvGuaVrAGlGzRnJmyNGyMVWtTLSV1RMLlrJE9o,7816
93
+ idmtools/utils/dropbox_location.py,sha256=I1FQlRITfzpnzgEIVDVfff73YgR8yoz30OC7FBpXyfY,598
94
+ idmtools/utils/entities.py,sha256=TDrsLzfplnlGkd82SPEnRt7DOhUK1mwfnSqkcbseNvc,4111
95
+ idmtools/utils/file.py,sha256=1vGwsO32_UKEQZTI1nwoGA4PFbiC9ADq3UE7joSpp5k,2122
96
+ idmtools/utils/file_parser.py,sha256=3RCYFe2jUFI1RvaB6_oxUFUyO9HI22CJSTTyQgqosNA,3784
97
+ idmtools/utils/filter_simulations.py,sha256=jpZN5-o0YeU87l-ByizdUbEUF4kdRbDrgKYNnMB4vu0,8539
98
+ idmtools/utils/general.py,sha256=2g1HhlP1vvR6p9h-wipOvYlxwW54SvpMOxsMHy2fFq0,8925
99
+ idmtools/utils/gitrepo.py,sha256=v9KYrFYAnFCnyIIFAGz8w4t-IIstk6tuOO54XhJ8dIw,11512
100
+ idmtools/utils/hashing.py,sha256=c0UoHZ_AZQ9vDAiVh7MVzpq3_a_ebNptQ64_MvkMgv0,6684
101
+ idmtools/utils/info.py,sha256=HstldvCnqhaK2-gZA0PoeHZNRCOnw__jZVgqmWceVVc,3456
102
+ idmtools/utils/json.py,sha256=6kAkN8fYw9TXiWu-zjqiBL8c6_k73wzFFu6h9lYEPB4,2249
103
+ idmtools/utils/language.py,sha256=RuxNFU9O4v4cm4OUbHPTb-TeeeIoeyAB2RwtRq-l5tQ,2481
104
+ idmtools/utils/local_os.py,sha256=A3W5FHf9Zl_SBrduxoDKk4pyk7bNp9wVktLIOn7q_CE,909
105
+ idmtools/utils/time.py,sha256=XzX78gAugqJ0h9Y1iQq2hQPbxcGyTb5ONjFA-2diF10,440
106
+ idmtools/utils/display/__init__.py,sha256=VucJp7nu1Mv4iy331LrfAIpen1AxWcd-tuCgFwZFal8,505
107
+ idmtools/utils/display/displays.py,sha256=jPqviJ7J-TQLddCHcBVcJYI1MtmYaLGbkT3e-ZMn2Io,4756
108
+ idmtools/utils/display/settings.py,sha256=LxqzdcAHLdKA4YRDlEMjLt0EJCo4f2k8G2OIup4SoWU,802
109
+ idmtools/utils/filters/__init__.py,sha256=6HFyMuWjypna3Wr7UVCMsyNS8jjnuJN8bDIRQ0OuOFw,105
110
+ idmtools/utils/filters/asset_filters.py,sha256=BfawZrmbLvcUkuHNTfV9byCFQ93tBGfckkIArlHFAhE,2657
111
+ idmtools-0.0.2.dist-info/licenses/LICENSE.TXT,sha256=l9S8Ydr_LcejxKoqK8191ZAOsmVX-nJLSPoLKZDUgcg,197
112
+ idmtools-0.0.2.dist-info/METADATA,sha256=vFEq-ngcFrDmypwF1Ww9nhmNdRBcEZD3u9x-BpfeuPo,4885
113
+ idmtools-0.0.2.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
114
+ idmtools-0.0.2.dist-info/entry_points.txt,sha256=PsHS96y_zMbFMmVhmFKKQWH_qgeC5SRLx8u4nfLCkaY,336
115
+ idmtools-0.0.2.dist-info/top_level.txt,sha256=bdevGpY0RFuzo9UacyqH3_vaQWzUzGhZqgvpw6-YfAo,9
116
+ idmtools-0.0.2.dist-info/RECORD,,
@@ -0,0 +1,9 @@
1
+ [idmtools_experiment]
2
+ idmtools_experiment = idmtools.entities.experiment:ExperimentSpecification
3
+
4
+ [idmtools_hooks]
5
+ idmtools_add_git_tag = idmtools.plugins.git_commit
6
+
7
+ [idmtools_task]
8
+ idmtools_task_command = idmtools.entities.command_task:CommandTaskSpecification
9
+ idmtools_task_docker = idmtools.core.docker_task:DockerTaskSpecification
@@ -0,0 +1,3 @@
1
+ idmtools is licensed under the Creative Commons Attribution-Noncommercial-ShareAlike 4.0 License.
2
+
3
+ To view a copy of this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode
@@ -1,41 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: idmtools
3
- Version: 0.0.0.dev0
4
- Summary: Placeholder package for idmtools - reserved for future use
5
- Author-email: IDM <idmtools@idmod.org>
6
- License: Proprietary
7
- Project-URL: Homepage, https://github.com/InstituteforDiseaseModeling/idmtools
8
- Project-URL: Bug Tracker, https://github.com/InstituteforDiseaseModeling/idmtools/issues
9
- Keywords: placeholder,reserved,idmtools
10
- Classifier: Development Status :: 1 - Planning
11
- Classifier: Intended Audience :: Developers
12
- Classifier: Programming Language :: Python :: 3
13
- Classifier: Programming Language :: Python :: 3.8
14
- Classifier: Programming Language :: Python :: 3.9
15
- Classifier: Programming Language :: Python :: 3.10
16
- Classifier: Programming Language :: Python :: 3.11
17
- Classifier: Programming Language :: Python :: 3.12
18
- Requires-Python: >=3.8
19
- Description-Content-Type: text/markdown
20
-
21
- # idmtools
22
-
23
- **PLACEHOLDER PACKAGE - NOT FOR USE**
24
-
25
- This package is a placeholder to reserve the name `idmtools` on PyPI.
26
-
27
- The actual package implementation will be released in the future.
28
-
29
- ## Purpose
30
-
31
- This placeholder ensures the package name is reserved and prevents name squatting.
32
-
33
- ## Status
34
-
35
- This is version 0.0.0.dev0 - a minimal placeholder release.
36
-
37
- ## Future Release
38
-
39
- The full implementation of idmtools will be published when ready.
40
-
41
- For more information, visit: https://github.com/InstituteforDiseaseModeling/idmtools
@@ -1,5 +0,0 @@
1
- idmtools/__init__.py,sha256=JcRD1_WKYjgAG5II18KxMvWawPNMsyW1hhlwdMBbv4o,179
2
- idmtools-0.0.0.dev0.dist-info/METADATA,sha256=nalJ4SkHi0kIcV0-UvAz-FqO3VHI_D23rmpIMmJGDMo,1418
3
- idmtools-0.0.0.dev0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
4
- idmtools-0.0.0.dev0.dist-info/top_level.txt,sha256=bdevGpY0RFuzo9UacyqH3_vaQWzUzGhZqgvpw6-YfAo,9
5
- idmtools-0.0.0.dev0.dist-info/RECORD,,