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
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
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.
- A simple example to walk you through the basics
- A more complex example using Steegen's multiverse analysis and Durante's fertility dataset.
- Another multiverse example, based on the specification curve paper by Simonsohn et al.
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} }