Skip to main content

ST4SD Runtime Core

This repository contains the runtime-core of the Simulation Toolkit for Scientific Discovery (ST4SD). The ST4SD-Runtime is a python framework, and associated services, for creating and deploying virtual-experiments - data-flows which embody the measurement of properties of systems.

A data-flow is a workflow which allows consumers to run concurrently with their producers if desired.

Developers describe their data-flows using a YAML configuration file, which is interpreted and executed by the ST4SD-Runtime.

ST4SD-Runtime supports multiple execution-backends including Kubernetes and LSF and a single YAML file can support multiple-archs and multiple run-modes via overlays.

The ST4SD-Runtime also interacts with the ST4SD-Datastore, a database which allows querying of executed virtual-experiments and retrieval of their data.

There are three parts to the ST4SD-Runtime

  • st4sd-runtime-core: The core python framework (this git repository) for describing and executing virtual experiments
  • st4sd-runtime-k8s: Extensions which enable to running and managing virtual-experiments on k8s clusters
  • st4sd-runtime-service: A RESTapi based service allowing users to add, start, stop and query virtual-experiments

Features

  • Cross-platform data-flows
    • Supports multiple backends (LSF, OpenShift/Kubernetes, local)
    • Abstracts differences between backends allowing a single component description to be used
    • Variables can be used to encapsulate platform specific options
    • Can define component and platform specific environments
  • Co-processing model
    • Consumers can be configured to run repeatedly while their producers are alive
  • Simple to replicate workflow sub-graphs over sets of inputs
  • Supports do-while constructs
  • Handles task persistence across backend allocation windows and allows user customisable restarts
  • Deploy workflows directly from github (Kubernetes stack)
  • Store and retrieve data and metadata from st4sd-datastore

Lightning Start

If you have

  1. python3 with virtualenv
  2. Have ssh access to GitHub set up

The following snippet will install st4sd-runtime-core and run a toy-workflow on your laptop

virtualenv -p python3 $HOME/st4sd-runtime-test
source $HOME/st4sd-runtime-test/bin/activate
pip install st4sd-runtime-core[deploy]
git clone http://github.com/st4sd/sum-numbers.git
elaunch.py --nostamp -l40 sum-numbers

This will create a new virtualenv called st4sd-runtime-test at $HOME/st4sd-runtime-test and install st4sd-runtime-core into it. It will also clone a repository into a directory called sum-numbers in whatever directory you run the above commands in. It will then run a toy-workflow that takes a couple of minutes to run. The toy workflow output will be in a directory called sum-numbers.instance

You can learn more about the toy-workflow, and workflow specification, here.

References

If you use ST4SD in your projects, please consider citing the following:

@software{st4sd_2022,
author = {Johnston, Michael A. and Vassiliadis, Vassilis and Pomponio, Alessandro and Pyzer-Knapp, Edward},
license = {Apache-2.0},
month = {12},
title = {{Simulation Toolkit for Scientific Discovery}},
url = {https://github.com/st4sd/st4sd-runtime-core},
year = {2022}
}

More Information

Our documentation website contains detailed information on installing ST4SD, writing and running virtual-experiments, along with much more.

Metadata

Release files for st4sd-runtime-core 2.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for st4sd-runtime-core 2.7.0
File Size Uploaded Provenance Actions
st4sd_runtime_core-2.7.0.tar.gz 752.6 kB Without provenance Details for st4sd_runtime_core-2.7.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for st4sd-runtime-core 2.7.0
File Interpreter ABI Platform Actions
st4sd_runtime_core-2.7.0-py3-none-any.whl Python 3 none any Details for st4sd_runtime_core-2.7.0-py3-none-any.whl

Total release size: 1.5 MB

Release files / st4sd_runtime_core-2.7.0.tar.gz

Download URL st4sd_runtime_core-2.7.0.tar.gz
Size 752.6 kB
Tags Source
SHA-256 checksum
How to use checksums
dff337d68dc640ddbb43709cd61fb74299d3601b9c6a6729e66f97fb909e52cd
BLAKE2b-256 checksum
How to use checksums
0e07c351d455762ea2cb040cd9bcdc28582fa712be56092807d735c1a4c5b6a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.13

Release files / st4sd_runtime_core-2.7.0-py3-none-any.whl

Download URL st4sd_runtime_core-2.7.0-py3-none-any.whl
Size 708.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
358d114b45109e4b2247b83c685866ce1b4c38fe660b6cfdf33b42c5a6148e25
BLAKE2b-256 checksum
How to use checksums
a1e1937f9c0bf11173050eed719f884adf04c71b945e03401f46c0c4308310a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.13

Security for st4sd-runtime-core 2.7.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.7.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page