Skip to main content

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.

Metadata

Release files for sund 2.5.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 sund 2.5.0
File Size Uploaded
sund-2.5.0.tar.gz 388.7 kB Details

Release files / sund-2.5.0.tar.gz

Download URL sund-2.5.0.tar.gz
Size 388.7 kB
Tags Source
SHA-256 checksum
How to use checksums
923129d0dd19347d3dec2f569f45ca8584052495a7e7b179a267d5f5d47418c8
BLAKE2b-256 checksum
How to use checksums
8cb628e3ae42b2e8fddff6d867556784ef63835b87b311991aae0ba33d3813c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

2.5.0 This release

1 release file

2.4.2

1 release file

2.4.1

1 release file

2.4.0

1 release file

2.3.2

1 release file

2.3.1

1 release file

2.3.0

1 release file

2.2.3

1 release file

2.2.2

1 release file

2.2.1

1 release file

2.2.0

1 release file

2.1.0

1 release file

2.0.4

1 release file

2.0.3

1 release file

2.0.2

1 release file

2.0.1

1 release file

2.0.0

1 release file

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