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.8.1
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 | |
|---|---|---|---|---|
| sund-2.8.1.tar.gz | 389.1 kB | Without provenance | Details |
Release files / sund-2.8.1.tar.gz
| Download URL | sund-2.8.1.tar.gz |
|---|---|
| Size | 389.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0636910fdc85bec18346d8074e43a716be7852f5ba6a2887acb3daf6e6678d65
|
|
BLAKE2b-256 checksum How to use checksums |
c8e28cb02a38cef67e6768c1de6a4633703d09d323b2bd5f570d618a9f7db36d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Security for sund 2.8.1
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.