Author and execute multiverse analysis
Project description
boba
Author and execute multiverse analysis with ease.
Boba is a simple domain specific language for specifying multiverse analysis. It comes with a command line tool to parse your specification and generate universe scripts, allows you to execute all scripts with a single command, and wrangles outputs into a single table.
works with both python and R
handles simple parameter substitution as well as complex code flow dependency
Installation
You might download and install the latest version of this software from the Python package index (PyPI):
pip install --upgrade boba
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 --script template.py -- json spec.json
For more command line options, see CLI.
CLI
- You might invoke the command line tool via::
boba [options]
It has a few simple options:
- --script, -s
default: ./script_annotated.py (optional)
The path to your template script.
- --json, -j
default: ./spec.json (optional)
The path to your JSON specification.
- --out, -o
default: . (optional)
The output directory to hold generated universe scripts, summary table, etc.
- --lang, -l
(optional)
Language of your analysis script; we support python and R at the moment. If not specified, we will infer it from the file extension.
- --help
Show help message and exit.
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 analysis applied to a reading speed dataset collected by Qisheng Li et al.
History
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.