Skip to main content

boba

Author and visualize multiverse analysis with ease.

Boba has a domain specific language (Boba DSL) for writing multiverse specifications, and a visual analysis interface (Boba Visualizer) for exploring multiverse outcomes. Boba comes with a command line tool to parse your DSL specification and generate universe scripts, execute all scripts with a single command, merges outputs into a table, and invoke the visualizer.

  • works with both python and R, and other scripting languages to come

  • handles simple parameter substitution as well as complex code flow dependency

  • offers interactive visualizations for exploring consequential decisions, uncertainty, model fit, and more

https://badge.fury.io/py/boba.svg https://travis-ci.org/uwdata/boba.svg?branch=master https://img.shields.io/badge/License-BSD%203--Clause-blue.svg https://img.shields.io/pypi/pyversions/boba

Installation

You might download and install the latest version of this software from the Python package index (PyPI):

pip install --upgrade boba
pip install --upgrade boba-visualizer

Usage

To author your multiverse, please refer to the specification rules. Here is a simple example to get you started!

To parse your specification and generate actual scripts, invoke boba and pass in the path to your template script and your JSON spec:

boba compile --script template.py

To execute the multiverse, namely running all the generated scripts, use:

boba run --all

To start the Boba Visualizer after getting the intermediate output files, use:

boba-server

For more command line options, see CLI. For more information about the Boba Visualizer, see this project.

Examples

Citation

If you are interested in this work, please see our research paper and consider citing our work:

@misc{liu2020boba,
  title={Boba: Authoring and visualizing multiverse analyses},
  author={Yang Liu and Alex Kale and Tim Althoff and Jeffrey Heer},
  year={2020},
  eprint={2007.05551},
  archivePrefix={arXiv},
  primaryClass={cs.HC}
}

History

1.1.2 (2021-04-25)

  • Remove the dependency on boba-visualizer

1.1.1 (2021-04-25)

  • Support the Boba monitor

1.1.0 (2020-10-07)

  • Add support for arbitrary language

  • Various bug fixes

1.0.0 (2020-07-31)

  • Support continuous placeholder variable

  • Support running the multiverse across multiple processes

  • Improve boba run, such that it is not dependent on the OS

  • Various bug fixes

  • Integrate boba visualizer

0.1.4 (2020-04-19)

  • Combine JSON spec with the template

  • Support inline definition for placeholder variables

  • Support inline constraint at block declaration

  • Support linked decisions

  • Infer ADG from specification

  • Update examples

  • Various bug fixes

0.1.3 (2019-11-30)

  • Revise authoring syntax to support decision blocks and constraints

  • Revise CLI, with separate commands to compile and to run

  • Improve execution

  • Add the hurricane example

0.1.2 (2019-09-19)

  • Fix bugs

0.1.1 (2019-09-19)

  • Support R

  • Improve CLI options

  • Support a built-in variable {{_n}}, which represents the universe number

  • Support “before_execute” and “after_execute” hooks in the JSON spec

  • Update examples

0.1.0 (2019-08-26)

  • First release on PyPI.

Release files for boba 1.1.2

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

Source distribution (sdist)

Source distribution for boba 1.1.2
File Size Uploaded
boba-1.1.2.tar.gz 36.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for boba 1.1.2
File Interpreter ABI Platform
boba-1.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 68.8 kB

Release files / boba-1.1.2.tar.gz

Download URL boba-1.1.2.tar.gz
Size 36.1 kB
Tags Source
SHA-256 checksum
How to use checksums
9c17023fb56ecfb18d48390972dbabe20407819544bc82651fe4f7adeb174299
BLAKE2b-256 checksum
How to use checksums
8a0b2e176ea215d204ce6189db53835cfc1f7c35fc0f14649b008a148d77e493
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.7.4

Release files / boba-1.1.2-py3-none-any.whl

Download URL boba-1.1.2-py3-none-any.whl
Size 32.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8a0231dde4603fa535577e33d5af597fa33cca714c9b7d406a8e6274a6db7e35
BLAKE2b-256 checksum
How to use checksums
a968a2b8ad472855f654373293382f504ad5f061ef532cc8f686ffdbd229366f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.7.4

Release history Release notifications | RSS feed

This release

1.1.2 This release

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

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