simstack 2.0.1__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.
- simstack/__init__.py +0 -0
- simstack/_version.py +24 -0
- simstack/core/__init__.py +0 -0
- simstack/core/artifacts.py +406 -0
- simstack/core/asnyc_helper.py +14 -0
- simstack/core/config_file.py +60 -0
- simstack/core/context.py +283 -0
- simstack/core/definitions.py +22 -0
- simstack/core/engine.py +115 -0
- simstack/core/find_simstack_modules.py +41 -0
- simstack/core/hash.py +179 -0
- simstack/core/node.py +1137 -0
- simstack/core/node_claim.py +31 -0
- simstack/core/node_runner.py +362 -0
- simstack/core/process_results.py +102 -0
- simstack/core/recompute_artifacts.py +117 -0
- simstack/core/reset_db.py +12 -0
- simstack/core/resource_assignment.py +222 -0
- simstack/core/resources.py +90 -0
- simstack/core/route_table.py +24 -0
- simstack/core/run_docker.py +109 -0
- simstack/core/run_node.py +71 -0
- simstack/core/runner.py +169 -0
- simstack/core/services/__init__.py +11 -0
- simstack/core/services/base_service.py +191 -0
- simstack/core/services/file_transfer_service.py +117 -0
- simstack/core/services/git_restart_service.py +12 -0
- simstack/core/services/git_uv_update_service.py +105 -0
- simstack/core/services/node_execution_service.py +182 -0
- simstack/core/services/resource_branch_monitor_service.py +71 -0
- simstack/core/services/runner_cleanup_service.py +149 -0
- simstack/core/services/runner_manager.py +163 -0
- simstack/core/services/runner_status_service.py +10 -0
- simstack/core/services/slurm_status_service.py +67 -0
- simstack/core/services/stop_check_service.py +27 -0
- simstack/core/services/timeout_restart_service.py +26 -0
- simstack/core/simstack_result.py +39 -0
- simstack/core/submit_node.py +217 -0
- simstack/core/task_id.py +22 -0
- simstack/methods/__init__.py +0 -0
- simstack/methods/archive_files.py +292 -0
- simstack/methods/fire_and_forget_runner.py +113 -0
- simstack/methods/generate_test.py +125 -0
- simstack/methods/get_file.py +26 -0
- simstack/methods/mass_runner.py +154 -0
- simstack/methods/multiple_executor.py +307 -0
- simstack/methods/switch_git.py +16 -0
- simstack/methods/upload_helpers.py +81 -0
- simstack/models/__init__.py +74 -0
- simstack/models/array_list.py +21 -0
- simstack/models/array_storage.py +83 -0
- simstack/models/artifact_models.py +127 -0
- simstack/models/base_lists.py +51 -0
- simstack/models/base_types.py +209 -0
- simstack/models/charts_artifact.py +690 -0
- simstack/models/dataset.py +451 -0
- simstack/models/dataset_metadata.py +390 -0
- simstack/models/datasettuple.py +587 -0
- simstack/models/file_instance.py +150 -0
- simstack/models/file_list.py +45 -0
- simstack/models/files.py +424 -0
- simstack/models/fire_and_forget_result.py +19 -0
- simstack/models/images2d.py +113 -0
- simstack/models/log_entry_model.py +37 -0
- simstack/models/models.py +52 -0
- simstack/models/named_data_reference.py +36 -0
- simstack/models/node_registry.py +96 -0
- simstack/models/pandas_model.py +239 -0
- simstack/models/parameters.py +402 -0
- simstack/models/pickle_models.py +300 -0
- simstack/models/project.py +13 -0
- simstack/models/resource_assignment.py +170 -0
- simstack/models/resource_definition.py +125 -0
- simstack/models/runner_model.py +39 -0
- simstack/models/simple_table.py +79 -0
- simstack/models/simstack_model.py +97 -0
- simstack/models/slurm_info.py +17 -0
- simstack/models/table_artifact.py +87 -0
- simstack/models/tag.py +12 -0
- simstack/models/unused_test_file.py +5 -0
- simstack/simstack_marker.com +1 -0
- simstack/static/docs/.buildinfo +4 -0
- simstack/static/docs/_images/GUI Concept.webp +0 -0
- simstack/static/docs/_modules/index.html +434 -0
- simstack/static/docs/_modules/simstack/core/artifacts.html +743 -0
- simstack/static/docs/_modules/simstack/core/asnyc_helper.html +330 -0
- simstack/static/docs/_modules/simstack/core/config_file.html +379 -0
- simstack/static/docs/_modules/simstack/core/definitions.html +341 -0
- simstack/static/docs/_modules/simstack/core/engine.html +437 -0
- simstack/static/docs/_modules/simstack/core/find_simstack_modules.html +360 -0
- simstack/static/docs/_modules/simstack/core/hash.html +528 -0
- simstack/static/docs/_modules/simstack/core/node.html +1392 -0
- simstack/static/docs/_modules/simstack/core/node_claim.html +347 -0
- simstack/static/docs/_modules/simstack/core/node_runner.html +711 -0
- simstack/static/docs/_modules/simstack/core/process_results.html +418 -0
- simstack/static/docs/_modules/simstack/core/recompute_artifacts.html +433 -0
- simstack/static/docs/_modules/simstack/core/reset_db.html +328 -0
- simstack/static/docs/_modules/simstack/core/resource_assignment.html +553 -0
- simstack/static/docs/_modules/simstack/core/resources.html +424 -0
- simstack/static/docs/_modules/simstack/core/route_table.html +349 -0
- simstack/static/docs/_modules/simstack/core/run_docker.html +425 -0
- simstack/static/docs/_modules/simstack/core/run_node.html +390 -0
- simstack/static/docs/_modules/simstack/core/runner.html +491 -0
- simstack/static/docs/_modules/simstack/core/services/base_service.html +522 -0
- simstack/static/docs/_modules/simstack/core/services/file_transfer_service.html +436 -0
- simstack/static/docs/_modules/simstack/core/services/git_restart_service.html +331 -0
- simstack/static/docs/_modules/simstack/core/services/git_uv_update_service.html +427 -0
- simstack/static/docs/_modules/simstack/core/services/node_execution_service.html +507 -0
- simstack/static/docs/_modules/simstack/core/services/resource_branch_monitor_service.html +390 -0
- simstack/static/docs/_modules/simstack/core/services/runner_cleanup_service.html +468 -0
- simstack/static/docs/_modules/simstack/core/services/runner_manager.html +485 -0
- simstack/static/docs/_modules/simstack/core/services/runner_status_service.html +329 -0
- simstack/static/docs/_modules/simstack/core/services/slurm_status_service.html +386 -0
- simstack/static/docs/_modules/simstack/core/services/stop_check_service.html +346 -0
- simstack/static/docs/_modules/simstack/core/services/timeout_restart_service.html +345 -0
- simstack/static/docs/_modules/simstack/core/simstack_result.html +355 -0
- simstack/static/docs/_modules/simstack/core/submit_node.html +536 -0
- simstack/static/docs/_modules/simstack/core/task_id.html +344 -0
- simstack/static/docs/_modules/simstack/methods/archive_files.html +598 -0
- simstack/static/docs/_modules/simstack/methods/fire_and_forget_runner.html +432 -0
- simstack/static/docs/_modules/simstack/methods/generate_test.html +443 -0
- simstack/static/docs/_modules/simstack/methods/get_file.html +342 -0
- simstack/static/docs/_modules/simstack/methods/mass_runner.html +476 -0
- simstack/static/docs/_modules/simstack/methods/multiple_executor.html +674 -0
- simstack/static/docs/_modules/simstack/methods/switch_git.html +332 -0
- simstack/static/docs/_modules/simstack/methods/upload_helpers.html +403 -0
- simstack/static/docs/_modules/simstack/models/array_list.html +337 -0
- simstack/static/docs/_modules/simstack/models/array_storage.html +417 -0
- simstack/static/docs/_modules/simstack/models/base_lists.html +374 -0
- simstack/static/docs/_modules/simstack/models/base_types.html +588 -0
- simstack/static/docs/_modules/simstack/models/charts_artifact.html +1035 -0
- simstack/static/docs/_modules/simstack/models/dataset.html +866 -0
- simstack/static/docs/_modules/simstack/models/dataset_metadata.html +711 -0
- simstack/static/docs/_modules/simstack/models/datasettuple.html +1005 -0
- simstack/static/docs/_modules/simstack/models/file_instance.html +472 -0
- simstack/static/docs/_modules/simstack/models/file_list.html +367 -0
- simstack/static/docs/_modules/simstack/models/files.html +773 -0
- simstack/static/docs/_modules/simstack/models/fire_and_forget_result.html +335 -0
- simstack/static/docs/_modules/simstack/models/images2d.html +447 -0
- simstack/static/docs/_modules/simstack/models/log_entry_model.html +356 -0
- simstack/static/docs/_modules/simstack/models/models.html +374 -0
- simstack/static/docs/_modules/simstack/models/named_data_reference.html +355 -0
- simstack/static/docs/_modules/simstack/models/node_registry.html +415 -0
- simstack/static/docs/_modules/simstack/models/pandas_model.html +570 -0
- simstack/static/docs/_modules/simstack/models/parameters.html +739 -0
- simstack/static/docs/_modules/simstack/models/pickle_models.html +631 -0
- simstack/static/docs/_modules/simstack/models/project.html +329 -0
- simstack/static/docs/_modules/simstack/models/resource_assignment.html +501 -0
- simstack/static/docs/_modules/simstack/models/resource_definition.html +477 -0
- simstack/static/docs/_modules/simstack/models/runner_model.html +361 -0
- simstack/static/docs/_modules/simstack/models/simple_table.html +413 -0
- simstack/static/docs/_modules/simstack/models/simstack_model.html +416 -0
- simstack/static/docs/_modules/simstack/models/slurm_info.html +333 -0
- simstack/static/docs/_modules/simstack/models/table_artifact.html +406 -0
- simstack/static/docs/_modules/simstack/models/tag.html +328 -0
- simstack/static/docs/_modules/simstack/tables/model_table.html +519 -0
- simstack/static/docs/_modules/simstack/tables/node_children.html +538 -0
- simstack/static/docs/_modules/simstack/tables/node_table.html +854 -0
- simstack/static/docs/_modules/simstack/tables/table_builder.html +642 -0
- simstack/static/docs/_modules/simstack/util/async_zip_utils.html +337 -0
- simstack/static/docs/_modules/simstack/util/b64mixin.html +339 -0
- simstack/static/docs/_modules/simstack/util/cleaned_json_schema.html +336 -0
- simstack/static/docs/_modules/simstack/util/config_reader.html +498 -0
- simstack/static/docs/_modules/simstack/util/custom_model_dump.html +391 -0
- simstack/static/docs/_modules/simstack/util/database_information.html +488 -0
- simstack/static/docs/_modules/simstack/util/db.html +1392 -0
- simstack/static/docs/_modules/simstack/util/db_logger.html +448 -0
- simstack/static/docs/_modules/simstack/util/default_from_dict.html +376 -0
- simstack/static/docs/_modules/simstack/util/directory_iterator.html +553 -0
- simstack/static/docs/_modules/simstack/util/docstring_parser.html +526 -0
- simstack/static/docs/_modules/simstack/util/file_hashing.html +394 -0
- simstack/static/docs/_modules/simstack/util/file_transfer_client.html +791 -0
- simstack/static/docs/_modules/simstack/util/files.html +733 -0
- simstack/static/docs/_modules/simstack/util/find_python_files.html +349 -0
- simstack/static/docs/_modules/simstack/util/generate_ui_schema.html +396 -0
- simstack/static/docs/_modules/simstack/util/generic_list_mixin.html +487 -0
- simstack/static/docs/_modules/simstack/util/get_module_path.html +336 -0
- simstack/static/docs/_modules/simstack/util/git_pull.html +381 -0
- simstack/static/docs/_modules/simstack/util/git_repository_status.html +411 -0
- simstack/static/docs/_modules/simstack/util/import_module.html +377 -0
- simstack/static/docs/_modules/simstack/util/importer.html +637 -0
- simstack/static/docs/_modules/simstack/util/init_data_source.html +357 -0
- simstack/static/docs/_modules/simstack/util/make_graph.html +423 -0
- simstack/static/docs/_modules/simstack/util/make_table.html +1171 -0
- simstack/static/docs/_modules/simstack/util/mappings.html +378 -0
- simstack/static/docs/_modules/simstack/util/minimal_route_finder.html +388 -0
- simstack/static/docs/_modules/simstack/util/mock_db.html +472 -0
- simstack/static/docs/_modules/simstack/util/module_path_checker.html +354 -0
- simstack/static/docs/_modules/simstack/util/object_list_mixin.html +649 -0
- simstack/static/docs/_modules/simstack/util/path_manager.html +566 -0
- simstack/static/docs/_modules/simstack/util/project_root_finder.html +357 -0
- simstack/static/docs/_modules/simstack/util/queue_watcher.html +593 -0
- simstack/static/docs/_modules/simstack/util/resource_config.html +532 -0
- simstack/static/docs/_modules/simstack/util/route_finder.html +390 -0
- simstack/static/docs/_modules/simstack/util/runner_util.html +487 -0
- simstack/static/docs/_modules/simstack/util/runner_utils.html +468 -0
- simstack/static/docs/_modules/simstack/util/safe_code_executor.html +510 -0
- simstack/static/docs/_modules/simstack/util/sample_config.html +414 -0
- simstack/static/docs/_modules/simstack/util/sensitive_content_filter.html +364 -0
- simstack/static/docs/_modules/simstack/util/setup_logging.html +365 -0
- simstack/static/docs/_modules/simstack/util/submit_to_watchdog.html +425 -0
- simstack/static/docs/_modules/simstack/util/toml_reader.html +482 -0
- simstack/static/docs/_modules/simstack/util/transform_file_name.html +357 -0
- simstack/static/docs/_modules/simstack/util/ui_tools.html +541 -0
- simstack/static/docs/_sources/architecture.rst.txt +25 -0
- simstack/static/docs/_sources/array_lists.rst.txt +60 -0
- simstack/static/docs/_sources/ci_pipeline.rst.txt +34 -0
- simstack/static/docs/_sources/data.rst.txt +175 -0
- simstack/static/docs/_sources/database_migrations.rst.txt +310 -0
- simstack/static/docs/_sources/datasets.rst.txt +93 -0
- simstack/static/docs/_sources/developer_guide.rst.txt +25 -0
- simstack/static/docs/_sources/docker_nodes.rst.txt +149 -0
- simstack/static/docs/_sources/files.rst.txt +159 -0
- simstack/static/docs/_sources/fire_and_forget_runner.rst.txt +67 -0
- simstack/static/docs/_sources/index.rst.txt +25 -0
- simstack/static/docs/_sources/installation.rst.txt +213 -0
- simstack/static/docs/_sources/lists.rst.txt +111 -0
- simstack/static/docs/_sources/mass_runner.rst.txt +91 -0
- simstack/static/docs/_sources/misc.rst.txt +106 -0
- simstack/static/docs/_sources/overview.rst.txt +91 -0
- simstack/static/docs/_sources/recovery.rst.txt +38 -0
- simstack/static/docs/_sources/resource_config.rst.txt +141 -0
- simstack/static/docs/_sources/simstack/modules/modules.rst.txt +7 -0
- simstack/static/docs/_sources/simstack/modules/simstack.core.rst.txt +205 -0
- simstack/static/docs/_sources/simstack/modules/simstack.core.services.rst.txt +109 -0
- simstack/static/docs/_sources/simstack/modules/simstack.methods.rst.txt +77 -0
- simstack/static/docs/_sources/simstack/modules/simstack.models.rst.txt +261 -0
- simstack/static/docs/_sources/simstack/modules/simstack.rst.txt +22 -0
- simstack/static/docs/_sources/simstack/modules/simstack.tables.rst.txt +45 -0
- simstack/static/docs/_sources/simstack/modules/simstack.util.rst.txt +381 -0
- simstack/static/docs/_sources/submit.rst.txt +141 -0
- simstack/static/docs/_sources/tables.rst.txt +50 -0
- simstack/static/docs/_sources/testing_complex_nodes.rst.txt +92 -0
- simstack/static/docs/_sources/ui_documentation.rst.txt +272 -0
- simstack/static/docs/_sources/workflows.rst.txt +446 -0
- simstack/static/docs/_static/base-stemmer.js +476 -0
- simstack/static/docs/_static/basic.css +906 -0
- simstack/static/docs/_static/cobalt2-theme.css +1 -0
- simstack/static/docs/_static/debug.css +69 -0
- simstack/static/docs/_static/docs-build-badge.css +51 -0
- simstack/static/docs/_static/docs-build-badge.js +51 -0
- simstack/static/docs/_static/doctools.js +150 -0
- simstack/static/docs/_static/documentation_options.js +13 -0
- simstack/static/docs/_static/english-stemmer.js +1066 -0
- simstack/static/docs/_static/file.png +0 -0
- simstack/static/docs/_static/language_data.js +13 -0
- simstack/static/docs/_static/minus.png +0 -0
- simstack/static/docs/_static/plus.png +0 -0
- simstack/static/docs/_static/pygments.css +250 -0
- simstack/static/docs/_static/scripts/furo-extensions.js +0 -0
- simstack/static/docs/_static/scripts/furo.js +3 -0
- simstack/static/docs/_static/scripts/furo.js.LICENSE.txt +7 -0
- simstack/static/docs/_static/scripts/furo.js.map +1 -0
- simstack/static/docs/_static/searchtools.js +693 -0
- simstack/static/docs/_static/skeleton.css +296 -0
- simstack/static/docs/_static/sphinx_highlight.js +159 -0
- simstack/static/docs/_static/styles/furo-extensions.css +2 -0
- simstack/static/docs/_static/styles/furo-extensions.css.map +1 -0
- simstack/static/docs/_static/styles/furo.css +2 -0
- simstack/static/docs/_static/styles/furo.css.map +1 -0
- simstack/static/docs/architecture.html +340 -0
- simstack/static/docs/array_lists.html +678 -0
- simstack/static/docs/ci_pipeline.html +385 -0
- simstack/static/docs/data.html +545 -0
- simstack/static/docs/database_migrations.html +652 -0
- simstack/static/docs/datasets.html +1268 -0
- simstack/static/docs/developer_guide.html +359 -0
- simstack/static/docs/docker_nodes.html +503 -0
- simstack/static/docs/files.html +718 -0
- simstack/static/docs/fire_and_forget_runner.html +641 -0
- simstack/static/docs/genindex.html +6390 -0
- simstack/static/docs/index.html +516 -0
- simstack/static/docs/installation.html +553 -0
- simstack/static/docs/lists.html +478 -0
- simstack/static/docs/mass_runner.html +481 -0
- simstack/static/docs/misc.html +454 -0
- simstack/static/docs/objects.inv +0 -0
- simstack/static/docs/overview.html +469 -0
- simstack/static/docs/py-modindex.html +1111 -0
- simstack/static/docs/recovery.html +371 -0
- simstack/static/docs/resource_config.html +590 -0
- simstack/static/docs/search.html +327 -0
- simstack/static/docs/searchindex.js +1 -0
- simstack/static/docs/simstack/modules/modules.html +489 -0
- simstack/static/docs/simstack/modules/simstack.core.html +1883 -0
- simstack/static/docs/simstack/modules/simstack.core.services.html +698 -0
- simstack/static/docs/simstack/modules/simstack.html +3060 -0
- simstack/static/docs/simstack/modules/simstack.methods.html +1150 -0
- simstack/static/docs/simstack/modules/simstack.models.html +13113 -0
- simstack/static/docs/simstack/modules/simstack.tables.html +635 -0
- simstack/static/docs/simstack/modules/simstack.util.html +3320 -0
- simstack/static/docs/submit.html +487 -0
- simstack/static/docs/tables.html +539 -0
- simstack/static/docs/testing_complex_nodes.html +458 -0
- simstack/static/docs/ui_documentation.html +788 -0
- simstack/static/docs/workflows.html +766 -0
- simstack/tables/__init__.py +0 -0
- simstack/tables/model_table.py +191 -0
- simstack/tables/node_children.py +219 -0
- simstack/tables/node_table.py +517 -0
- simstack/tables/table_builder.py +314 -0
- simstack/util/__init__.py +0 -0
- simstack/util/async_zip_utils.py +18 -0
- simstack/util/b64mixin.py +23 -0
- simstack/util/cleaned_json_schema.py +20 -0
- simstack/util/config_reader.py +179 -0
- simstack/util/custom_model_dump.py +75 -0
- simstack/util/database_information.py +160 -0
- simstack/util/db.py +1013 -0
- simstack/util/db_logger.py +117 -0
- simstack/util/default_from_dict.py +57 -0
- simstack/util/directory_iterator.py +216 -0
- simstack/util/docstring_parser.py +186 -0
- simstack/util/file_hashing.py +72 -0
- simstack/util/file_transfer_client.py +427 -0
- simstack/util/files.py +396 -0
- simstack/util/find_python_files.py +33 -0
- simstack/util/generate_ui_schema.py +80 -0
- simstack/util/generic_list_mixin.py +120 -0
- simstack/util/geometry_utils.py +118 -0
- simstack/util/get_module_path.py +20 -0
- simstack/util/git_pull.py +65 -0
- simstack/util/git_repository_status.py +95 -0
- simstack/util/import_module.py +63 -0
- simstack/util/importer.py +312 -0
- simstack/util/init_data_source.py +41 -0
- simstack/util/make_graph.py +107 -0
- simstack/util/make_table.py +837 -0
- simstack/util/mappings.py +41 -0
- simstack/util/minimal_route_finder.py +72 -0
- simstack/util/mock_db.py +144 -0
- simstack/util/module_path_checker.py +38 -0
- simstack/util/object_list_mixin.py +282 -0
- simstack/util/path_manager.py +223 -0
- simstack/util/project_root_finder.py +41 -0
- simstack/util/queue_watcher.py +262 -0
- simstack/util/resource_config.py +198 -0
- simstack/util/route_finder.py +74 -0
- simstack/util/runner_util.py +166 -0
- simstack/util/runner_utils.py +143 -0
- simstack/util/safe_code_executor.py +194 -0
- simstack/util/sample_config.py +98 -0
- simstack/util/sensitive_content_filter.py +48 -0
- simstack/util/setup_logging.py +49 -0
- simstack/util/submit_to_watchdog.py +106 -0
- simstack/util/toml_reader.py +142 -0
- simstack/util/transform_file_name.py +41 -0
- simstack/util/ui_tools.py +213 -0
- simstack-2.0.1.dist-info/METADATA +454 -0
- simstack-2.0.1.dist-info/RECORD +354 -0
- simstack-2.0.1.dist-info/WHEEL +5 -0
- simstack-2.0.1.dist-info/entry_points.txt +12 -0
- simstack-2.0.1.dist-info/licenses/LICENSE +21 -0
- simstack-2.0.1.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,454 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html class="no-js" lang="en" data-content_root="./">
|
|
3
|
+
<head><meta charset="utf-8">
|
|
4
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
5
|
+
<meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<link rel="index" title="Index" href="genindex.html"><link rel="search" title="Search" href="search.html"><link rel="next" title="Simstack II Setup" href="installation.html"><link rel="prev" title="CI Pipeline and Documentation Artifacts" href="ci_pipeline.html">
|
|
7
|
+
|
|
8
|
+
<!-- Generated with Sphinx 9.1.0 and Furo 2025.12.19 -->
|
|
9
|
+
<title>Miscellaneous - SimStack II documentation</title>
|
|
10
|
+
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
|
|
11
|
+
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=7bdb33bb" />
|
|
12
|
+
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
|
|
13
|
+
<link rel="stylesheet" type="text/css" href="_static/cobalt2-theme.css?v=2d651046" />
|
|
14
|
+
<link rel="stylesheet" type="text/css" href="_static/docs-build-badge.css?v=803faff8" />
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
<style>
|
|
20
|
+
body {
|
|
21
|
+
--color-code-background: #f2f2f2;
|
|
22
|
+
--color-code-foreground: #1e1e1e;
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
@media not print {
|
|
26
|
+
body[data-theme="dark"] {
|
|
27
|
+
--color-code-background: #202020;
|
|
28
|
+
--color-code-foreground: #d0d0d0;
|
|
29
|
+
--color-background-primary: #132738;
|
|
30
|
+
--color-background-secondary: #1e3a52;
|
|
31
|
+
--color-foreground-primary: #ffffff;
|
|
32
|
+
--color-foreground-secondary: #bac8d3;
|
|
33
|
+
--color-brand-primary: #22d5ff;
|
|
34
|
+
--color-brand-content: #0088ff;
|
|
35
|
+
|
|
36
|
+
}
|
|
37
|
+
@media (prefers-color-scheme: dark) {
|
|
38
|
+
body:not([data-theme="light"]) {
|
|
39
|
+
--color-code-background: #202020;
|
|
40
|
+
--color-code-foreground: #d0d0d0;
|
|
41
|
+
--color-background-primary: #132738;
|
|
42
|
+
--color-background-secondary: #1e3a52;
|
|
43
|
+
--color-foreground-primary: #ffffff;
|
|
44
|
+
--color-foreground-secondary: #bac8d3;
|
|
45
|
+
--color-brand-primary: #22d5ff;
|
|
46
|
+
--color-brand-content: #0088ff;
|
|
47
|
+
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
</style></head>
|
|
52
|
+
<body>
|
|
53
|
+
|
|
54
|
+
<script>
|
|
55
|
+
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
|
|
56
|
+
</script>
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
|
|
60
|
+
<symbol id="svg-toc" viewBox="0 0 24 24">
|
|
61
|
+
<title>Contents</title>
|
|
62
|
+
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
|
|
63
|
+
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
|
|
64
|
+
</svg>
|
|
65
|
+
</symbol>
|
|
66
|
+
<symbol id="svg-menu" viewBox="0 0 24 24">
|
|
67
|
+
<title>Menu</title>
|
|
68
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
69
|
+
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
|
|
70
|
+
<line x1="3" y1="12" x2="21" y2="12"></line>
|
|
71
|
+
<line x1="3" y1="6" x2="21" y2="6"></line>
|
|
72
|
+
<line x1="3" y1="18" x2="21" y2="18"></line>
|
|
73
|
+
</svg>
|
|
74
|
+
</symbol>
|
|
75
|
+
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
|
|
76
|
+
<title>Expand</title>
|
|
77
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
78
|
+
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
|
|
79
|
+
<polyline points="9 18 15 12 9 6"></polyline>
|
|
80
|
+
</svg>
|
|
81
|
+
</symbol>
|
|
82
|
+
<symbol id="svg-sun" viewBox="0 0 24 24">
|
|
83
|
+
<title>Light mode</title>
|
|
84
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
85
|
+
stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
|
|
86
|
+
<circle cx="12" cy="12" r="5"></circle>
|
|
87
|
+
<line x1="12" y1="1" x2="12" y2="3"></line>
|
|
88
|
+
<line x1="12" y1="21" x2="12" y2="23"></line>
|
|
89
|
+
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
|
90
|
+
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
|
91
|
+
<line x1="1" y1="12" x2="3" y2="12"></line>
|
|
92
|
+
<line x1="21" y1="12" x2="23" y2="12"></line>
|
|
93
|
+
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
|
94
|
+
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
|
95
|
+
</svg>
|
|
96
|
+
</symbol>
|
|
97
|
+
<symbol id="svg-moon" viewBox="0 0 24 24">
|
|
98
|
+
<title>Dark mode</title>
|
|
99
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
100
|
+
stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
|
|
101
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
|
102
|
+
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
|
|
103
|
+
</svg>
|
|
104
|
+
</symbol>
|
|
105
|
+
<symbol id="svg-sun-with-moon" viewBox="0 0 24 24">
|
|
106
|
+
<title>Auto light/dark, in light mode</title>
|
|
107
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
108
|
+
stroke-width="1" stroke-linecap="round" stroke-linejoin="round"
|
|
109
|
+
class="icon-custom-derived-from-feather-sun-and-tabler-moon">
|
|
110
|
+
<path style="opacity: 50%" d="M 5.411 14.504 C 5.471 14.504 5.532 14.504 5.591 14.504 C 3.639 16.319 4.383 19.569 6.931 20.352 C 7.693 20.586 8.512 20.551 9.25 20.252 C 8.023 23.207 4.056 23.725 2.11 21.184 C 0.166 18.642 1.702 14.949 4.874 14.536 C 5.051 14.512 5.231 14.5 5.411 14.5 L 5.411 14.504 Z"/>
|
|
111
|
+
<line x1="14.5" y1="3.25" x2="14.5" y2="1.25"/>
|
|
112
|
+
<line x1="14.5" y1="15.85" x2="14.5" y2="17.85"/>
|
|
113
|
+
<line x1="10.044" y1="5.094" x2="8.63" y2="3.68"/>
|
|
114
|
+
<line x1="19" y1="14.05" x2="20.414" y2="15.464"/>
|
|
115
|
+
<line x1="8.2" y1="9.55" x2="6.2" y2="9.55"/>
|
|
116
|
+
<line x1="20.8" y1="9.55" x2="22.8" y2="9.55"/>
|
|
117
|
+
<line x1="10.044" y1="14.006" x2="8.63" y2="15.42"/>
|
|
118
|
+
<line x1="19" y1="5.05" x2="20.414" y2="3.636"/>
|
|
119
|
+
<circle cx="14.5" cy="9.55" r="3.6"/>
|
|
120
|
+
</svg>
|
|
121
|
+
</symbol>
|
|
122
|
+
<symbol id="svg-moon-with-sun" viewBox="0 0 24 24">
|
|
123
|
+
<title>Auto light/dark, in dark mode</title>
|
|
124
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
125
|
+
stroke-width="1" stroke-linecap="round" stroke-linejoin="round"
|
|
126
|
+
class="icon-custom-derived-from-feather-sun-and-tabler-moon">
|
|
127
|
+
<path d="M 8.282 7.007 C 8.385 7.007 8.494 7.007 8.595 7.007 C 5.18 10.184 6.481 15.869 10.942 17.24 C 12.275 17.648 13.706 17.589 15 17.066 C 12.851 22.236 5.91 23.143 2.505 18.696 C -0.897 14.249 1.791 7.786 7.342 7.063 C 7.652 7.021 7.965 7 8.282 7 L 8.282 7.007 Z"/>
|
|
128
|
+
<line style="opacity: 50%" x1="18" y1="3.705" x2="18" y2="2.5"/>
|
|
129
|
+
<line style="opacity: 50%" x1="18" y1="11.295" x2="18" y2="12.5"/>
|
|
130
|
+
<line style="opacity: 50%" x1="15.316" y1="4.816" x2="14.464" y2="3.964"/>
|
|
131
|
+
<line style="opacity: 50%" x1="20.711" y1="10.212" x2="21.563" y2="11.063"/>
|
|
132
|
+
<line style="opacity: 50%" x1="14.205" y1="7.5" x2="13.001" y2="7.5"/>
|
|
133
|
+
<line style="opacity: 50%" x1="21.795" y1="7.5" x2="23" y2="7.5"/>
|
|
134
|
+
<line style="opacity: 50%" x1="15.316" y1="10.184" x2="14.464" y2="11.036"/>
|
|
135
|
+
<line style="opacity: 50%" x1="20.711" y1="4.789" x2="21.563" y2="3.937"/>
|
|
136
|
+
<circle style="opacity: 50%" cx="18" cy="7.5" r="2.169"/>
|
|
137
|
+
</svg>
|
|
138
|
+
</symbol>
|
|
139
|
+
<symbol id="svg-pencil" viewBox="0 0 24 24">
|
|
140
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
141
|
+
stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-pencil-code">
|
|
142
|
+
<path d="M4 20h4l10.5 -10.5a2.828 2.828 0 1 0 -4 -4l-10.5 10.5v4" />
|
|
143
|
+
<path d="M13.5 6.5l4 4" />
|
|
144
|
+
<path d="M20 21l2 -2l-2 -2" />
|
|
145
|
+
<path d="M17 17l-2 2l2 2" />
|
|
146
|
+
</svg>
|
|
147
|
+
</symbol>
|
|
148
|
+
<symbol id="svg-eye" viewBox="0 0 24 24">
|
|
149
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
150
|
+
stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-eye-code">
|
|
151
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
|
152
|
+
<path d="M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
|
|
153
|
+
<path
|
|
154
|
+
d="M11.11 17.958c-3.209 -.307 -5.91 -2.293 -8.11 -5.958c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6c-.21 .352 -.427 .688 -.647 1.008" />
|
|
155
|
+
<path d="M20 21l2 -2l-2 -2" />
|
|
156
|
+
<path d="M17 17l-2 2l2 2" />
|
|
157
|
+
</svg>
|
|
158
|
+
</symbol>
|
|
159
|
+
</svg>
|
|
160
|
+
|
|
161
|
+
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation" aria-label="Toggle site navigation sidebar">
|
|
162
|
+
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc" aria-label="Toggle table of contents sidebar">
|
|
163
|
+
<label class="overlay sidebar-overlay" for="__navigation"></label>
|
|
164
|
+
<label class="overlay toc-overlay" for="__toc"></label>
|
|
165
|
+
|
|
166
|
+
<a class="skip-to-content muted-link" href="#furo-main-content">Skip to content</a>
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
<div class="page">
|
|
171
|
+
<header class="mobile-header">
|
|
172
|
+
<div class="header-left">
|
|
173
|
+
<label class="nav-overlay-icon" for="__navigation">
|
|
174
|
+
<span class="icon"><svg><use href="#svg-menu"></use></svg></span>
|
|
175
|
+
</label>
|
|
176
|
+
</div>
|
|
177
|
+
<div class="header-center">
|
|
178
|
+
<a href="index.html"><div class="brand">SimStack II documentation</div></a>
|
|
179
|
+
</div>
|
|
180
|
+
<div class="header-right">
|
|
181
|
+
<div class="theme-toggle-container theme-toggle-header">
|
|
182
|
+
<button class="theme-toggle" aria-label="Toggle Light / Dark / Auto color theme">
|
|
183
|
+
<svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg>
|
|
184
|
+
<svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg>
|
|
185
|
+
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
|
186
|
+
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
|
187
|
+
</button>
|
|
188
|
+
</div>
|
|
189
|
+
<label class="toc-overlay-icon toc-header-icon" for="__toc">
|
|
190
|
+
<span class="icon"><svg><use href="#svg-toc"></use></svg></span>
|
|
191
|
+
</label>
|
|
192
|
+
</div>
|
|
193
|
+
</header>
|
|
194
|
+
<aside class="sidebar-drawer">
|
|
195
|
+
<div class="sidebar-container">
|
|
196
|
+
|
|
197
|
+
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
|
201
|
+
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
|
202
|
+
<input type="hidden" name="check_keywords" value="yes">
|
|
203
|
+
<input type="hidden" name="area" value="default">
|
|
204
|
+
</form>
|
|
205
|
+
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
|
|
206
|
+
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
|
|
207
|
+
<ul class="current">
|
|
208
|
+
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
|
|
209
|
+
<li class="toctree-l1"><a class="reference internal" href="workflows.html">Workflows</a></li>
|
|
210
|
+
<li class="toctree-l1"><a class="reference internal" href="ui_documentation.html">Graphical User Interface</a></li>
|
|
211
|
+
<li class="toctree-l1 current has-children"><a class="reference internal" href="developer_guide.html">Developer Guide</a><input aria-label="Toggle navigation of Developer Guide" checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul class="current">
|
|
212
|
+
<li class="toctree-l2"><a class="reference internal" href="data.html">Persisting and Visualizing Data</a></li>
|
|
213
|
+
<li class="toctree-l2"><a class="reference internal" href="datasets.html">Datasets</a></li>
|
|
214
|
+
<li class="toctree-l2"><a class="reference internal" href="lists.html">List Mixins</a></li>
|
|
215
|
+
<li class="toctree-l2"><a class="reference internal" href="array_lists.html">Array Lists</a></li>
|
|
216
|
+
<li class="toctree-l2"><a class="reference internal" href="tables.html">Tables</a></li>
|
|
217
|
+
<li class="toctree-l2"><a class="reference internal" href="files.html">File Management</a></li>
|
|
218
|
+
<li class="toctree-l2"><a class="reference internal" href="resource_config.html">Program Execution</a></li>
|
|
219
|
+
<li class="toctree-l2"><a class="reference internal" href="mass_runner.html">MassRunner</a></li>
|
|
220
|
+
<li class="toctree-l2"><a class="reference internal" href="fire_and_forget_runner.html">FireAndForgetRunner</a></li>
|
|
221
|
+
<li class="toctree-l2"><a class="reference internal" href="docker_nodes.html">Creating Docker Containers for SimStack Nodes</a></li>
|
|
222
|
+
<li class="toctree-l2"><a class="reference internal" href="testing_complex_nodes.html">Testing Complex Nodes</a></li>
|
|
223
|
+
<li class="toctree-l2"><a class="reference internal" href="database_migrations.html">Database Migrations</a></li>
|
|
224
|
+
<li class="toctree-l2"><a class="reference internal" href="ci_pipeline.html">CI Pipeline and Documentation Artifacts</a></li>
|
|
225
|
+
<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">Miscellaneous</a></li>
|
|
226
|
+
</ul>
|
|
227
|
+
</li>
|
|
228
|
+
<li class="toctree-l1"><a class="reference internal" href="installation.html">Simstack II Setup</a></li>
|
|
229
|
+
<li class="toctree-l1 has-children"><a class="reference internal" href="simstack/modules/modules.html">simstack</a><input aria-label="Toggle navigation of simstack" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
|
|
230
|
+
<li class="toctree-l2 has-children"><a class="reference internal" href="simstack/modules/simstack.html">simstack package</a><input aria-label="Toggle navigation of simstack package" class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
|
|
231
|
+
<li class="toctree-l3 has-children"><a class="reference internal" href="simstack/modules/simstack.core.html">simstack.core package</a><input aria-label="Toggle navigation of simstack.core package" class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
|
|
232
|
+
<li class="toctree-l4"><a class="reference internal" href="simstack/modules/simstack.core.services.html">simstack.core.services package</a></li>
|
|
233
|
+
</ul>
|
|
234
|
+
</li>
|
|
235
|
+
<li class="toctree-l3"><a class="reference internal" href="simstack/modules/simstack.methods.html">simstack.methods package</a></li>
|
|
236
|
+
<li class="toctree-l3"><a class="reference internal" href="simstack/modules/simstack.models.html">simstack.models package</a></li>
|
|
237
|
+
<li class="toctree-l3"><a class="reference internal" href="simstack/modules/simstack.tables.html">simstack.tables package</a></li>
|
|
238
|
+
<li class="toctree-l3"><a class="reference internal" href="simstack/modules/simstack.util.html">simstack.util package</a></li>
|
|
239
|
+
</ul>
|
|
240
|
+
</li>
|
|
241
|
+
</ul>
|
|
242
|
+
</li>
|
|
243
|
+
</ul>
|
|
244
|
+
|
|
245
|
+
</div>
|
|
246
|
+
</div>
|
|
247
|
+
|
|
248
|
+
</div>
|
|
249
|
+
|
|
250
|
+
</div>
|
|
251
|
+
</aside>
|
|
252
|
+
<div class="main">
|
|
253
|
+
<div class="content">
|
|
254
|
+
<div class="article-container">
|
|
255
|
+
<a href="#" class="back-to-top muted-link">
|
|
256
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
257
|
+
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
|
|
258
|
+
</svg>
|
|
259
|
+
<span>Back to top</span>
|
|
260
|
+
</a>
|
|
261
|
+
<div class="content-icon-container">
|
|
262
|
+
<div class="view-this-page">
|
|
263
|
+
<a class="muted-link" href="_sources/misc.rst.txt" title="View this page">
|
|
264
|
+
<svg><use href="#svg-eye"></use></svg>
|
|
265
|
+
<span class="visually-hidden">View this page</span>
|
|
266
|
+
</a>
|
|
267
|
+
</div>
|
|
268
|
+
<div class="theme-toggle-container theme-toggle-content">
|
|
269
|
+
<button class="theme-toggle" aria-label="Toggle Light / Dark / Auto color theme">
|
|
270
|
+
<svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg>
|
|
271
|
+
<svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg>
|
|
272
|
+
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
|
273
|
+
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
|
274
|
+
</button>
|
|
275
|
+
</div>
|
|
276
|
+
<label class="toc-overlay-icon toc-content-icon" for="__toc">
|
|
277
|
+
<span class="icon"><svg><use href="#svg-toc"></use></svg></span>
|
|
278
|
+
</label>
|
|
279
|
+
</div>
|
|
280
|
+
<article role="main" id="furo-main-content">
|
|
281
|
+
<section id="miscellaneous">
|
|
282
|
+
<h1>Miscellaneous<a class="headerlink" href="#miscellaneous" title="Link to this heading">¶</a></h1>
|
|
283
|
+
<section id="bugs">
|
|
284
|
+
<h2>BUGS:<a class="headerlink" href="#bugs" title="Link to this heading">¶</a></h2>
|
|
285
|
+
<p>Optional fields in embedded models are not handled correctly</p>
|
|
286
|
+
<p><a class="reference external" href="https://github.com/art049/odmantic/issues/370">https://github.com/art049/odmantic/issues/370</a>
|
|
287
|
+
<a class="reference external" href="https://github.com/art049/odmantic/issues/484">https://github.com/art049/odmantic/issues/484</a></p>
|
|
288
|
+
</section>
|
|
289
|
+
<section id="references">
|
|
290
|
+
<h2>References<a class="headerlink" href="#references" title="Link to this heading">¶</a></h2>
|
|
291
|
+
<p>The challenge in Simstack II is to exploit the features of Next-JS frontend
|
|
292
|
+
without forcing the developer to write Next-JS or server components. In
|
|
293
|
+
Simstack II each user has his/her own MongoDB database, there is an
|
|
294
|
+
additional database used exclusively for authentication.</p>
|
|
295
|
+
<div class="admonition note">
|
|
296
|
+
<p class="admonition-title">Note</p>
|
|
297
|
+
<p>Only one instance of a mongodb database server, of the fastapi
|
|
298
|
+
server and of the next-js frontend is required per installation.</p>
|
|
299
|
+
</div>
|
|
300
|
+
<p>The workflow developer customizes the appearance of workflows for submission,
|
|
301
|
+
data analysis and data visualization using three main mechanisms:</p>
|
|
302
|
+
<ul class="simple">
|
|
303
|
+
<li><p><a class="reference external" href="https://rjsf-team.github.io/react-jsonschema-form/">React JSON Schema Form</a></p></li>
|
|
304
|
+
<li><p><a class="reference external" href="https://www.ag-grid.com/">AG-Grid</a> is used to generate interactive tables (via Artifacts)</p></li>
|
|
305
|
+
<li><p><a class="reference external" href="https://charts.ag-grid.com/">AG-Charts</a> is used to generate interactive graphs (via Artifacts)</p></li>
|
|
306
|
+
</ul>
|
|
307
|
+
</section>
|
|
308
|
+
<section id="customizing-simstack-models">
|
|
309
|
+
<h2>Customizing Simstack Models<a class="headerlink" href="#customizing-simstack-models" title="Link to this heading">¶</a></h2>
|
|
310
|
+
<div class="admonition note">
|
|
311
|
+
<p class="admonition-title">Note</p>
|
|
312
|
+
<p>General information about Simstack models</p>
|
|
313
|
+
</div>
|
|
314
|
+
<p>Simstack models are built on top of <cite>odmantic</cite>, which uses <cite>pydantic</cite> for data validation.
|
|
315
|
+
By decorating a class with <cite>@simstack_model</cite>, you enable additional UI-related features.
|
|
316
|
+
You can customize how a model appears in the GUI by implementing <cite>json_schema</cite> and <cite>ui_schema</cite> methods.
|
|
317
|
+
Refer to <a class="reference internal" href="data.html#persisting-data"><span class="std std-ref">Persisting and Visualizing Data</span></a> for more details.</p>
|
|
318
|
+
<p>Running the above code as a workflow we would like to achieve the following:</p>
|
|
319
|
+
<ul class="simple">
|
|
320
|
+
<li><p>code can be executed on remote resources (possibly in parallel)</p></li>
|
|
321
|
+
<li><p>users can inspect the results in a GUI</p></li>
|
|
322
|
+
<li><p>results can be reused when the workflow failed or in other workflows</p></li>
|
|
323
|
+
<li><p>the workflow can be run from a GUI</p></li>
|
|
324
|
+
<li><p>(workflows can be created from existing components in a GUI)</p></li>
|
|
325
|
+
</ul>
|
|
326
|
+
<p>To address the first points, all data must be serializable. This can be achieved by pickling the inputs/outputs but
|
|
327
|
+
then the data is hidden in the pickled string and not searchable. Here we have chosen odmantic classes to persist the
|
|
328
|
+
data in a database. See: <span class="xref std std-ref">persisting-results-section</span>. This has the charm that routes to access this data can be
|
|
329
|
+
automatically generated.</p>
|
|
330
|
+
<p>Overall we need four “servers” to run the workflow:</p>
|
|
331
|
+
<ul class="simple">
|
|
332
|
+
<li><p>The “workflow server” that manages and executes workflows</p></li>
|
|
333
|
+
<li><p>The “runners” that execute parts of workflows on remote resources</p></li>
|
|
334
|
+
<li><p>The “database server” provides an API to the database for the GUI</p></li>
|
|
335
|
+
<li><p>The webserver that serves the GUI</p></li>
|
|
336
|
+
</ul>
|
|
337
|
+
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="nd">@node</span><span class="p">(</span><span class="n">parameters</span><span class="o">=</span><span class="n">Parameters</span><span class="p">(</span><span class="n">resource</span><span class="o">=</span><span class="s2">"my_resource"</span><span class="p">,</span> <span class="n">queue</span><span class="o">=</span><span class="s2">"slurm-queue"</span><span class="p">))</span>
|
|
338
|
+
<span class="k">def</span><span class="w"> </span><span class="nf">my_node</span><span class="p">(</span><span class="n">arg1</span><span class="p">:</span> <span class="n">Model1</span><span class="p">,</span> <span class="n">arg2</span><span class="p">:</span> <span class="n">Model2</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-></span> <span class="n">SimstackResult</span><span class="p">:</span>
|
|
339
|
+
<span class="c1"># do something with inputs</span>
|
|
340
|
+
<span class="k">return</span> <span class="n">outputs</span>
|
|
341
|
+
</pre></div>
|
|
342
|
+
</div>
|
|
343
|
+
<div class="admonition note">
|
|
344
|
+
<p class="admonition-title">Note</p>
|
|
345
|
+
<ul class="simple">
|
|
346
|
+
<li><p>Each node has a unique task_id which is the ObjectId of entry in the
|
|
347
|
+
node_registry table in the database</p></li>
|
|
348
|
+
<li><p>Before control is passed to a node, the calling function will create
|
|
349
|
+
a directory as workdir/node_name/node_id which is unique to the node.</p></li>
|
|
350
|
+
<li><p>all files generated by the node should be written into this directory.</p></li>
|
|
351
|
+
<li><p>nodes can by synchronous or async functions.</p></li>
|
|
352
|
+
</ul>
|
|
353
|
+
</div>
|
|
354
|
+
<p><strong>Allowed Arguments</strong></p>
|
|
355
|
+
<ul class="simple">
|
|
356
|
+
<li><p>All <strong>positional</strong> arguments of the wrapped function (my_node) must be
|
|
357
|
+
<strong>registered</strong> odmantic Models. These arguments are automatically persisted
|
|
358
|
+
in the database.</p></li>
|
|
359
|
+
<li><p>The my_node function must have **kwargs even if they are not used in the
|
|
360
|
+
function.</p></li>
|
|
361
|
+
<li><p>**kwargs is used to pass information to process the node, but
|
|
362
|
+
should not be used to pass arguments that affect the result of the
|
|
363
|
+
function. Presently, Model-type arguments in the **kwargs are not persisted
|
|
364
|
+
in the database which precludes the execution of such nodes on resources
|
|
365
|
+
which are different from the function is called.</p></li>
|
|
366
|
+
</ul>
|
|
367
|
+
<div class="admonition important">
|
|
368
|
+
<p class="admonition-title">Important</p>
|
|
369
|
+
<p>Only positional arguments should affect the outcome of the function execution</p>
|
|
370
|
+
</div>
|
|
371
|
+
<p><strong>Return Types</strong></p>
|
|
372
|
+
<p>While it is easy to check whether the variables
|
|
373
|
+
passed to nodes can be persisted in the database, this can be checked for
|
|
374
|
+
results only in post-processing.</p>
|
|
375
|
+
</section>
|
|
376
|
+
</section>
|
|
377
|
+
|
|
378
|
+
</article>
|
|
379
|
+
</div>
|
|
380
|
+
<footer>
|
|
381
|
+
|
|
382
|
+
<div class="related-pages">
|
|
383
|
+
<a class="next-page" href="installation.html">
|
|
384
|
+
<div class="page-info">
|
|
385
|
+
<div class="context">
|
|
386
|
+
<span>Next</span>
|
|
387
|
+
</div>
|
|
388
|
+
<div class="title">Simstack II Setup</div>
|
|
389
|
+
</div>
|
|
390
|
+
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
|
391
|
+
</a>
|
|
392
|
+
<a class="prev-page" href="ci_pipeline.html">
|
|
393
|
+
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
|
394
|
+
<div class="page-info">
|
|
395
|
+
<div class="context">
|
|
396
|
+
<span>Previous</span>
|
|
397
|
+
</div>
|
|
398
|
+
|
|
399
|
+
<div class="title">CI Pipeline and Documentation Artifacts</div>
|
|
400
|
+
|
|
401
|
+
</div>
|
|
402
|
+
</a>
|
|
403
|
+
</div>
|
|
404
|
+
<div class="bottom-of-page">
|
|
405
|
+
<div class="left-details">
|
|
406
|
+
<div class="copyright">
|
|
407
|
+
Copyright © 2026, Wolfgang Wenzel
|
|
408
|
+
</div>
|
|
409
|
+
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
|
|
410
|
+
|
|
411
|
+
<a href="https://github.com/pradyunsg/furo">Furo</a>
|
|
412
|
+
|
|
413
|
+
</div>
|
|
414
|
+
<div class="right-details">
|
|
415
|
+
|
|
416
|
+
</div>
|
|
417
|
+
</div>
|
|
418
|
+
|
|
419
|
+
</footer>
|
|
420
|
+
</div>
|
|
421
|
+
<aside class="toc-drawer">
|
|
422
|
+
|
|
423
|
+
|
|
424
|
+
<div class="toc-sticky toc-scroll">
|
|
425
|
+
<div class="toc-title-container">
|
|
426
|
+
<span class="toc-title">
|
|
427
|
+
On this page
|
|
428
|
+
</span>
|
|
429
|
+
</div>
|
|
430
|
+
<div class="toc-tree-container">
|
|
431
|
+
<div class="toc-tree">
|
|
432
|
+
<ul>
|
|
433
|
+
<li><a class="reference internal" href="#">Miscellaneous</a><ul>
|
|
434
|
+
<li><a class="reference internal" href="#bugs">BUGS:</a></li>
|
|
435
|
+
<li><a class="reference internal" href="#references">References</a></li>
|
|
436
|
+
<li><a class="reference internal" href="#customizing-simstack-models">Customizing Simstack Models</a></li>
|
|
437
|
+
</ul>
|
|
438
|
+
</li>
|
|
439
|
+
</ul>
|
|
440
|
+
|
|
441
|
+
</div>
|
|
442
|
+
</div>
|
|
443
|
+
</div>
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
</aside>
|
|
447
|
+
</div>
|
|
448
|
+
</div><script src="_static/documentation_options.js?v=5929fcd5"></script>
|
|
449
|
+
<script src="_static/doctools.js?v=fd6eb6e6"></script>
|
|
450
|
+
<script src="_static/sphinx_highlight.js?v=6ffebe34"></script>
|
|
451
|
+
<script src="_static/scripts/furo.js?v=46bd48cc"></script>
|
|
452
|
+
<script data-docs-built-at="2026-07-17 10:50:10 UTC" src="_static/docs-build-badge.js?v=57cb9fc6"></script>
|
|
453
|
+
</body>
|
|
454
|
+
</html>
|
|
Binary file
|