momapy
momapy is a library for working with molecular maps. It currently supports SBGN and CellDesigner maps. Its key feature is its definition of a map, that is formed of two entities: a model, that describes what concepts are represented, and a layout, that describes how these concepts are represented. This definition is borrowed from SBML and its extensions layout+render, that allow users to add a layout to an SBML model. momapy aims at extending this definition to SBGN and CellDesigner maps.
Features of momapy:

Installation
momapy is available as a Python package and can be installed with pip as follows (Python >=3.10,<=3.12):
pip install momapy
Optional dependencies
momapy includes several optional dependencies for rendering maps with the skia or cairo backends:
skia
pip install momapy[skia]
This extra depends on skia-python (https://github.com/kyamagu/skia-python), which itself depends on the following system packages:
- opengl
- libegl
- fontconfig
cairo
pip install momapy[cairo]
This extra depends on pygobject (https://pygobject.gnome.org/guide/sysdeps.html), which itself depends on the following system packages:
- glib
- libffi
all
All optional dependencies can also be installed together:
pip install momapy[all]
Usage
Typical usage of momapy includes reading a map and exploring its model:
Or rendering its layout:
momapy also provides a command-line interface:
See CLI reference for details.
You can also customize the appearance using CSS-like stylesheets:
User manual
A user manual showcasing the main feature of momapy is available here: User manual.
Documentation
A complete documentaton for momapy's API is available here: API reference.