Skip to main content

Process-Bigraph

PyPI GitHub Pages

Process-Bigraph is a compositional runtime and protocol for building and executing multiscale biological models from interoperable processes.

It provides a shared architectural layer for:

  • declaring process interfaces
  • wiring processes through typed shared state
  • orchestrating execution across heterogeneous timescales
  • supporting dynamic structure (workflows, division, graph rewrites)

Process-Bigraph is the execution core of Vivarium 2.0, designed to integrate models built with different formalisms—including ODEs, FBA, agent-based models, spatial solvers, and machine-learning components—into a single coherent simulation.

Process Bigraph composition framework


🧩 What is a Process Bigraph?

A process bigraph combines:

  • Typed stores — hierarchical, schema-validated state defined with bigraph-schema
  • Processes — executable components with explicit input/output ports
  • Composites — encapsulated sub-simulations with their own internal structure
  • Orchestration patterns — multi-timestepping, directed workflows, and event-driven rewrites

Processes do not mutate state directly. Instead, they emit typed deltas that are merged by the runtime.

This allows:

  • numerical updates
  • structural rewrites
  • scheduling and orchestration

to coexist under a single execution semantics.

In this sense, Process-Bigraph is a composition protocol, not a domain-specific simulator.


📄 Paper reference

The conceptual framework and formal semantics of process bigraphs are introduced in:

Agmon, E. & Spangler, R. K.
Process Bigraphs and the Architecture of Compositional Systems Biology
https://arxiv.org/abs/2512.23754


🚀 Getting Started

Installation

pip install process-bigraph

📘 Tutorials

The Process-Bigraph tutorials are executable Jupyter notebooks, rendered to HTML and published automatically on GitHub Pages.

Learning Path (Featured Tutorials)

More tutorials are added continuously and appear automatically in the index.

Architecture

  • The framework, end to endstart here to understand the whole system: what the objects are (documents, sites, handles), how they compose, the higher-order DAG, templates and gating, content-addressed artifacts, the git: protocol, and the laws everything else follows from. doc/architecture.md

Topic Guides

  • Emitters — Recording Simulation Results Built-in emitters (RAM, console, JSON, SQLite), how to wire them, retrieve results, store runs long-term, and write your own. doc/emitters.md

  • Tick lifecyclehow a step network is ordered and advanced, and how a protocol runtime batches remote dispatch. doc/tick_lifecycle.md

  • Distributed lifecyclesrunning parts of a composite off-process. doc/distributed_lifecycles.md


🧪 Reference Implementation: spatio-flux

Process-Bigraph is exercised end-to-end in spatio-flux, a multiscale reference model built entirely using the process-bigraph protocol.

spatio-flux composes spatial fields, particle dynamics, and metabolic processes using typed shared state and declarative orchestration.

GitHub: https://github.com/vivarium-collective/spatio-flux
Live test report: https://vivarium-collective.github.io/spatio-flux/report/index.html


🔗 Related Resources


📜 License

Process-Bigraph is open-source software released under the
Apache 2 License.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

process_bigraph-1.7.1.tar.gz (149.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

process_bigraph-1.7.1-py3-none-any.whl (161.8 kB view details)

Uploaded Python 3

File details

Details for the file process_bigraph-1.7.1.tar.gz.

File metadata

  • Download URL: process_bigraph-1.7.1.tar.gz
  • Upload date:
  • Size: 149.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for process_bigraph-1.7.1.tar.gz
Algorithm Hash digest
SHA256 7f778ea866e1dbf687368e5de7842756fa464c47205b45f294fd7d5df3b63dc0
MD5 b8e58008bda3e0bcf5f245131723280f
BLAKE2b-256 7245c60c8be068e38f1c052c9f68ef8699994bd51a9f63081d7c196b19482622

See more details on using hashes here.

Provenance

The following attestation bundles were made for process_bigraph-1.7.1.tar.gz:

Publisher: release.yml on vivarium-collective/process-bigraph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file process_bigraph-1.7.1-py3-none-any.whl.

File metadata

  • Download URL: process_bigraph-1.7.1-py3-none-any.whl
  • Upload date:
  • Size: 161.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for process_bigraph-1.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 189d4ff29e039327b0064ab3fd1d067a25d919cb240406c47041fac426205dd6
MD5 6a0bd5a977597cf821a54bcd302922fa
BLAKE2b-256 eacce29e46791f892d6c1afa2d1aa6bff019cce15b9a510d4dfd979b7d9a6618

See more details on using hashes here.

Provenance

The following attestation bundles were made for process_bigraph-1.7.1-py3-none-any.whl:

Publisher: release.yml on vivarium-collective/process-bigraph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.7.1

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page