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.11–3.15 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.12.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| sund-2.12.2.tar.gz | 404.9 kB | Without provenance | Details for sund-2.12.2.tar.gz |
Release files / sund-2.12.2.tar.gz
| Download URL | sund-2.12.2.tar.gz |
|---|---|
| Size | 404.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
954e25096bfdffa8454f9ca8008c290a04762df635bb0cf64d44581a31767a81
|
|
BLAKE2b-256 checksum How to use checksums |
40b8566ccbf1d7c4968e5475afab3495ed4f060ac9bbbe27efb88ef59755a040
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Security for sund 2.12.2
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.