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.
- idmtools/__init__.py +27 -8
- idmtools/analysis/__init__.py +5 -0
- idmtools/analysis/add_analyzer.py +89 -0
- idmtools/analysis/analyze_manager.py +490 -0
- idmtools/analysis/csv_analyzer.py +103 -0
- idmtools/analysis/download_analyzer.py +96 -0
- idmtools/analysis/map_worker_entry.py +100 -0
- idmtools/analysis/platform_analysis_bootstrap.py +94 -0
- idmtools/analysis/platform_anaylsis.py +291 -0
- idmtools/analysis/tags_analyzer.py +93 -0
- idmtools/assets/__init__.py +9 -0
- idmtools/assets/asset.py +453 -0
- idmtools/assets/asset_collection.py +514 -0
- idmtools/assets/content_handlers.py +19 -0
- idmtools/assets/errors.py +23 -0
- idmtools/assets/file_list.py +191 -0
- idmtools/builders/__init__.py +11 -0
- idmtools/builders/arm_simulation_builder.py +152 -0
- idmtools/builders/csv_simulation_builder.py +76 -0
- idmtools/builders/simulation_builder.py +348 -0
- idmtools/builders/sweep_arm.py +109 -0
- idmtools/builders/yaml_simulation_builder.py +82 -0
- idmtools/config/__init__.py +7 -0
- idmtools/config/idm_config_parser.py +486 -0
- idmtools/core/__init__.py +10 -0
- idmtools/core/cache_enabled.py +114 -0
- idmtools/core/context.py +68 -0
- idmtools/core/docker_task.py +207 -0
- idmtools/core/enums.py +51 -0
- idmtools/core/exceptions.py +91 -0
- idmtools/core/experiment_factory.py +71 -0
- idmtools/core/id_file.py +70 -0
- idmtools/core/interfaces/__init__.py +5 -0
- idmtools/core/interfaces/entity_container.py +64 -0
- idmtools/core/interfaces/iassets_enabled.py +58 -0
- idmtools/core/interfaces/ientity.py +331 -0
- idmtools/core/interfaces/iitem.py +206 -0
- idmtools/core/interfaces/imetadata_operations.py +89 -0
- idmtools/core/interfaces/inamed_entity.py +17 -0
- idmtools/core/interfaces/irunnable_entity.py +159 -0
- idmtools/core/logging.py +387 -0
- idmtools/core/platform_factory.py +316 -0
- idmtools/core/system_information.py +104 -0
- idmtools/core/task_factory.py +145 -0
- idmtools/entities/__init__.py +10 -0
- idmtools/entities/command_line.py +229 -0
- idmtools/entities/command_task.py +155 -0
- idmtools/entities/experiment.py +787 -0
- idmtools/entities/generic_workitem.py +43 -0
- idmtools/entities/ianalyzer.py +163 -0
- idmtools/entities/iplatform.py +1106 -0
- idmtools/entities/iplatform_default.py +39 -0
- idmtools/entities/iplatform_ops/__init__.py +5 -0
- idmtools/entities/iplatform_ops/iplatform_asset_collection_operations.py +148 -0
- idmtools/entities/iplatform_ops/iplatform_experiment_operations.py +415 -0
- idmtools/entities/iplatform_ops/iplatform_simulation_operations.py +315 -0
- idmtools/entities/iplatform_ops/iplatform_suite_operations.py +322 -0
- idmtools/entities/iplatform_ops/iplatform_workflowitem_operations.py +301 -0
- idmtools/entities/iplatform_ops/utils.py +185 -0
- idmtools/entities/itask.py +316 -0
- idmtools/entities/iworkflow_item.py +167 -0
- idmtools/entities/platform_requirements.py +20 -0
- idmtools/entities/relation_type.py +14 -0
- idmtools/entities/simulation.py +255 -0
- idmtools/entities/suite.py +188 -0
- idmtools/entities/task_proxy.py +37 -0
- idmtools/entities/templated_simulation.py +325 -0
- idmtools/frozen/frozen_dict.py +71 -0
- idmtools/frozen/frozen_list.py +66 -0
- idmtools/frozen/frozen_set.py +86 -0
- idmtools/frozen/frozen_tuple.py +18 -0
- idmtools/frozen/frozen_utils.py +179 -0
- idmtools/frozen/ifrozen.py +66 -0
- idmtools/plugins/__init__.py +5 -0
- idmtools/plugins/git_commit.py +117 -0
- idmtools/registry/__init__.py +4 -0
- idmtools/registry/experiment_specification.py +105 -0
- idmtools/registry/functions.py +28 -0
- idmtools/registry/hook_specs.py +132 -0
- idmtools/registry/master_plugin_registry.py +51 -0
- idmtools/registry/platform_specification.py +138 -0
- idmtools/registry/plugin_specification.py +129 -0
- idmtools/registry/task_specification.py +104 -0
- idmtools/registry/utils.py +119 -0
- idmtools/services/__init__.py +5 -0
- idmtools/services/ipersistance_service.py +135 -0
- idmtools/services/platforms.py +13 -0
- idmtools/utils/__init__.py +5 -0
- idmtools/utils/caller.py +24 -0
- idmtools/utils/collections.py +246 -0
- idmtools/utils/command_line.py +45 -0
- idmtools/utils/decorators.py +300 -0
- idmtools/utils/display/__init__.py +22 -0
- idmtools/utils/display/displays.py +181 -0
- idmtools/utils/display/settings.py +25 -0
- idmtools/utils/dropbox_location.py +30 -0
- idmtools/utils/entities.py +127 -0
- idmtools/utils/file.py +72 -0
- idmtools/utils/file_parser.py +151 -0
- idmtools/utils/filter_simulations.py +182 -0
- idmtools/utils/filters/__init__.py +5 -0
- idmtools/utils/filters/asset_filters.py +88 -0
- idmtools/utils/general.py +286 -0
- idmtools/utils/gitrepo.py +336 -0
- idmtools/utils/hashing.py +239 -0
- idmtools/utils/info.py +124 -0
- idmtools/utils/json.py +82 -0
- idmtools/utils/language.py +107 -0
- idmtools/utils/local_os.py +40 -0
- idmtools/utils/time.py +22 -0
- idmtools-0.0.2.dist-info/METADATA +120 -0
- idmtools-0.0.2.dist-info/RECORD +116 -0
- idmtools-0.0.2.dist-info/entry_points.txt +9 -0
- idmtools-0.0.2.dist-info/licenses/LICENSE.TXT +3 -0
- idmtools-0.0.0.dev0.dist-info/METADATA +0 -41
- idmtools-0.0.0.dev0.dist-info/RECORD +0 -5
- {idmtools-0.0.0.dev0.dist-info → idmtools-0.0.2.dist-info}/WHEEL +0 -0
- {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
|
+

|
|
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
|
|
@@ -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,,
|
|
File without changes
|
|
File without changes
|