Skip to content

GenStudio

GenStudio is a Python library for creating interactive, JavaScript-based visualizations. It provides a simple, composable way to generate plots, animations, and custom user interfaces from within a Python environment.

Getting Started

Key features:

  • Seamless integration with Observable Plot, a layered grammar-of-graphics based library, for creating rich, interactive plots
  • Compose plots, HTML elements, and interactive widgets using a simple, declarative syntax
  • Animate plots with built-in support for sliders and frame-by-frame animations
  • Embed visualizations in Jupyter notebooks or standalone HTML files
  • Customize every aspect of your visualization with JavaScript when needed

Installation

Note

GenStudio is currently private. To configure your machine to access the package, - Run \invite-genjax <google-account-email> in any channel in the the probcomp Slack, or file a ticket requesting access to the GenJAX-Users group - install the Google Cloud command line tools - follow the instructions on the installation page - run gcloud auth application-default login as described in this guide.

If you're using GenJAX and have already followed the installation instructions, you can add genstudio as an "extra" while installing GenJAX: genjax[genstudio].

To install GenStudio using pip:

pip install keyring keyrings.google-artifactregistry-auth
pip install genstudio --extra-index-url https://us-west1-python.pkg.dev/probcomp-caliban/probcomp/simple/

If you're using poetry:

poetry self update && poetry self add keyrings.google-artifactregistry-auth
poetry source add --priority=explicit gcp https://us-west1-python.pkg.dev/probcomp-caliban/probcomp/simple/
poetry add genstudio --source gcp