simstack 0.2.0__tar.gz → 2.0.1__tar.gz

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 (601) hide show
  1. {simstack-0.2.0 → simstack-2.0.1}/.dockerignore +3 -0
  2. simstack-2.0.1/.github/workflows/ci.yml +207 -0
  3. {simstack-0.2.0 → simstack-2.0.1}/.github/workflows/conda_build.yml +1 -1
  4. simstack-2.0.1/.github/workflows/notify-simstack-server.yml +19 -0
  5. {simstack-0.2.0 → simstack-2.0.1}/.github/workflows/pypi_build.yml +5 -2
  6. {simstack-0.2.0 → simstack-2.0.1}/.gitignore +1 -0
  7. {simstack-0.2.0 → simstack-2.0.1}/.pre-commit-config.yaml +3 -9
  8. simstack-2.0.1/MANIFEST.in +1 -0
  9. {simstack-0.2.0/src/simstack.egg-info → simstack-2.0.1}/PKG-INFO +99 -6
  10. simstack-0.2.0/PKG-INFO → simstack-2.0.1/README.md +93 -22
  11. simstack-2.0.1/doc/source/_static/cobalt2-theme.css +1 -0
  12. simstack-2.0.1/doc/source/_static/docs-build-badge.css +51 -0
  13. simstack-2.0.1/doc/source/_static/docs-build-badge.js +51 -0
  14. simstack-2.0.1/doc/source/array_lists.rst +60 -0
  15. simstack-2.0.1/doc/source/ci_pipeline.rst +38 -0
  16. {simstack-0.2.0 → simstack-2.0.1}/doc/source/conf.py +36 -25
  17. {simstack-0.2.0 → simstack-2.0.1}/doc/source/data.rst +24 -5
  18. simstack-2.0.1/doc/source/database_migrations.rst +325 -0
  19. simstack-2.0.1/doc/source/datasets.rst +93 -0
  20. simstack-2.0.1/doc/source/developer_guide.rst +25 -0
  21. simstack-2.0.1/doc/source/docker_nodes.rst +149 -0
  22. simstack-2.0.1/doc/source/files.rst +159 -0
  23. simstack-2.0.1/doc/source/fire_and_forget_runner.rst +67 -0
  24. {simstack-0.2.0 → simstack-2.0.1}/doc/source/index.rst +5 -5
  25. simstack-2.0.1/doc/source/installation.rst +213 -0
  26. simstack-2.0.1/doc/source/lists.rst +111 -0
  27. simstack-2.0.1/doc/source/mass_runner.rst +91 -0
  28. {simstack-0.2.0 → simstack-2.0.1}/doc/source/misc.rst +7 -4
  29. simstack-2.0.1/doc/source/overview.rst +91 -0
  30. simstack-2.0.1/doc/source/recovery.rst +38 -0
  31. simstack-2.0.1/doc/source/resource_config.rst +141 -0
  32. {simstack-0.2.0/doc/source/simstack → simstack-2.0.1/doc/source/simstack/modules}/simstack.core.rst +71 -15
  33. simstack-2.0.1/doc/source/simstack/modules/simstack.core.services.rst +109 -0
  34. simstack-2.0.1/doc/source/simstack/modules/simstack.methods.rst +69 -0
  35. simstack-2.0.1/doc/source/simstack/modules/simstack.models.rst +261 -0
  36. {simstack-0.2.0/doc/source/simstack → simstack-2.0.1/doc/source/simstack/modules}/simstack.rst +1 -2
  37. simstack-2.0.1/doc/source/simstack/modules/simstack.tables.rst +45 -0
  38. {simstack-0.2.0/doc/source/simstack → simstack-2.0.1/doc/source/simstack/modules}/simstack.util.rst +140 -12
  39. simstack-2.0.1/doc/source/tables.rst +50 -0
  40. simstack-2.0.1/doc/source/testing_complex_nodes.rst +52 -0
  41. {simstack-0.2.0 → simstack-2.0.1}/doc/source/ui_documentation.rst +2 -2
  42. simstack-2.0.1/doc/source/user_specified_optional_dependencies.md +43 -0
  43. simstack-2.0.1/doc/source/workflows.rst +446 -0
  44. simstack-2.0.1/examples/testing/testing_test_generation.py +29 -0
  45. {simstack-0.2.0 → simstack-2.0.1}/pyproject.toml +28 -9
  46. simstack-2.0.1/pytest.ini +9 -0
  47. simstack-2.0.1/scripts/generate_tests.py +95 -0
  48. {simstack-0.2.0 → simstack-2.0.1}/scripts/old/Dockerfile2 +1 -2
  49. {simstack-0.2.0 → simstack-2.0.1}/scripts/old/Dockerfile3 +0 -1
  50. simstack-2.0.1/scripts/old/debug_testing.py +36 -0
  51. {simstack-0.2.0 → simstack-2.0.1}/simstack.toml +13 -3
  52. simstack-2.0.1/src/simstack/_version.py +24 -0
  53. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/core/artifacts.py +38 -79
  54. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/core/config_file.py +6 -6
  55. simstack-2.0.1/src/simstack/core/context.py +283 -0
  56. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/core/definitions.py +1 -0
  57. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/core/engine.py +10 -11
  58. simstack-2.0.1/src/simstack/core/find_simstack_modules.py +41 -0
  59. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/core/hash.py +27 -25
  60. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/core/node.py +508 -282
  61. simstack-2.0.1/src/simstack/core/node_claim.py +31 -0
  62. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/core/node_runner.py +155 -47
  63. simstack-2.0.1/src/simstack/core/process_results.py +102 -0
  64. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/core/recompute_artifacts.py +24 -27
  65. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/core/reset_db.py +1 -1
  66. simstack-2.0.1/src/simstack/core/resource_assignment.py +222 -0
  67. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/core/resources.py +20 -31
  68. simstack-2.0.1/src/simstack/core/route_table.py +24 -0
  69. simstack-2.0.1/src/simstack/core/run_docker.py +109 -0
  70. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/core/run_node.py +24 -22
  71. simstack-2.0.1/src/simstack/core/runner.py +169 -0
  72. simstack-2.0.1/src/simstack/core/services/__init__.py +11 -0
  73. simstack-2.0.1/src/simstack/core/services/base_service.py +191 -0
  74. simstack-2.0.1/src/simstack/core/services/file_transfer_service.py +117 -0
  75. simstack-2.0.1/src/simstack/core/services/git_restart_service.py +12 -0
  76. simstack-2.0.1/src/simstack/core/services/git_uv_update_service.py +105 -0
  77. simstack-2.0.1/src/simstack/core/services/node_execution_service.py +182 -0
  78. simstack-2.0.1/src/simstack/core/services/resource_branch_monitor_service.py +71 -0
  79. simstack-2.0.1/src/simstack/core/services/runner_cleanup_service.py +149 -0
  80. simstack-2.0.1/src/simstack/core/services/runner_manager.py +163 -0
  81. simstack-2.0.1/src/simstack/core/services/runner_status_service.py +10 -0
  82. simstack-2.0.1/src/simstack/core/services/slurm_status_service.py +67 -0
  83. simstack-2.0.1/src/simstack/core/services/stop_check_service.py +27 -0
  84. simstack-2.0.1/src/simstack/core/services/timeout_restart_service.py +26 -0
  85. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/core/simstack_result.py +3 -5
  86. simstack-2.0.1/src/simstack/core/submit_node.py +217 -0
  87. simstack-2.0.1/src/simstack/methods/archive_files.py +292 -0
  88. simstack-2.0.1/src/simstack/methods/fire_and_forget_runner.py +113 -0
  89. simstack-2.0.1/src/simstack/methods/generate_test.py +125 -0
  90. simstack-2.0.1/src/simstack/methods/get_file.py +26 -0
  91. simstack-2.0.1/src/simstack/methods/mass_runner.py +154 -0
  92. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/methods/multiple_executor.py +1 -1
  93. simstack-2.0.1/src/simstack/methods/switch_git.py +16 -0
  94. simstack-2.0.1/src/simstack/methods/upload_helpers.py +81 -0
  95. simstack-2.0.1/src/simstack/models/__init__.py +74 -0
  96. simstack-2.0.1/src/simstack/models/array_list.py +21 -0
  97. simstack-2.0.1/src/simstack/models/array_storage.py +83 -0
  98. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/models/artifact_models.py +2 -2
  99. simstack-2.0.1/src/simstack/models/base_lists.py +51 -0
  100. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/models/base_types.py +1 -0
  101. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/models/charts_artifact.py +290 -11
  102. simstack-2.0.1/src/simstack/models/dataset.py +451 -0
  103. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/models/dataset_metadata.py +120 -33
  104. simstack-0.2.0/src/simstack/models/dataset.py → simstack-2.0.1/src/simstack/models/datasettuple.py +202 -47
  105. simstack-2.0.1/src/simstack/models/file_instance.py +150 -0
  106. simstack-2.0.1/src/simstack/models/file_list.py +45 -0
  107. simstack-2.0.1/src/simstack/models/files.py +424 -0
  108. simstack-2.0.1/src/simstack/models/fire_and_forget_result.py +19 -0
  109. simstack-2.0.1/src/simstack/models/images2d.py +113 -0
  110. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/models/models.py +20 -8
  111. simstack-2.0.1/src/simstack/models/named_data_reference.py +36 -0
  112. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/models/node_registry.py +18 -27
  113. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/models/pandas_model.py +34 -5
  114. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/models/parameters.py +39 -25
  115. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/models/pickle_models.py +3 -14
  116. simstack-2.0.1/src/simstack/models/project.py +13 -0
  117. simstack-2.0.1/src/simstack/models/resource_assignment.py +170 -0
  118. simstack-2.0.1/src/simstack/models/resource_definition.py +125 -0
  119. simstack-2.0.1/src/simstack/models/simple_table.py +79 -0
  120. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/models/table_artifact.py +1 -1
  121. simstack-2.0.1/src/simstack/models/tag.py +12 -0
  122. simstack-2.0.1/src/simstack/models/unused_test_file.py +5 -0
  123. simstack-2.0.1/src/simstack/simstack_marker.com +1 -0
  124. simstack-2.0.1/src/simstack/static/docs/.buildinfo +4 -0
  125. simstack-2.0.1/src/simstack/static/docs/_images/GUI Concept.webp +0 -0
  126. simstack-2.0.1/src/simstack/static/docs/_modules/index.html +434 -0
  127. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/artifacts.html +743 -0
  128. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/asnyc_helper.html +330 -0
  129. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/config_file.html +379 -0
  130. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/definitions.html +341 -0
  131. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/engine.html +437 -0
  132. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/find_simstack_modules.html +360 -0
  133. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/hash.html +528 -0
  134. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/node.html +1392 -0
  135. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/node_claim.html +347 -0
  136. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/node_runner.html +711 -0
  137. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/process_results.html +418 -0
  138. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/recompute_artifacts.html +433 -0
  139. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/reset_db.html +328 -0
  140. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/resource_assignment.html +553 -0
  141. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/resources.html +424 -0
  142. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/route_table.html +349 -0
  143. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/run_docker.html +425 -0
  144. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/run_node.html +390 -0
  145. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/runner.html +491 -0
  146. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/services/base_service.html +522 -0
  147. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/services/file_transfer_service.html +436 -0
  148. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/services/git_restart_service.html +331 -0
  149. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/services/git_uv_update_service.html +427 -0
  150. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/services/node_execution_service.html +507 -0
  151. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/services/resource_branch_monitor_service.html +390 -0
  152. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/services/runner_cleanup_service.html +468 -0
  153. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/services/runner_manager.html +485 -0
  154. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/services/runner_status_service.html +329 -0
  155. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/services/slurm_status_service.html +386 -0
  156. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/services/stop_check_service.html +346 -0
  157. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/services/timeout_restart_service.html +345 -0
  158. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/simstack_result.html +355 -0
  159. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/submit_node.html +536 -0
  160. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/core/task_id.html +344 -0
  161. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/methods/archive_files.html +598 -0
  162. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/methods/fire_and_forget_runner.html +432 -0
  163. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/methods/generate_test.html +443 -0
  164. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/methods/get_file.html +342 -0
  165. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/methods/mass_runner.html +476 -0
  166. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/methods/multiple_executor.html +674 -0
  167. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/methods/switch_git.html +332 -0
  168. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/methods/upload_helpers.html +403 -0
  169. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/array_list.html +337 -0
  170. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/array_storage.html +417 -0
  171. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/base_lists.html +374 -0
  172. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/base_types.html +588 -0
  173. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/charts_artifact.html +1035 -0
  174. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/dataset.html +866 -0
  175. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/dataset_metadata.html +711 -0
  176. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/datasettuple.html +1005 -0
  177. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/file_instance.html +472 -0
  178. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/file_list.html +367 -0
  179. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/files.html +773 -0
  180. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/fire_and_forget_result.html +335 -0
  181. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/images2d.html +447 -0
  182. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/log_entry_model.html +356 -0
  183. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/models.html +374 -0
  184. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/named_data_reference.html +355 -0
  185. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/node_registry.html +415 -0
  186. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/pandas_model.html +570 -0
  187. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/parameters.html +739 -0
  188. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/pickle_models.html +631 -0
  189. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/project.html +329 -0
  190. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/resource_assignment.html +501 -0
  191. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/resource_definition.html +477 -0
  192. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/runner_model.html +361 -0
  193. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/simple_table.html +413 -0
  194. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/simstack_model.html +416 -0
  195. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/slurm_info.html +333 -0
  196. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/table_artifact.html +406 -0
  197. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/models/tag.html +328 -0
  198. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/tables/model_table.html +519 -0
  199. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/tables/node_children.html +538 -0
  200. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/tables/node_table.html +854 -0
  201. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/tables/table_builder.html +642 -0
  202. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/async_zip_utils.html +337 -0
  203. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/b64mixin.html +339 -0
  204. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/cleaned_json_schema.html +336 -0
  205. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/config_reader.html +498 -0
  206. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/custom_model_dump.html +391 -0
  207. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/database_information.html +488 -0
  208. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/db.html +1392 -0
  209. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/db_logger.html +448 -0
  210. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/default_from_dict.html +376 -0
  211. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/directory_iterator.html +553 -0
  212. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/docstring_parser.html +526 -0
  213. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/file_hashing.html +394 -0
  214. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/file_transfer_client.html +791 -0
  215. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/files.html +733 -0
  216. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/find_python_files.html +349 -0
  217. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/generate_ui_schema.html +396 -0
  218. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/generic_list_mixin.html +487 -0
  219. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/get_module_path.html +336 -0
  220. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/git_pull.html +381 -0
  221. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/git_repository_status.html +411 -0
  222. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/import_module.html +377 -0
  223. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/importer.html +637 -0
  224. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/init_data_source.html +357 -0
  225. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/make_graph.html +423 -0
  226. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/make_table.html +1171 -0
  227. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/mappings.html +378 -0
  228. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/minimal_route_finder.html +388 -0
  229. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/mock_db.html +472 -0
  230. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/module_path_checker.html +354 -0
  231. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/object_list_mixin.html +649 -0
  232. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/path_manager.html +566 -0
  233. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/project_root_finder.html +357 -0
  234. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/queue_watcher.html +593 -0
  235. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/resource_config.html +532 -0
  236. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/route_finder.html +390 -0
  237. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/runner_util.html +487 -0
  238. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/runner_utils.html +468 -0
  239. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/safe_code_executor.html +510 -0
  240. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/sample_config.html +414 -0
  241. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/sensitive_content_filter.html +364 -0
  242. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/setup_logging.html +365 -0
  243. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/submit_to_watchdog.html +425 -0
  244. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/toml_reader.html +482 -0
  245. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/transform_file_name.html +357 -0
  246. simstack-2.0.1/src/simstack/static/docs/_modules/simstack/util/ui_tools.html +541 -0
  247. simstack-2.0.1/src/simstack/static/docs/_sources/architecture.rst.txt +25 -0
  248. simstack-2.0.1/src/simstack/static/docs/_sources/array_lists.rst.txt +60 -0
  249. simstack-2.0.1/src/simstack/static/docs/_sources/ci_pipeline.rst.txt +34 -0
  250. simstack-2.0.1/src/simstack/static/docs/_sources/data.rst.txt +175 -0
  251. simstack-2.0.1/src/simstack/static/docs/_sources/database_migrations.rst.txt +310 -0
  252. simstack-2.0.1/src/simstack/static/docs/_sources/datasets.rst.txt +93 -0
  253. simstack-2.0.1/src/simstack/static/docs/_sources/developer_guide.rst.txt +25 -0
  254. simstack-2.0.1/src/simstack/static/docs/_sources/docker_nodes.rst.txt +149 -0
  255. simstack-2.0.1/src/simstack/static/docs/_sources/files.rst.txt +159 -0
  256. simstack-2.0.1/src/simstack/static/docs/_sources/fire_and_forget_runner.rst.txt +67 -0
  257. simstack-2.0.1/src/simstack/static/docs/_sources/index.rst.txt +25 -0
  258. simstack-2.0.1/src/simstack/static/docs/_sources/installation.rst.txt +213 -0
  259. simstack-2.0.1/src/simstack/static/docs/_sources/lists.rst.txt +111 -0
  260. simstack-2.0.1/src/simstack/static/docs/_sources/mass_runner.rst.txt +91 -0
  261. simstack-2.0.1/src/simstack/static/docs/_sources/misc.rst.txt +106 -0
  262. simstack-2.0.1/src/simstack/static/docs/_sources/overview.rst.txt +91 -0
  263. simstack-2.0.1/src/simstack/static/docs/_sources/recovery.rst.txt +38 -0
  264. simstack-2.0.1/src/simstack/static/docs/_sources/resource_config.rst.txt +141 -0
  265. simstack-2.0.1/src/simstack/static/docs/_sources/simstack/modules/modules.rst.txt +7 -0
  266. simstack-2.0.1/src/simstack/static/docs/_sources/simstack/modules/simstack.core.rst.txt +205 -0
  267. simstack-2.0.1/src/simstack/static/docs/_sources/simstack/modules/simstack.core.services.rst.txt +109 -0
  268. simstack-2.0.1/src/simstack/static/docs/_sources/simstack/modules/simstack.methods.rst.txt +77 -0
  269. simstack-2.0.1/src/simstack/static/docs/_sources/simstack/modules/simstack.models.rst.txt +261 -0
  270. simstack-2.0.1/src/simstack/static/docs/_sources/simstack/modules/simstack.rst.txt +22 -0
  271. simstack-2.0.1/src/simstack/static/docs/_sources/simstack/modules/simstack.tables.rst.txt +45 -0
  272. simstack-2.0.1/src/simstack/static/docs/_sources/simstack/modules/simstack.util.rst.txt +381 -0
  273. simstack-2.0.1/src/simstack/static/docs/_sources/submit.rst.txt +141 -0
  274. simstack-2.0.1/src/simstack/static/docs/_sources/tables.rst.txt +50 -0
  275. simstack-2.0.1/src/simstack/static/docs/_sources/testing_complex_nodes.rst.txt +92 -0
  276. simstack-2.0.1/src/simstack/static/docs/_sources/ui_documentation.rst.txt +272 -0
  277. simstack-0.2.0/doc/source/workflows.rst → simstack-2.0.1/src/simstack/static/docs/_sources/workflows.rst.txt +54 -31
  278. simstack-2.0.1/src/simstack/static/docs/_static/base-stemmer.js +476 -0
  279. simstack-2.0.1/src/simstack/static/docs/_static/basic.css +906 -0
  280. simstack-2.0.1/src/simstack/static/docs/_static/cobalt2-theme.css +1 -0
  281. simstack-2.0.1/src/simstack/static/docs/_static/debug.css +69 -0
  282. simstack-2.0.1/src/simstack/static/docs/_static/docs-build-badge.css +51 -0
  283. simstack-2.0.1/src/simstack/static/docs/_static/docs-build-badge.js +51 -0
  284. simstack-2.0.1/src/simstack/static/docs/_static/doctools.js +150 -0
  285. simstack-2.0.1/src/simstack/static/docs/_static/documentation_options.js +13 -0
  286. simstack-2.0.1/src/simstack/static/docs/_static/english-stemmer.js +1066 -0
  287. simstack-2.0.1/src/simstack/static/docs/_static/file.png +0 -0
  288. simstack-2.0.1/src/simstack/static/docs/_static/language_data.js +13 -0
  289. simstack-2.0.1/src/simstack/static/docs/_static/minus.png +0 -0
  290. simstack-2.0.1/src/simstack/static/docs/_static/plus.png +0 -0
  291. simstack-2.0.1/src/simstack/static/docs/_static/pygments.css +250 -0
  292. simstack-2.0.1/src/simstack/static/docs/_static/scripts/furo.js +3 -0
  293. simstack-2.0.1/src/simstack/static/docs/_static/scripts/furo.js.LICENSE.txt +7 -0
  294. simstack-2.0.1/src/simstack/static/docs/_static/scripts/furo.js.map +1 -0
  295. simstack-2.0.1/src/simstack/static/docs/_static/searchtools.js +693 -0
  296. simstack-2.0.1/src/simstack/static/docs/_static/skeleton.css +296 -0
  297. simstack-2.0.1/src/simstack/static/docs/_static/sphinx_highlight.js +159 -0
  298. simstack-2.0.1/src/simstack/static/docs/_static/styles/furo-extensions.css +2 -0
  299. simstack-2.0.1/src/simstack/static/docs/_static/styles/furo-extensions.css.map +1 -0
  300. simstack-2.0.1/src/simstack/static/docs/_static/styles/furo.css +2 -0
  301. simstack-2.0.1/src/simstack/static/docs/_static/styles/furo.css.map +1 -0
  302. simstack-2.0.1/src/simstack/static/docs/architecture.html +340 -0
  303. simstack-2.0.1/src/simstack/static/docs/array_lists.html +678 -0
  304. simstack-2.0.1/src/simstack/static/docs/ci_pipeline.html +385 -0
  305. simstack-2.0.1/src/simstack/static/docs/data.html +545 -0
  306. simstack-2.0.1/src/simstack/static/docs/database_migrations.html +652 -0
  307. simstack-2.0.1/src/simstack/static/docs/datasets.html +1268 -0
  308. simstack-2.0.1/src/simstack/static/docs/developer_guide.html +359 -0
  309. simstack-2.0.1/src/simstack/static/docs/docker_nodes.html +503 -0
  310. simstack-2.0.1/src/simstack/static/docs/files.html +718 -0
  311. simstack-2.0.1/src/simstack/static/docs/fire_and_forget_runner.html +641 -0
  312. simstack-2.0.1/src/simstack/static/docs/genindex.html +6390 -0
  313. simstack-2.0.1/src/simstack/static/docs/index.html +516 -0
  314. simstack-2.0.1/src/simstack/static/docs/installation.html +553 -0
  315. simstack-2.0.1/src/simstack/static/docs/lists.html +478 -0
  316. simstack-2.0.1/src/simstack/static/docs/mass_runner.html +481 -0
  317. simstack-2.0.1/src/simstack/static/docs/misc.html +454 -0
  318. simstack-2.0.1/src/simstack/static/docs/objects.inv +0 -0
  319. simstack-2.0.1/src/simstack/static/docs/overview.html +469 -0
  320. simstack-2.0.1/src/simstack/static/docs/py-modindex.html +1111 -0
  321. simstack-2.0.1/src/simstack/static/docs/recovery.html +371 -0
  322. simstack-2.0.1/src/simstack/static/docs/resource_config.html +590 -0
  323. simstack-2.0.1/src/simstack/static/docs/search.html +327 -0
  324. simstack-2.0.1/src/simstack/static/docs/searchindex.js +1 -0
  325. simstack-2.0.1/src/simstack/static/docs/simstack/modules/modules.html +489 -0
  326. simstack-2.0.1/src/simstack/static/docs/simstack/modules/simstack.core.html +1883 -0
  327. simstack-2.0.1/src/simstack/static/docs/simstack/modules/simstack.core.services.html +698 -0
  328. simstack-2.0.1/src/simstack/static/docs/simstack/modules/simstack.html +3060 -0
  329. simstack-2.0.1/src/simstack/static/docs/simstack/modules/simstack.methods.html +1150 -0
  330. simstack-2.0.1/src/simstack/static/docs/simstack/modules/simstack.models.html +13113 -0
  331. simstack-2.0.1/src/simstack/static/docs/simstack/modules/simstack.tables.html +635 -0
  332. simstack-2.0.1/src/simstack/static/docs/simstack/modules/simstack.util.html +3320 -0
  333. simstack-2.0.1/src/simstack/static/docs/submit.html +487 -0
  334. simstack-2.0.1/src/simstack/static/docs/tables.html +539 -0
  335. simstack-2.0.1/src/simstack/static/docs/testing_complex_nodes.html +458 -0
  336. simstack-2.0.1/src/simstack/static/docs/ui_documentation.html +788 -0
  337. simstack-2.0.1/src/simstack/static/docs/workflows.html +766 -0
  338. simstack-2.0.1/src/simstack/tables/model_table.py +191 -0
  339. simstack-2.0.1/src/simstack/tables/node_children.py +219 -0
  340. simstack-2.0.1/src/simstack/tables/node_table.py +517 -0
  341. simstack-2.0.1/src/simstack/tables/table_builder.py +314 -0
  342. simstack-2.0.1/src/simstack/util/b64mixin.py +23 -0
  343. simstack-2.0.1/src/simstack/util/config_reader.py +179 -0
  344. simstack-2.0.1/src/simstack/util/database_information.py +160 -0
  345. simstack-2.0.1/src/simstack/util/db.py +1013 -0
  346. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/db_logger.py +3 -3
  347. simstack-2.0.1/src/simstack/util/docstring_parser.py +186 -0
  348. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/file_hashing.py +4 -0
  349. simstack-2.0.1/src/simstack/util/file_transfer_client.py +427 -0
  350. simstack-2.0.1/src/simstack/util/generic_list_mixin.py +120 -0
  351. simstack-2.0.1/src/simstack/util/get_module_path.py +20 -0
  352. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/git_pull.py +1 -1
  353. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/git_repository_status.py +2 -0
  354. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/import_module.py +12 -14
  355. simstack-2.0.1/src/simstack/util/importer.py +312 -0
  356. simstack-2.0.1/src/simstack/util/init_data_source.py +41 -0
  357. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/make_table.py +20 -10
  358. simstack-2.0.1/src/simstack/util/mappings.py +41 -0
  359. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/module_path_checker.py +5 -5
  360. simstack-2.0.1/src/simstack/util/object_list_mixin.py +282 -0
  361. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/path_manager.py +55 -66
  362. simstack-2.0.1/src/simstack/util/project_root_finder.py +41 -0
  363. simstack-2.0.1/src/simstack/util/resource_config.py +198 -0
  364. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/runner_util.py +8 -4
  365. simstack-2.0.1/src/simstack/util/runner_utils.py +143 -0
  366. simstack-2.0.1/src/simstack/util/toml_reader.py +142 -0
  367. simstack-2.0.1/src/simstack/util/transform_file_name.py +41 -0
  368. simstack-0.2.0/README.md → simstack-2.0.1/src/simstack.egg-info/PKG-INFO +114 -3
  369. simstack-2.0.1/src/simstack.egg-info/SOURCES.txt +528 -0
  370. simstack-2.0.1/src/simstack.egg-info/entry_points.txt +12 -0
  371. {simstack-0.2.0 → simstack-2.0.1}/src/simstack.egg-info/requires.txt +5 -1
  372. simstack-2.0.1/src/simstack.egg-info/scm_file_list.json +523 -0
  373. simstack-2.0.1/src/simstack.egg-info/scm_version.json +8 -0
  374. simstack-2.0.1/tests/conftest.py +13 -0
  375. simstack-2.0.1/tests/extract_node_data.py +94 -0
  376. simstack-2.0.1/tests/with_context/__init__.py +0 -0
  377. simstack-2.0.1/tests/with_context/conftest.py +354 -0
  378. simstack-2.0.1/tests/with_context/core/__init__.py +0 -0
  379. simstack-2.0.1/tests/with_context/core/compute_arg_hash.testplan.md +153 -0
  380. simstack-2.0.1/tests/with_context/core/test_base_service.py +109 -0
  381. {simstack-0.2.0/tests → simstack-2.0.1/tests/with_context}/core/test_failures.py +9 -14
  382. {simstack-0.2.0/tests → simstack-2.0.1/tests/with_context}/core/test_file_rerun.py +1 -1
  383. {simstack-0.2.0/tests → simstack-2.0.1/tests/with_context}/core/test_hash.py +43 -6
  384. {simstack-0.2.0/tests → simstack-2.0.1/tests/with_context}/core/test_import_class.py +12 -10
  385. {simstack-0.2.0/tests → simstack-2.0.1/tests/with_context}/core/test_import_function.py +18 -30
  386. simstack-2.0.1/tests/with_context/core/test_importer_internal.py +123 -0
  387. simstack-2.0.1/tests/with_context/core/test_initialized_context.py +8 -0
  388. {simstack-0.2.0/tests → simstack-2.0.1/tests/with_context}/core/test_loading_results.py +3 -3
  389. simstack-2.0.1/tests/with_context/core/test_mapping_cache.py +166 -0
  390. simstack-2.0.1/tests/with_context/core/test_nested_slurm_submission.py +185 -0
  391. simstack-2.0.1/tests/with_context/core/test_node_argument_hashing.py +162 -0
  392. simstack-2.0.1/tests/with_context/core/test_node_execution_service.py +94 -0
  393. simstack-2.0.1/tests/with_context/core/test_node_from_database.py +471 -0
  394. simstack-2.0.1/tests/with_context/core/test_node_member_functions.py +427 -0
  395. {simstack-0.2.0/tests → simstack-2.0.1/tests/with_context}/core/test_node_runner.py +34 -18
  396. {simstack-0.2.0/tests → simstack-2.0.1/tests/with_context}/core/test_node_runner_info_files.py +46 -44
  397. simstack-2.0.1/tests/with_context/core/test_node_table.py +42 -0
  398. {simstack-0.2.0/tests → simstack-2.0.1/tests/with_context}/core/test_remote_file_transfer.py +1 -1
  399. simstack-2.0.1/tests/with_context/core/test_resource_assignment.py +477 -0
  400. {simstack-0.2.0/tests → simstack-2.0.1/tests/with_context}/core/test_resources_and_parameters.py +17 -44
  401. simstack-2.0.1/tests/with_context/core/test_runner_manager.py +97 -0
  402. simstack-2.0.1/tests/with_context/core/test_runner_services.py +128 -0
  403. {simstack-0.2.0/tests → simstack-2.0.1/tests/with_context}/core/test_simple_nodes.py +40 -6
  404. simstack-2.0.1/tests/with_context/core/test_submit_node.py +112 -0
  405. simstack-2.0.1/tests/with_context/core/test_table_builder.py +98 -0
  406. simstack-2.0.1/tests/with_context/methods/test_archive_node_filters.py +238 -0
  407. simstack-2.0.1/tests/with_context/models/__init__.py +0 -0
  408. {simstack-0.2.0/tests/core → simstack-2.0.1/tests/with_context/models}/conftest.py +9 -2
  409. {simstack-0.2.0/tests/core → simstack-2.0.1/tests/with_context/models}/load_models_by_name.py +2 -2
  410. simstack-2.0.1/tests/with_context/models/test_array_list.py +76 -0
  411. {simstack-0.2.0/tests/core → simstack-2.0.1/tests/with_context/models}/test_array_storage_class.py +7 -6
  412. simstack-2.0.1/tests/with_context/models/test_dataset.py +292 -0
  413. simstack-2.0.1/tests/with_context/models/test_dataset_extended.py +174 -0
  414. {simstack-0.2.0/tests/core → simstack-2.0.1/tests/with_context/models}/test_dataset_metadata.py +149 -159
  415. simstack-2.0.1/tests/with_context/models/test_datasettuple.py +570 -0
  416. {simstack-0.2.0/tests/core → simstack-2.0.1/tests/with_context/models}/test_file_list_model.py +112 -61
  417. simstack-2.0.1/tests/with_context/models/test_files.py +592 -0
  418. simstack-2.0.1/tests/with_context/models/test_test_file_model.py +78 -0
  419. simstack-2.0.1/tests/with_context/util/__init__.py +0 -0
  420. simstack-2.0.1/tests/with_context/util/test_database.py +615 -0
  421. {simstack-0.2.0/tests → simstack-2.0.1/tests/with_context}/util/test_module_path_checker.py +26 -26
  422. simstack-2.0.1/tests/with_context/util/test_path_manager.py +120 -0
  423. simstack-2.0.1/tests/with_context/util/test_resource_definition.py +99 -0
  424. simstack-2.0.1/tests/with_context/with_runner/__init__.py +0 -0
  425. simstack-2.0.1/tests/with_context/with_runner/conftest.py +168 -0
  426. simstack-2.0.1/tests/with_context/with_runner/test_archive_node_e2e.py +36 -0
  427. simstack-2.0.1/tests/with_context/with_runner/test_array_storage_submit.py +33 -0
  428. simstack-2.0.1/tests/with_context/with_runner/test_binary_operations.py +16 -0
  429. {simstack-0.2.0/tests/core → simstack-2.0.1/tests/with_context/with_runner}/test_local_runner.py +1 -3
  430. simstack-2.0.1/tests/with_context/with_runner/test_runner_completed.py +98 -0
  431. {simstack-0.2.0/tests/core → simstack-2.0.1/tests/with_context/with_runner}/test_testrunner.py +7 -4
  432. simstack-2.0.1/tests/with_context/with_runner/test_upload_helpers.py +104 -0
  433. simstack-2.0.1/tests/without_context/__init__.py +0 -0
  434. simstack-2.0.1/tests/without_context/test_base_lists.py +7 -0
  435. simstack-2.0.1/tests/without_context/test_config_reader.py +339 -0
  436. simstack-2.0.1/tests/without_context/test_console_scripts.py +14 -0
  437. simstack-2.0.1/tests/without_context/test_database_information.py +73 -0
  438. simstack-2.0.1/tests/without_context/test_dataset_persisted_structure.py +20 -0
  439. simstack-2.0.1/tests/without_context/test_generate_test.py +71 -0
  440. simstack-2.0.1/tests/without_context/test_generate_ui_schema.py +23 -0
  441. simstack-2.0.1/tests/without_context/test_global_state.py +154 -0
  442. simstack-2.0.1/tests/without_context/test_node_registry_project.py +42 -0
  443. simstack-2.0.1/tests/without_context/test_resource_config.py +162 -0
  444. simstack-2.0.1/tests/without_context/test_resource_config_coverage.py +200 -0
  445. simstack-2.0.1/tests/without_context/test_resource_config_extended.py +153 -0
  446. simstack-2.0.1/tests/without_context/test_resource_config_new_pattern.py +110 -0
  447. simstack-2.0.1/tests/without_context/test_runner_default_resource.py +124 -0
  448. simstack-2.0.1/tests/without_context/test_simple_table.py +62 -0
  449. simstack-2.0.1/tests/without_context/test_transform_file_name.py +83 -0
  450. {simstack-0.2.0 → simstack-2.0.1}/uv.lock +638 -318
  451. simstack-0.2.0/.cruft.json +0 -19
  452. simstack-0.2.0/.github/workflows/ci.yml +0 -36
  453. simstack-0.2.0/.github/workflows/cruft.yml +0 -28
  454. simstack-0.2.0/doc/source/files.rst +0 -54
  455. simstack-0.2.0/doc/source/installation.rst +0 -217
  456. simstack-0.2.0/doc/source/overview.rst +0 -103
  457. simstack-0.2.0/doc/source/simstack/applications.electronic_structure.gaussian.rst +0 -29
  458. simstack-0.2.0/doc/source/simstack/applications.electronic_structure.orca.rst +0 -45
  459. simstack-0.2.0/doc/source/simstack/applications.electronic_structure.rst +0 -80
  460. simstack-0.2.0/doc/source/simstack/applications.electronic_structure.turbomole.rst +0 -29
  461. simstack-0.2.0/doc/source/simstack/applications.electronic_structure.util.rst +0 -61
  462. simstack-0.2.0/doc/source/simstack/applications.general.rst +0 -10
  463. simstack-0.2.0/doc/source/simstack/applications.group.battery_kmc.rst +0 -21
  464. simstack-0.2.0/doc/source/simstack/applications.group.rst +0 -18
  465. simstack-0.2.0/doc/source/simstack/applications.rst +0 -20
  466. simstack-0.2.0/doc/source/simstack/examples.core.rst +0 -133
  467. simstack-0.2.0/doc/source/simstack/examples.file_operations.rst +0 -53
  468. simstack-0.2.0/doc/source/simstack/examples.interface.rst +0 -53
  469. simstack-0.2.0/doc/source/simstack/examples.rst +0 -56
  470. simstack-0.2.0/doc/source/simstack/examples.science.bonding_analysis.rst +0 -21
  471. simstack-0.2.0/doc/source/simstack/examples.science.electronic_structure.gaussian.rst +0 -10
  472. simstack-0.2.0/doc/source/simstack/examples.science.electronic_structure.orca.rst +0 -10
  473. simstack-0.2.0/doc/source/simstack/examples.science.electronic_structure.rst +0 -48
  474. simstack-0.2.0/doc/source/simstack/examples.science.electronic_structure.spectra.rst +0 -61
  475. simstack-0.2.0/doc/source/simstack/examples.science.electronic_structure.transition_states.c2h6.rst +0 -21
  476. simstack-0.2.0/doc/source/simstack/examples.science.electronic_structure.transition_states.rst +0 -18
  477. simstack-0.2.0/doc/source/simstack/examples.science.raspa.rst +0 -21
  478. simstack-0.2.0/doc/source/simstack/examples.science.rst +0 -31
  479. simstack-0.2.0/doc/source/simstack/inspectFunctionFromDB.rst +0 -7
  480. simstack-0.2.0/doc/source/simstack/simstack.methods.rst +0 -21
  481. simstack-0.2.0/doc/source/simstack/simstack.models.rst +0 -141
  482. simstack-0.2.0/doc/source/simstack/simstack.server.routes.rst +0 -53
  483. simstack-0.2.0/doc/source/simstack/simstack.server.rst +0 -117
  484. simstack-0.2.0/doc/source/simstack/simstack.ui_testing.rst +0 -29
  485. simstack-0.2.0/doc/source/simstack/tests.core.rst +0 -261
  486. simstack-0.2.0/doc/source/simstack/tests.methods.rst +0 -93
  487. simstack-0.2.0/doc/source/simstack/tests.rst +0 -48
  488. simstack-0.2.0/doc/source/simstack/tests.server.rst +0 -10
  489. simstack-0.2.0/doc/source/simstack/tests.util.rst +0 -21
  490. simstack-0.2.0/pyproject-pixi.toml +0 -215
  491. simstack-0.2.0/scripts/run-node.sh +0 -17
  492. simstack-0.2.0/scripts/runner.sh +0 -13
  493. simstack-0.2.0/scripts/simstack-docker.toml +0 -73
  494. simstack-0.2.0/src/simstack/_version.py +0 -34
  495. simstack-0.2.0/src/simstack/core/context.py +0 -167
  496. simstack-0.2.0/src/simstack/core/data.py +0 -139
  497. simstack-0.2.0/src/simstack/core/find_simstack_modules.py +0 -43
  498. simstack-0.2.0/src/simstack/core/model_table.py +0 -199
  499. simstack-0.2.0/src/simstack/core/node_table.py +0 -380
  500. simstack-0.2.0/src/simstack/core/runner.py +0 -435
  501. simstack-0.2.0/src/simstack/core/submit_node.py +0 -143
  502. simstack-0.2.0/src/simstack/methods/get_file.py +0 -10
  503. simstack-0.2.0/src/simstack/models/__init__.py +0 -37
  504. simstack-0.2.0/src/simstack/models/array_list.py +0 -48
  505. simstack-0.2.0/src/simstack/models/array_storage.py +0 -54
  506. simstack-0.2.0/src/simstack/models/file_instance.py +0 -77
  507. simstack-0.2.0/src/simstack/models/file_list.py +0 -321
  508. simstack-0.2.0/src/simstack/models/files.py +0 -229
  509. simstack-0.2.0/src/simstack/models/simple_table.py +0 -32
  510. simstack-0.2.0/src/simstack/util/config_reader.py +0 -273
  511. simstack-0.2.0/src/simstack/util/db.py +0 -457
  512. simstack-0.2.0/src/simstack/util/get_module_path.py +0 -26
  513. simstack-0.2.0/src/simstack/util/importer.py +0 -163
  514. simstack-0.2.0/src/simstack/util/project_root_finder.py +0 -36
  515. simstack-0.2.0/src/simstack.egg-info/SOURCES.txt +0 -224
  516. simstack-0.2.0/src/simstack.egg-info/entry_points.txt +0 -10
  517. simstack-0.2.0/tests/conftest.py +0 -322
  518. simstack-0.2.0/tests/core/test_copy_decorator.py +0 -282
  519. simstack-0.2.0/tests/core/test_dataset.py +0 -500
  520. simstack-0.2.0/tests/core/test_files.py +0 -330
  521. simstack-0.2.0/tests/util/test_path_manager.py +0 -125
  522. {simstack-0.2.0 → simstack-2.0.1}/LICENSE +0 -0
  523. {simstack-0.2.0 → simstack-2.0.1}/conda-recipe/meta.yaml +0 -0
  524. {simstack-0.2.0 → simstack-2.0.1}/doc/file_transfer.md +0 -0
  525. {simstack-0.2.0 → simstack-2.0.1}/doc/source/architecture.rst +0 -0
  526. {simstack-0.2.0 → simstack-2.0.1}/doc/source/cobalt2-theme.css +0 -0
  527. {simstack-0.2.0 → simstack-2.0.1}/doc/source/resources/Figures.pptx +0 -0
  528. {simstack-0.2.0 → simstack-2.0.1}/doc/source/resources/GUI Concept.webp +0 -0
  529. {simstack-0.2.0 → simstack-2.0.1}/doc/source/resources/architecture.png +0 -0
  530. {simstack-0.2.0 → simstack-2.0.1}/doc/source/resources/artifacts.PNG +0 -0
  531. {simstack-0.2.0 → simstack-2.0.1}/doc/source/resources/dashboard.PNG +0 -0
  532. {simstack-0.2.0 → simstack-2.0.1}/doc/source/resources/job-parameters.PNG +0 -0
  533. {simstack-0.2.0 → simstack-2.0.1}/doc/source/resources/model-tree-structure.PNG +0 -0
  534. {simstack-0.2.0 → simstack-2.0.1}/doc/source/resources/node_selector.PNG +0 -0
  535. {simstack-0.2.0 → simstack-2.0.1}/doc/source/resources/sample-input.PNG +0 -0
  536. {simstack-0.2.0 → simstack-2.0.1}/doc/source/resources/task_details.PNG +0 -0
  537. {simstack-0.2.0/doc/source/simstack → simstack-2.0.1/doc/source/simstack/modules}/modules.rst +0 -0
  538. {simstack-0.2.0 → simstack-2.0.1}/doc/source/submit.rst +0 -0
  539. {simstack-0.2.0 → simstack-2.0.1}/docker-mongo/docker-compose.test.yml +0 -0
  540. {simstack-0.2.0 → simstack-2.0.1}/scripts/code_line_counter.py +0 -0
  541. {simstack-0.2.0 → simstack-2.0.1}/scripts/mongo_db_database_creation.py +0 -0
  542. {simstack-0.2.0 → simstack-2.0.1}/scripts/mongo_db_update_script.py +0 -0
  543. {simstack-0.2.0/scripts → simstack-2.0.1/scripts/old}/.udockerrc +0 -0
  544. {simstack-0.2.0 → simstack-2.0.1}/scripts/old/CLAUDE.md +0 -0
  545. {simstack-0.2.0 → simstack-2.0.1}/scripts/old/Dockerfile-NEW +0 -0
  546. {simstack-0.2.0 → simstack-2.0.1}/scripts/old/Dockerfile4 +0 -0
  547. {simstack-0.2.0/scripts → simstack-2.0.1/scripts/old}/check_runner.sh +0 -0
  548. {simstack-0.2.0 → simstack-2.0.1}/scripts/old/development_docker_compose.yml +0 -0
  549. {simstack-0.2.0 → simstack-2.0.1}/scripts/old/docker_compose_pip.yml +0 -0
  550. {simstack-0.2.0 → simstack-2.0.1}/scripts/old/docker_compose_test.yml +0 -0
  551. {simstack-0.2.0/scripts → simstack-2.0.1/scripts/old}/git-auto-updater.sh +0 -0
  552. {simstack-0.2.0/scripts → simstack-2.0.1/scripts/old}/git-sync.sh +0 -0
  553. {simstack-0.2.0/scripts → simstack-2.0.1/scripts/old}/make-toml.sh +0 -0
  554. {simstack-0.2.0/scripts → simstack-2.0.1/scripts/old}/package_installer.sh +0 -0
  555. {simstack-0.2.0/scripts → simstack-2.0.1/scripts/old}/udocker-file +0 -0
  556. {simstack-0.2.0 → simstack-2.0.1}/setup.cfg +0 -0
  557. /simstack-0.2.0/src/simstack/__init__.py → /simstack-2.0.1/simstack_marker.com +0 -0
  558. {simstack-0.2.0/src/simstack/core → simstack-2.0.1/src/simstack}/__init__.py +0 -0
  559. {simstack-0.2.0/src/simstack/data → simstack-2.0.1/src/simstack/core}/__init__.py +0 -0
  560. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/core/asnyc_helper.py +0 -0
  561. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/core/task_id.py +0 -0
  562. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/methods/__init__.py +0 -0
  563. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/models/log_entry_model.py +0 -0
  564. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/models/runner_model.py +0 -0
  565. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/models/simstack_model.py +0 -0
  566. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/models/slurm_info.py +0 -0
  567. /simstack-0.2.0/src/simstack/util/__init__.py → /simstack-2.0.1/src/simstack/static/docs/_static/scripts/furo-extensions.js +0 -0
  568. {simstack-0.2.0/tests → simstack-2.0.1/src/simstack/tables}/__init__.py +0 -0
  569. {simstack-0.2.0/tests/core → simstack-2.0.1/src/simstack/util}/__init__.py +0 -0
  570. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/async_zip_utils.py +0 -0
  571. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/cleaned_json_schema.py +0 -0
  572. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/custom_model_dump.py +0 -0
  573. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/default_from_dict.py +0 -0
  574. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/directory_iterator.py +0 -0
  575. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/files.py +0 -0
  576. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/find_python_files.py +0 -0
  577. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/generate_ui_schema.py +0 -0
  578. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/geometry_utils.py +0 -0
  579. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/make_graph.py +0 -0
  580. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/minimal_route_finder.py +0 -0
  581. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/mock_db.py +0 -0
  582. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/queue_watcher.py +0 -0
  583. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/route_finder.py +0 -0
  584. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/safe_code_executor.py +0 -0
  585. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/sample_config.py +0 -0
  586. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/sensitive_content_filter.py +0 -0
  587. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/setup_logging.py +0 -0
  588. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/submit_to_watchdog.py +0 -0
  589. {simstack-0.2.0 → simstack-2.0.1}/src/simstack/util/ui_tools.py +0 -0
  590. {simstack-0.2.0 → simstack-2.0.1}/src/simstack.egg-info/dependency_links.txt +0 -0
  591. {simstack-0.2.0 → simstack-2.0.1}/src/simstack.egg-info/top_level.txt +0 -0
  592. {simstack-0.2.0/tests/util → simstack-2.0.1/tests}/__init__.py +0 -0
  593. {simstack-0.2.0/tests → simstack-2.0.1/tests/with_context}/core/test_artifacts.py +0 -0
  594. {simstack-0.2.0/tests → simstack-2.0.1/tests/with_context}/core/test_message_extraction.py +0 -0
  595. {simstack-0.2.0/tests → simstack-2.0.1/tests/with_context}/core/test_multiple_args.py +0 -0
  596. {simstack-0.2.0/tests → simstack-2.0.1/tests/with_context}/core/test_odmantic_model.py +0 -0
  597. {simstack-0.2.0/tests → simstack-2.0.1/tests/with_context}/core/test_route_finder.py +0 -0
  598. {simstack-0.2.0/tests → simstack-2.0.1/tests/with_context}/core/test_route_minimization.py +0 -0
  599. {simstack-0.2.0/tests → simstack-2.0.1/tests/with_context}/core/test_run_function_by_name.py +0 -0
  600. {simstack-0.2.0/tests/core → simstack-2.0.1/tests/with_context/models}/resource_id_extraction_tests.py +0 -0
  601. {simstack-0.2.0/tests/core → simstack-2.0.1/tests/with_context/models}/test_array_storage.py +0 -0
@@ -8,6 +8,8 @@ __pycache__
8
8
  *.pyo
9
9
  *.pyd
10
10
  .Python
11
+ .venv
12
+ venv
11
13
  pip-log.txt
12
14
  pip-delete-this-directory.txt
13
15
  .tox
@@ -49,6 +51,7 @@ Thumbs.db
49
51
  debug.txt
50
52
  *.lock
51
53
  !pixi.lock
54
+ !uv.lock
52
55
 
53
56
  # Build artifacts
54
57
  build/
@@ -0,0 +1,207 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - "**"
7
+ pull_request:
8
+ workflow_dispatch: # This line enables the manual run button
9
+
10
+ jobs:
11
+ smoke:
12
+ name: Lightweight workflow smoke test
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - uses: actions/checkout@v6
16
+
17
+ - name: Install uv
18
+ uses: astral-sh/setup-uv@v8.3.2
19
+ with:
20
+ version: "0.11.29"
21
+ enable-cache: true
22
+ cache-dependency-glob: "uv.lock"
23
+
24
+ - name: Set up Python 3.12
25
+ run: uv python install 3.12
26
+
27
+ - name: Install dependencies
28
+ run: uv sync --all-extras --dev --frozen
29
+
30
+ - name: Run lightweight workflow
31
+ env:
32
+ START_LOCAL_RUNNER: "false"
33
+ SIMSTACK_TEST_DB_CONNECTION_STRING: none
34
+ SIMSTACK_TEST_DB: smoke
35
+ SIMSTACK_PROJECT_ROOT: ${{ github.workspace }}
36
+ run: |
37
+ uv run python -m pytest \
38
+ tests/with_context/with_runner/test_array_storage_submit.py \
39
+ tests/with_context/with_runner/test_archive_node_e2e.py \
40
+ tests/without_context/test_dataset_persisted_structure.py \
41
+ tests/without_context/test_generate_test.py \
42
+ -q
43
+
44
+ test-linux:
45
+ name: Test on ubuntu-latest (Python ${{ matrix.python-version }})
46
+ runs-on: ubuntu-latest
47
+ strategy:
48
+ fail-fast: false
49
+ matrix:
50
+ python-version: ["3.12"]
51
+
52
+ services:
53
+ mongodb:
54
+ image: mongo:7
55
+ ports:
56
+ - 27017:27017
57
+ env:
58
+ MONGO_INITDB_ROOT_USERNAME: root
59
+ MONGO_INITDB_ROOT_PASSWORD: rootpassword
60
+
61
+ steps:
62
+ - uses: actions/checkout@v6
63
+
64
+ - name: Install uv
65
+ uses: astral-sh/setup-uv@v8.3.2
66
+ with:
67
+ version: "0.11.29"
68
+ enable-cache: true
69
+ cache-dependency-glob: "uv.lock"
70
+
71
+ - name: "Set up Python ${{ matrix.python-version }}"
72
+ run: uv python install ${{ matrix.python-version }}
73
+
74
+ - name: Install dependencies
75
+ run: uv sync --all-extras --dev --frozen
76
+
77
+ - name: Set up MongoDB for testing
78
+ run: |
79
+ uv run python -c "
80
+ from pymongo import MongoClient
81
+ client = MongoClient('mongodb://root:rootpassword@localhost:27017/')
82
+ db = client['admin']
83
+ db.command('createUser', 'testing', pwd='testpassword', roles=[{'role': 'readWrite', 'db': 'testing_data'}])
84
+ db = client['testing_data']
85
+ db['init'].insert_one({'init': True})
86
+ print('MongoDB initialized with user testing and database testing_data')
87
+ "
88
+ - name: Run tests with runner
89
+ shell: bash
90
+ env:
91
+ SIMSTACK_TEST_DB_CONNECTION_STRING: 'mongodb://testing:testpassword@localhost:27017/'
92
+ SIMSTACK_TEST_DB: testing_data
93
+ SIMSTACK_PROJECT_ROOT: ${{ github.workspace }}
94
+ run: |
95
+ mkdir -p simstack
96
+ printf '[parameters]\n[parameters.general]\nuse_db = true\nworkdir_self = "${{ github.workspace }}/simstack"\n[parameters.db]\ndatabase = "testing_data"\nconnection_string = "mongodb://testing:testpassword@localhost:27017/"\n' > simstack.toml
97
+ cat simstack.toml
98
+ uv run create_model_table --dir tests
99
+ uv run create_node_table --dir tests
100
+ START_LOCAL_RUNNER=true uv run python -m pytest \
101
+ tests/with_context/with_runner/test_runner_completed.py -q
102
+ START_LOCAL_RUNNER=false uv run python -m pytest tests --junitxml=pytest.xml --cov-report=term-missing --cov=simstack --cov-config=pyproject.toml
103
+
104
+ package-html-docs:
105
+ name: Build Package HTML Docs
106
+ runs-on: ubuntu-latest
107
+ permissions:
108
+ contents: read
109
+ steps:
110
+ - uses: actions/checkout@v6
111
+ with:
112
+ fetch-depth: 0
113
+
114
+ - name: Install uv
115
+ uses: astral-sh/setup-uv@v8.3.2
116
+ with:
117
+ version: "0.11.29"
118
+ enable-cache: true
119
+ cache-dependency-glob: "uv.lock"
120
+
121
+ - name: "Set up Python 3.12"
122
+ run: uv python install 3.12
123
+
124
+ - name: Install dependencies
125
+ run: uv sync --all-extras --dev --frozen
126
+
127
+ - name: Generate API documentation sources
128
+ run: uv run sphinx-apidoc -o doc/source/simstack/modules src/simstack -f
129
+
130
+ - name: Build package HTML documentation with Sphinx
131
+ run: |
132
+ set -euo pipefail
133
+ rm -rf src/simstack/static/docs
134
+ mkdir -p src/simstack/static/docs
135
+ export SOURCE_DATE_EPOCH="$(git log -1 --format=%ct)"
136
+ uv run sphinx-build -b html -d /tmp/simstack-docs-doctrees doc/source src/simstack/static/docs
137
+
138
+ - name: Upload package HTML documentation artifact
139
+ uses: actions/upload-artifact@v4
140
+ with:
141
+ name: sphinx-docs
142
+ path: src/simstack/static/docs
143
+
144
+ test-windows:
145
+ name: Test on windows-latest (Python ${{ matrix.python-version }})
146
+ runs-on: windows-latest
147
+ strategy:
148
+ fail-fast: false
149
+ matrix:
150
+ python-version: ["3.12"]
151
+
152
+ steps:
153
+ - uses: actions/checkout@v6
154
+
155
+ - name: Install MongoDB
156
+ run: |
157
+ choco install mongodb --no-progress
158
+ # The service might not start automatically or might need a moment
159
+ Get-Service MongoDB -ErrorAction SilentlyContinue | Start-Service
160
+
161
+ - name: Install uv
162
+ uses: astral-sh/setup-uv@v8.3.2
163
+ with:
164
+ version: "0.11.29"
165
+ enable-cache: true
166
+ cache-dependency-glob: "uv.lock"
167
+
168
+ - name: "Set up Python ${{ matrix.python-version }}"
169
+ run: uv python install ${{ matrix.python-version }}
170
+
171
+ - name: Install dependencies
172
+ run: uv sync --all-extras --dev --frozen
173
+
174
+ - name: Set up MongoDB for testing
175
+ shell: pwsh
176
+ run: |
177
+ uv run python -c "
178
+ from pymongo import MongoClient
179
+ client = MongoClient('mongodb://localhost:27017/')
180
+ db = client['admin']
181
+ db = client['testing_data']
182
+ db['init'].insert_one({'init': True})
183
+ print('MongoDB initialized with database testing_data')
184
+ "
185
+
186
+ - name: Run tests with runner
187
+ shell: pwsh
188
+ env:
189
+ SIMSTACK_TEST_DB_CONNECTION_STRING: 'mongodb://localhost:27017/'
190
+ SIMSTACK_TEST_DB: testing_data
191
+ SIMSTACK_PROJECT_ROOT: ${{ github.workspace }}
192
+ run: |
193
+ New-Item -ItemType Directory -Force -Path simstack
194
+ $tomlContent = @"
195
+ [parameters]
196
+ [parameters.general]
197
+ use_db = true
198
+ workdir_self = "$($env:GITHUB_WORKSPACE -replace '\\', '\\')\\simstack"
199
+ [parameters.db]
200
+ database = "testing_data"
201
+ connection_string = "mongodb://localhost:27017/"
202
+ "@
203
+ Set-Content -Path simstack.toml -Value $tomlContent
204
+ Get-Content simstack.toml
205
+ uv run create_model_table --dir tests
206
+ uv run create_node_table --dir tests
207
+ uv run python -m pytest tests --junitxml=pytest.xml --cov-report=term-missing --cov=simstack --cov-config=pyproject.toml
@@ -11,7 +11,7 @@ jobs:
11
11
  fail-fast: true
12
12
  steps:
13
13
  - name: Checkout
14
- uses: actions/checkout@v4
14
+ uses: actions/checkout@v6
15
15
  - name: Setup Pixi
16
16
  uses: prefix-dev/setup-pixi@v0.8.1
17
17
  with:
@@ -0,0 +1,19 @@
1
+ name: Notify simstack-server to refresh uv.lock
2
+
3
+ on:
4
+ push:
5
+ branches: ["main"]
6
+
7
+ jobs:
8
+ dispatch:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - name: Dispatch event to simstack-server
12
+ env:
13
+ GH_TOKEN: ${{ secrets.SIMSTACK_SERVER_DISPATCH_TOKEN }}
14
+ run: |
15
+ curl -L -X POST \
16
+ -H "Accept: application/vnd.github+json" \
17
+ -H "Authorization: Bearer ${GH_TOKEN}" \
18
+ https://api.github.com/repos/simstack/simstack-server/dispatches \
19
+ -d '{"event_type":"simstack-main-updated"}'
@@ -10,6 +10,7 @@ defaults:
10
10
  jobs:
11
11
  build_pypi_package:
12
12
  runs-on: ubuntu-latest
13
+ environment: release
13
14
  permissions:
14
15
  id-token: write
15
16
  contents: read
@@ -19,12 +20,14 @@ jobs:
19
20
  if: github.event_name == 'workflow_dispatch' || startsWith(github.ref, 'refs/tags/v')
20
21
  steps:
21
22
  - name: Checkout
22
- uses: actions/checkout@v4
23
+ uses: actions/checkout@v6
23
24
  with:
24
25
  fetch-depth: 0 # Fetch full history to check tag ancestry
25
26
 
26
27
  - name: Install the latest version of uv
27
- uses: astral-sh/setup-uv@v7
28
+ uses: astral-sh/setup-uv@v8.3.2
29
+ with:
30
+ version: "0.11.29"
28
31
 
29
32
  - name: Verify tag is from main branch
30
33
  if: startsWith(github.ref, 'refs/tags/v')
@@ -154,3 +154,4 @@ script_runner.out
154
154
  *.egg-info
155
155
  #version
156
156
  src/simstack/_version.py
157
+ .DS_store
@@ -21,16 +21,10 @@ repos:
21
21
  exclude: ^(applications|examples|doc|docs)/
22
22
  - repo: local
23
23
  hooks:
24
- - id: pixi-install
25
- name: pixi-install
26
- entry: pixi install -e mypy
27
- language: system
28
- always_run: true
29
- require_serial: true
30
- pass_filenames: false
31
24
  - id: mypy
32
25
  name: mypy
33
- entry: "pixi run -e mypy mypy"
26
+ entry: uv run mypy --follow-imports=skip
34
27
  language: system
35
- pass_filenames: false
28
+ types: [python]
29
+ exclude: ^(tests|applications|examples|doc|docs)/
36
30
  require_serial: true
@@ -0,0 +1 @@
1
+ recursive-include src/simstack/static/docs *
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: simstack
3
- Version: 0.2.0
3
+ Version: 2.0.1
4
4
  Summary: A python based workflow engineering platform with a react-js UI
5
- Author-email: Wolfgang Wenzel <wolfgang.wenzel@kit.edu>, Timo Strunk <timo.strunk@nanomatch.de>
5
+ Author-email: Wolfgang Wenzel <wolfgang.wenzel@kit.edu>, Artem Buildin <artem.buildin@kit.edu>, Nikita Mitagin <nikita.mitagin@kit.edu>, Phillip Dullinger <phillip.dullinger@kit.edu>, Celso Rego <celso.rego@kit.edu>, Oliver Pettkau <oliver.pettkau@kit.edu>, Timo Strunk <timo.strunk@nanomatch.de>
6
6
  License: MIT
7
7
  Project-URL: Homepage, https://gitlab.kit.edu/kit/ag_wenzel/simstack-model/
8
8
  Requires-Python: >=3.12
@@ -13,13 +13,106 @@ Requires-Dist: cloudpickle<4,>=3.1.1
13
13
  Requires-Dist: coolname<3,>=2.2.0
14
14
  Requires-Dist: nest-asyncio<2,>=1.6.0
15
15
  Requires-Dist: numpy>=2.3.0
16
- Requires-Dist: pandas>=2.3.3
16
+ Requires-Dist: pandas==2.3.2
17
+ Requires-Dist: pytest>=8.4.2
18
+ Requires-Dist: docutils>=0.22
19
+ Requires-Dist: pandas-stubs~=2.3.3
20
+ Requires-Dist: types-docutils~=0.22.3
17
21
  Dynamic: license-file
18
22
 
19
- ## 1. Install Simstack II — 3-step lightning setup ⚡️
23
+ ## SimStack II Overview ⚡️
24
+
25
+ Simstack II is a workflow orchestration tool that lets you run your workflows on remote
26
+ resources.
27
+
28
+ This repo provides the base package for Simstack II development. To use the graphical user interface,
29
+ you need to install the
30
+
31
+ - [simstack-server](https://github.com/simstack/simstack-server) project, a python-based
32
+ fastapi app that connects to the Simstack II database. a
33
+ - [simstack-ui](https://github.com/simstack/simstack-ui) project, a react-js web frontend.
34
+
35
+ You can use the [simstack-example](https://github.com/simstack/simstack-example) project
36
+ to get started.
37
+
38
+ ## Development workflow and versioning
39
+
40
+ This repository uses [Gitflow](https://nvie.com/posts/a-successful-git-branching-model/):
41
+
42
+ - `main` contains production releases.
43
+ - `develop` integrates changes for the next release.
44
+ - `feature-*`|`fix-*` branches start from and merge back into `develop`.
45
+ - `release-*` branches start from `develop`, then merge into both `develop` and `main`.
46
+ - `hotfix-*` branches start from `main`, then merge into both `main` and `develop`.
47
+ - each `main` merge commit must have a version tag.
48
+
49
+ Releases follow [Semantic Versioning 2.0.0](https://semver.org/) using
50
+ `MAJOR.MINOR.PATCH`: increment `MAJOR` for incompatible API changes, `MINOR` for
51
+ backward-compatible functionality, and `PATCH` for backward-compatible bug fixes.
52
+
53
+ ### Setting the version
54
+
55
+ The package version is derived from Git tags by `setuptools-scm`, as configured in
56
+ `pyproject.toml`; it is not maintained in a source file. Do not edit the generated
57
+ `src/simstack/_version.py`.
58
+
59
+ After the release branch has been merged into `main`, create and push an annotated
60
+ semantic-version tag. Pushing it triggers the PyPI release workflow.
61
+
62
+ ```bash
63
+ git switch main
64
+ git tag -a vX.Y.Z -m "Release vX.Y.Z"
65
+ git push origin vX.Y.Z
66
+ ```
67
+
68
+
69
+ ## Using SimStack II
70
+
71
+ ### Setting Up a MongoDB Instance
72
+
73
+ SimStack II persists user data via MongoDB, so you need to have a running MongoDB instance.
74
+
75
+ In a minimal example, you can spin up a MongoDB instance on your local machine with Docker:
76
+
77
+ ```bash
78
+ docker run -d \
79
+ --name simstack-mongo \
80
+ -p 27017:27017 \
81
+ -e MONGO_INITDB_ROOT_USERNAME=admin \
82
+ -e MONGO_INITDB_ROOT_PASSWORD=yourpassword \
83
+ mongo:latest
84
+ ```
85
+
86
+ This command:
87
+
88
+ - Runs MongoDB in detached mode (`-d`)
89
+ - Names the container `simstack-mongo`
90
+ - Maps port 27017 to your localhost
91
+ - Sets up basic authentication with username `admin` and password `yourpassword`
92
+
93
+ **Important**: Replace `yourpassword` with a secure password and update your `simstack.toml` connection string
94
+ accordingly:
95
+
96
+ ```toml
97
+ connection_string = "mongodb://admin:yourpassword@localhost:27017/"
98
+ ```
99
+ You can then create databases and collections in the MongoDB instance with the `mongo` CLI.
100
+
101
+ ### Starting the SimStack II Server
102
+
103
+ Start the SimStack II server as described in the [simstack-server](https://github.com/simstack/simstack-server) repo.
104
+ Set the `CONNECTION_STRING` environment variable to the connection string for the administration
105
+ database you just created. You can check localhost:8000 to see if the server is running.
106
+
107
+ ### Starting the SimStack II UI
108
+
109
+ Start the SimStack II UI as described in the [simstack-ui](https://github.com/simstack/simstack-ui) repo.
110
+ You should now be able to access the UI at http://localhost:3000.
111
+
112
+
113
+
114
+
20
115
 
21
- > **Goal:** create an isolated **`simstack`** environment, pull the model code, and satisfy every dependency in a single
22
- > coffee break.
23
116
 
24
117
  | What you’ll do | Why it matters |
25
118
  |-----------------------------------------|----------------------------------------------------|
@@ -1,25 +1,96 @@
1
- Metadata-Version: 2.4
2
- Name: simstack
3
- Version: 0.2.0
4
- Summary: A python based workflow engineering platform with a react-js UI
5
- Author-email: Wolfgang Wenzel <wolfgang.wenzel@kit.edu>, Timo Strunk <timo.strunk@nanomatch.de>
6
- License: MIT
7
- Project-URL: Homepage, https://gitlab.kit.edu/kit/ag_wenzel/simstack-model/
8
- Requires-Python: >=3.12
9
- Description-Content-Type: text/markdown
10
- License-File: LICENSE
11
- Requires-Dist: odmantic<2,>=1.0.2
12
- Requires-Dist: cloudpickle<4,>=3.1.1
13
- Requires-Dist: coolname<3,>=2.2.0
14
- Requires-Dist: nest-asyncio<2,>=1.6.0
15
- Requires-Dist: numpy>=2.3.0
16
- Requires-Dist: pandas>=2.3.3
17
- Dynamic: license-file
18
-
19
- ## 1. Install Simstack II — 3-step lightning setup ⚡️
20
-
21
- > **Goal:** create an isolated **`simstack`** environment, pull the model code, and satisfy every dependency in a single
22
- > coffee break.
1
+ ## SimStack II Overview ⚡️
2
+
3
+ Simstack II is a workflow orchestration tool that lets you run your workflows on remote
4
+ resources.
5
+
6
+ This repo provides the base package for Simstack II development. To use the graphical user interface,
7
+ you need to install the
8
+
9
+ - [simstack-server](https://github.com/simstack/simstack-server) project, a python-based
10
+ fastapi app that connects to the Simstack II database. a
11
+ - [simstack-ui](https://github.com/simstack/simstack-ui) project, a react-js web frontend.
12
+
13
+ You can use the [simstack-example](https://github.com/simstack/simstack-example) project
14
+ to get started.
15
+
16
+ ## Development workflow and versioning
17
+
18
+ This repository uses [Gitflow](https://nvie.com/posts/a-successful-git-branching-model/):
19
+
20
+ - `main` contains production releases.
21
+ - `develop` integrates changes for the next release.
22
+ - `feature-*`|`fix-*` branches start from and merge back into `develop`.
23
+ - `release-*` branches start from `develop`, then merge into both `develop` and `main`.
24
+ - `hotfix-*` branches start from `main`, then merge into both `main` and `develop`.
25
+ - each `main` merge commit must have a version tag.
26
+
27
+ Releases follow [Semantic Versioning 2.0.0](https://semver.org/) using
28
+ `MAJOR.MINOR.PATCH`: increment `MAJOR` for incompatible API changes, `MINOR` for
29
+ backward-compatible functionality, and `PATCH` for backward-compatible bug fixes.
30
+
31
+ ### Setting the version
32
+
33
+ The package version is derived from Git tags by `setuptools-scm`, as configured in
34
+ `pyproject.toml`; it is not maintained in a source file. Do not edit the generated
35
+ `src/simstack/_version.py`.
36
+
37
+ After the release branch has been merged into `main`, create and push an annotated
38
+ semantic-version tag. Pushing it triggers the PyPI release workflow.
39
+
40
+ ```bash
41
+ git switch main
42
+ git tag -a vX.Y.Z -m "Release vX.Y.Z"
43
+ git push origin vX.Y.Z
44
+ ```
45
+
46
+
47
+ ## Using SimStack II
48
+
49
+ ### Setting Up a MongoDB Instance
50
+
51
+ SimStack II persists user data via MongoDB, so you need to have a running MongoDB instance.
52
+
53
+ In a minimal example, you can spin up a MongoDB instance on your local machine with Docker:
54
+
55
+ ```bash
56
+ docker run -d \
57
+ --name simstack-mongo \
58
+ -p 27017:27017 \
59
+ -e MONGO_INITDB_ROOT_USERNAME=admin \
60
+ -e MONGO_INITDB_ROOT_PASSWORD=yourpassword \
61
+ mongo:latest
62
+ ```
63
+
64
+ This command:
65
+
66
+ - Runs MongoDB in detached mode (`-d`)
67
+ - Names the container `simstack-mongo`
68
+ - Maps port 27017 to your localhost
69
+ - Sets up basic authentication with username `admin` and password `yourpassword`
70
+
71
+ **Important**: Replace `yourpassword` with a secure password and update your `simstack.toml` connection string
72
+ accordingly:
73
+
74
+ ```toml
75
+ connection_string = "mongodb://admin:yourpassword@localhost:27017/"
76
+ ```
77
+ You can then create databases and collections in the MongoDB instance with the `mongo` CLI.
78
+
79
+ ### Starting the SimStack II Server
80
+
81
+ Start the SimStack II server as described in the [simstack-server](https://github.com/simstack/simstack-server) repo.
82
+ Set the `CONNECTION_STRING` environment variable to the connection string for the administration
83
+ database you just created. You can check localhost:8000 to see if the server is running.
84
+
85
+ ### Starting the SimStack II UI
86
+
87
+ Start the SimStack II UI as described in the [simstack-ui](https://github.com/simstack/simstack-ui) repo.
88
+ You should now be able to access the UI at http://localhost:3000.
89
+
90
+
91
+
92
+
93
+
23
94
 
24
95
  | What you’ll do | Why it matters |
25
96
  |-----------------------------------------|----------------------------------------------------|
@@ -0,0 +1 @@
1
+ /* Project theme overrides placeholder. */
@@ -0,0 +1,51 @@
1
+ .bottom-of-page .right-details {
2
+ display: flex;
3
+ flex: 1 1 auto;
4
+ justify-content: flex-end;
5
+ }
6
+
7
+ .docs-build-badge {
8
+ display: inline-flex;
9
+ flex-direction: column;
10
+ gap: 2px;
11
+ min-width: 220px;
12
+ max-width: 340px;
13
+ margin-left: auto;
14
+ padding: 9px 12px;
15
+ border: 1px solid rgba(34, 213, 255, 0.45);
16
+ border-radius: 12px;
17
+ background: linear-gradient(145deg, rgba(19, 39, 56, 0.88), rgba(30, 58, 82, 0.88));
18
+ color: #e9fbff;
19
+ box-shadow: 0 6px 16px rgba(0, 0, 0, 0.28);
20
+ }
21
+
22
+ .docs-build-badge__label {
23
+ font-size: 11px;
24
+ font-weight: 700;
25
+ letter-spacing: 0.08em;
26
+ text-transform: uppercase;
27
+ color: #7ce9ff;
28
+ }
29
+
30
+ .docs-build-badge__value {
31
+ font-size: 13px;
32
+ font-weight: 600;
33
+ line-height: 1.3;
34
+ word-break: break-word;
35
+ }
36
+
37
+ @media (max-width: 900px) {
38
+ .bottom-of-page .right-details {
39
+ justify-content: flex-start;
40
+ }
41
+
42
+ .docs-build-badge {
43
+ min-width: 180px;
44
+ max-width: min(72vw, 320px);
45
+ padding: 8px 10px;
46
+ }
47
+
48
+ .docs-build-badge__value {
49
+ font-size: 12px;
50
+ }
51
+ }
@@ -0,0 +1,51 @@
1
+ (function () {
2
+ function createBuildBadge() {
3
+ const script =
4
+ document.currentScript ||
5
+ document.querySelector('script[src*="docs-build-badge.js"][data-docs-built-at]');
6
+
7
+ if (!script) {
8
+ return;
9
+ }
10
+
11
+ const builtAt = script.getAttribute("data-docs-built-at");
12
+ if (!builtAt || document.getElementById("docs-build-badge")) {
13
+ return;
14
+ }
15
+
16
+ const badge = document.createElement("aside");
17
+ badge.id = "docs-build-badge";
18
+ badge.className = "docs-build-badge";
19
+
20
+ const label = document.createElement("span");
21
+ label.className = "docs-build-badge__label";
22
+ label.textContent = "Docs build";
23
+
24
+ const value = document.createElement("span");
25
+ value.className = "docs-build-badge__value";
26
+ value.textContent = builtAt;
27
+
28
+ badge.appendChild(label);
29
+ badge.appendChild(value);
30
+
31
+ const bottom = document.querySelector(".bottom-of-page");
32
+ if (!bottom) {
33
+ return;
34
+ }
35
+
36
+ let rightDetails = bottom.querySelector(".right-details");
37
+ if (!rightDetails) {
38
+ rightDetails = document.createElement("div");
39
+ rightDetails.className = "right-details";
40
+ bottom.appendChild(rightDetails);
41
+ }
42
+
43
+ rightDetails.appendChild(badge);
44
+ }
45
+
46
+ if (document.readyState === "loading") {
47
+ document.addEventListener("DOMContentLoaded", createBuildBadge, { once: true });
48
+ } else {
49
+ createBuildBadge();
50
+ }
51
+ })();