Skip to main content

sbml2cellml: conversion between SBML and CellML

GitHub Actions CI/CD Status Documentation Version Python Versions MIT License

sbml2cellml converts between the Systems Biology Markup Language (SBML) and CellML 2.0, with documentation available from https://matthiaskoenig.github.io/sbml2cellml.

Features include

  • conversion of compartments, parameters, species, assignment and rate rules and reactions into a single CellML component
  • conversion of the units: unit definitions, the units of numbers and, for a model with a complete unit annotation, the units of every variable
  • conversion of CellML models to SBML: parameters with rules, unit definitions and units of numbers, resets as events, imports resolved
  • validation of the result with libcellml
  • timecourse simulation of the SBML with roadrunner and of the CellML with libopencor, both optional
  • the sbml2cellml and cellml2sbml command lines
  • the SBML test suite harness: every semantic case through both converters and both simulators, results on the SBML test suite page
pip install sbml2cellml
sbml2cellml model.xml -o model.cellml
cellml2sbml model.cellml -o model.xml

In the SBML to CellML direction events and delays are not converted yet, see the conversion issues.

SBML test suite

Every semantic case of the SBML test suite is simulated with roadrunner (reference), converted to CellML (sbml2cellml), simulated with libopencor (libopencor), converted back to SBML (cellml2sbml) and simulated with roadrunner again (roundtrip). The details are on the SBML test suite page.

Cases of the SBML test suite which pass, fail and skip the stages of the roundtrip

If you have any questions or issues please open an issue.

How to cite

DOI

If you use sbml2cellml please cite the archived software on Zenodo:

König, M. (2026). sbml2cellml: conversion of SBML models to CellML (Version 0.3.0) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.22838601

@software{konig_sbml2cellml,
  author    = {König, Matthias},
  title     = {sbml2cellml: conversion of SBML models to CellML},
  year      = {2026},
  month     = sep,
  version   = {0.3.0},
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.22838601},
  url       = {https://doi.org/10.5281/zenodo.22838601},
}

License

Funding

Matthias König was supported by the Federal Ministry of Education and Research (BMBF, Germany) within the research network Systems Medicine of the Liver (LiSyM, grant number 031L0054) and within ATLAS by grant number 031L0304B, and by the German Research Foundation (DFG) within the Research Unit Program FOR 5151 QuaLiPerF (Quantifying Liver Perfusion-Function Relationship in Complex Resection - A Systems Medicine Approach) by grant number 436883643 and by grant number 465194077 (Priority Programme SPP 2311, Subproject SimLivA).

© 2025-2026 Matthias König

Release files for sbml2cellml 0.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sbml2cellml 0.3.2
File Size Uploaded
sbml2cellml-0.3.2.tar.gz 793.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sbml2cellml 0.3.2
File Interpreter ABI Platform
sbml2cellml-0.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 871.9 kB

Release files / sbml2cellml-0.3.2.tar.gz

Download URL sbml2cellml-0.3.2.tar.gz
Size 793.2 kB
Tags Source
SHA-256 checksum
How to use checksums
60f9bceb9999b9cb9b922a5baf2e5fcb591b255b394a41b781df2d5d94dabe71
BLAKE2b-256 checksum
How to use checksums
3ce4f860346555e15465d6494d59323b0b1214f2c31f8256262b0bac0938bddb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / sbml2cellml-0.3.2-py3-none-any.whl

Download URL sbml2cellml-0.3.2-py3-none-any.whl
Size 78.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d9e9cf9461b9f5577db4326de7f9fbd4593d07b298724ce64bf1dddfb1079470
BLAKE2b-256 checksum
How to use checksums
3d48541dba1c842f6a07a7733c5c1114fa4fea0ef36f4d4c55d8a4b0711a35a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release history Release notifications | RSS feed

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

This release

0.3.2 This release

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

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