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.

Source Distribution

boba-0.1.2.tar.gz (17.0 kB view hashes)

Uploaded Source

Built Distribution

boba-0.1.2-py2.py3-none-any.whl (15.2 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page