Skip to main content

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
https://badge.fury.io/py/boba.svg https://travis-ci.org/uwdata/multiverse-spec.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

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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for boba, version 0.1.2
Filename, size File type Python version Upload date Hashes
Filename, size boba-0.1.2-py2.py3-none-any.whl (15.2 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size boba-0.1.2.tar.gz (17.0 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page