Skip to main content

A simulation toolbox for ODE and DAE systems, with focus on systems biology applications.

Project description

SUND toolbox

SUND logo

SUND (Simulation Using Nonlinear Dynamic models) is a Python package for high‑level, object‑oriented modeling and fast simulation of ODE/DAE systems with complex time‑dependent inputs and hierarchical model structures. Models compile against a SUNDIALS backend for performance and can be seamlessly connected by declaring inputs and outputs.

Supported Python: 3.10–3.14 on Linux (x86_64), Windows (x86_64) and macOS (Intel & ARM).

Requirements

A C++ compiler (GCC, Clang, or MSVC) is required to install SUND and to compile models for efficient simulations. Pre-built wheels are not provided, as model compilation is performed locally. Ensure your system has a working C++ compiler before installing.

Install

Install using pip or uv (requires compiler):

pip install sund   # or: uv add sund

Quick start

Minimal end‑to‑end example:

import sund

# 1. Generate a template model file
sund.save_model_template("example_model.txt", model_name="Example")

# 2. Install (compiles → C extension module under sund/models)
sund.install_model("example_model.txt")

# 3. Load an instance
model = sund.load_model("Example")

# 4. Simulate (time vector in model time unit; default from template is 's')
sim = sund.Simulation(models=[model], time_vector=[0, 1, 2, 3], time_unit=model.time_unit)
sim.simulate()

# 5. Get the results as a dict and print
print(sim.features_as_dict())

See the docs for activities (time‑varying inputs), multiple models, events, validation.

Documentation

Full user & API docs: https://isbgroup.eu/sund-toolbox (versioned; latest alias always points to newest release).

Model validation (optional)

Validate a model file or content before installing:

import sund
results = sund.validate_model_file("example_model.txt", verbose=True)

Citation

If you use SUND in academic work, please cite the project (formal citation text will be added once available).

Getting help

Open an issue or start a discussion on the project GitLab. Bug reports with a minimal reproducer and model snippet are appreciated.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sund-2.2.1.tar.gz (373.8 kB view details)

Uploaded Source

File details

Details for the file sund-2.2.1.tar.gz.

File metadata

  • Download URL: sund-2.2.1.tar.gz
  • Upload date:
  • Size: 373.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for sund-2.2.1.tar.gz
Algorithm Hash digest
SHA256 776d74b8d1a25c1abb4f54a82daa678f61b17f1d3da75e587557e6e3dd806eaf
MD5 87511dae4a9d9539a7ab31f1fab59164
BLAKE2b-256 43b88685ce89b8996effc418040a50a09ee7b98df67dca2492670fc67137c287

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page