Skip to main content

viva-catalog

The ecosystem ledger for the vivarium / process-bigraph workbench.

It answers two questions for the vivarium-workbench Registry, so a workbench can browse the whole ecosystem — not just what's installed locally — and offer Install to use:

File What it is
viva_catalog/modules.json The registry of ecosystem repos — name, source, description, tags. Generated by discovering every public vivarium-collective repo with the viva-marketplace GitHub topic.
viva_catalog/ecosystem-index.json The aggregated artifact index — every repo's processes / steps / composites / studies / investigations (name + description + counts). Regenerated by CI.

Previously the registry lived in viva_superpowers/catalog/modules.json (the Claude-Code plugin). It moved here so the ledger is owned by a dedicated repo.

Adding a repo? Just add the viva-marketplace GitHub topic to your public repo (gh repo edit vivarium-collective/<repo> --add-topic viva-marketplace) — the nightly builder discovers it, refreshes modules.json, and scans its source into the index. No PR needed. See CONTRIBUTING.md.

How the index is built

scripts/build_ecosystem_index.py reads modules.json and, for each repo, shallow-clones it and scans the source — no published dashboard required:

  • composites — @composite_generator(name=…, description=…) decorators (AST)
    • any *.composite.yaml files
  • processes / steps — top-level classes whose base ends in Process / Step (AST), described by a description class attribute or the class docstring
  • studies — **/studies/*/study.yaml (name + objective/title)
  • investigations — **/investigations/*/investigation.yaml (name + title)

This gives complete coverage across the ecosystem whether or not a repo publishes a workbench dashboard. Repos that can't be cloned are still listed (empty artifacts, cloned: false).

python scripts/build_ecosystem_index.py            # rebuild the index locally
python scripts/build_ecosystem_index.py --only Viva-munk,pbg-copasi   # subset

Needs git + PyYAML.

Consuming the ledger

Python (viva-superpowers, vivarium-workbench):

import viva_catalog
repos = viva_catalog.load_modules()          # the repo registry
index = viva_catalog.load_ecosystem_index()  # aggregated artifacts

Over HTTP (published to gh-pages, same-origin for any published workbench):

https://vivarium-collective.github.io/viva-catalog/modules.json
https://vivarium-collective.github.io/viva-catalog/ecosystem-index.json

CI

.github/workflows/build-index.yml rebuilds ecosystem-index.json daily (and on modules.json changes), commits it to main, and publishes modules.json + the index to gh-pages.

Release files for viva-catalog 0.1.0

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

Source distribution (sdist)

Source distribution for viva-catalog 0.1.0
File Size Uploaded
viva_catalog-0.1.0.tar.gz 67.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for viva-catalog 0.1.0
File Interpreter ABI Platform
viva_catalog-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 128.9 kB

Release files / viva_catalog-0.1.0.tar.gz

Download URL viva_catalog-0.1.0.tar.gz
Size 67.1 kB
Tags Source
SHA-256 checksum
How to use checksums
2c45b0fcb413fa06a217fa73e6bab9866eafb73f1198847ab61decd029f5d61c
BLAKE2b-256 checksum
How to use checksums
d4e0389e9e8e6e329a6f978dc23914237b37fe3a41cfc9a5669786a9855b5613
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 25, 2026.

Transparency log

Release files / viva_catalog-0.1.0-py3-none-any.whl

Download URL viva_catalog-0.1.0-py3-none-any.whl
Size 61.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bc1fc04fd384fcb1c5f0abcd0c6a10995e0945c83fa0f12f5a6e1283fe238280
BLAKE2b-256 checksum
How to use checksums
26a3ceb7ad0290f1db8a7f708d07964a8720e7dd2d1810bfcd6097034879b8e9
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 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

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