SUND toolbox
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)
| 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
|