Skip to main content

Documentation Open In Colab CI

Regarding SMS API:

The SMS(Simulating Microbial Systems) API allows users to design, run, and analyze reproducible simulations of dynamic cellular processes in Escherichia coli. This tool aims to allow users to configure, run, and introspect simulations of the vEcoli(Vivarium-Ecoli) model. The SMS API uniquely acts as both a server and client, using FastAPI, Uvicorn, and Marimo to serve a REST API as well as host Marimo user interfaces. The full comprehensive REST API documentation is available at https://sms.cam.uchc.edu/redoc. Please refer to the aforementioned documentation for the complete details of the request query parameters and body data required for each outlined endpoint.

Server-side sits kubernetes cluster containing a containerized ASGI(Asynchronous Server Gateway Interface) application using Python and FastAPI which is hosted and available at https://sms.cam.uchc.edu/. An API router of endpoints is assigned for each API in this project's scope and available by name in the request url. The primary modes of interaction exist within the "/wcm" and "/core" endpoint routers. For example, the primary single-cell API ("core") endpoints are hosted at https://sms.cam.uchc.edu/core. A more generalized, Nextflow-based group of endpoints that is actively being developed is available at https://sms.cam.uchc.edu/wcm. Internally it uses a simulation service that dynamically creates and dispatches SLURM job scripts which are executed through an authenticated connection with a given HPC(High Performance Computing) environment.

The /wcm endpoint router enables the design, execution, and introspection of simulations using vEcoli's Nextflow API. This is the preferred mode of interaction with the SMS API, as it enables users to customize simulation configurations, create variants, run analysis, and execute a "batch" of one or many ecoli simulation jobs. A typical end-to-end SMS API /wcm workflow consists of the following:

This project’s “client” behavior is leveraged by the utilization of Marimo(python) components rather than a traditional javascript-based frontend framework. A static HTML Jinja template is served as an extension of the FastAPI/Uvicorn backend server enabling interactive simulation introspection. There exists a user interface for each router within the set of routers exposed by the REST API. The user interface makes calls to the REST API to enable non-programmatic interaction with the aforementioned endpoints. This UI is accessible by navigating to https://sms.cam.uchc.edu/.

Metadata

Release files for libsms 0.2.9

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

Source distribution (sdist)

Source distribution for libsms 0.2.9
File Size Uploaded Provenance Actions
libsms-0.2.9.tar.gz 44.7 kB Without provenance Details for libsms-0.2.9.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for libsms 0.2.9
File Interpreter ABI Platform Actions
libsms-0.2.9-py3-none-any.whl Python 3 none any Details for libsms-0.2.9-py3-none-any.whl

Total release size: 174.7 kB

Release files / libsms-0.2.9.tar.gz

Download URL libsms-0.2.9.tar.gz
Size 44.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d7bf0644470075cf2b25284cc1210c381ca3d178b3e194bce3a9adfaa5d6cbc5
BLAKE2b-256 checksum
How to use checksums
1c6f62d1073460052ab90829d056631235bf1ee885018afc15e17ef0827ae314
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.5

Release files / libsms-0.2.9-py3-none-any.whl

Download URL libsms-0.2.9-py3-none-any.whl
Size 130.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6fd4909d1aed5e4244d7fa526e31e3a5e58774a372254edd6bfa9abf9462afce
BLAKE2b-256 checksum
How to use checksums
c3edd67be9b57e14f141926b737c0dbba86a6e0ea15e23ad82e1a5a7a904c550
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.5

Security for libsms 0.2.9

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.

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