Author and execute multiverse analysis
Project description
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
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
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.
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file boba-1.1.2.tar.gz
.
File metadata
- Download URL: boba-1.1.2.tar.gz
- Upload date:
- Size: 36.1 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c17023fb56ecfb18d48390972dbabe20407819544bc82651fe4f7adeb174299 |
|
MD5 | 7510d625cccd90eb21e5cd02f919e4d9 |
|
BLAKE2b-256 | 8a0b2e176ea215d204ce6189db53835cfc1f7c35fc0f14649b008a148d77e493 |
File details
Details for the file boba-1.1.2-py3-none-any.whl
.
File metadata
- Download URL: boba-1.1.2-py3-none-any.whl
- Upload date:
- Size: 32.8 kB
- Tags: Python 3
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a0231dde4603fa535577e33d5af597fa33cca714c9b7d406a8e6274a6db7e35 |
|
MD5 | a19209dcfb854af1536dbad91c4d2cbd |
|
BLAKE2b-256 | a968a2b8ad472855f654373293382f504ad5f061ef532cc8f686ffdbd229366f |