Installation¶
sbmlsim requires python >= 3.13 and is available from pypi. It is tested on Linux, macOS and Windows. The simulations run on libroadrunner, which ships binary wheels for all three platforms, so no compiler is needed.
With uv¶
uv is the recommended way to install the package. In a project it is added as a dependency, which resolves and locks it together with the rest of the environment:
Into an existing virtual environment it is installed through the pip interface of uv:
With pip¶
Development version¶
The current state of the develop branch is installed directly from GitHub:
or, with pip,
To work on the repository itself, with the test and documentation tooling, see Development.
Dependencies¶
sbmlsim builds on the packages of the COMBINE ecosystem and the scientific python stack. They are installed with it:
| package | used for |
|---|---|
| libroadrunner | simulation of the SBML models |
| sbmlutils, python-libsbml | reading, validating and changing SBML models |
| pymetadata, python-libsedml, python-libnuml | COMBINE archives, SED-ML and NuML |
| numpy, pandas, xarray, scipy, sympy | numerics, data and results |
| pint | units and unit conversions |
| petab, SALib | parameter fitting problems and global sensitivity analysis |
| matplotlib, seaborn, jinja2 | plots and reports |
Logging¶
sbmlsim does not configure logging. It logs to loggers below the sbmlsim logger and leaves handlers, levels and formatting to the application, so the messages of the package stay under your control:
import logging
logging.basicConfig(level=logging.INFO)
logging.getLogger("sbmlsim").setLevel(logging.WARNING)
For scripts and interactive work the rich output of the package can be turned on explicitly: