SBML Math <-> SymPy
Project description
sbmlmath — a Python library for handling SBML MathML
This is a Python library for interconverting SymPy expressions and SBML-MathML. SBML uses a subset of MathML that this library aims to support. This is not (intended to be) a general MathML parser.
Main functionality:
- sympy -> SBML MathML
- SBML MathML -> sympy
- in particular for cases where
sympy.sympify(libsbml.formulaToL3String(...))
won't do the job (mind the differences operator precedence between sympy/Python and libsbml L3 formulas!) - retaining unit annotations and other
<ci>
attributes
- in particular for cases where
NOTE: This is under development and the API is to be considered unstable
Python support policy: sbmlmath follows NEP 29.
Usage
from sbmlmath import SBMLMathMLPrinter, SBMLMathMLParser
import sympy as sp
sympy_expr = sp.sympify("A ** B + exp(C) * D")
mathml = SBMLMathMLPrinter().doprint(sympy_expr)
print(mathml)
cycled_sympy = SBMLMathMLParser().parse_str(mathml)
print(cycled_sympy)
assert sympy_expr == cycled_sympy
Documentation
Under construction at sbmlmath.readthedocs.io.
Installation
Releases from PyPI:
pip install sbmlmath
The latest development version from GitHub:
pip install https://github.com/dweindl/sbmlmath/archive/main.zip
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
sbmlmath-0.1.1.tar.gz
(20.1 kB
view hashes)