Installing BayesDB


A self contained OS X application on a disk image, suitable for copying into your /Applications directory, is available for download:

Note that this application is unsigned, so you must either relax your security preferences, or select open from the context menu (right-click or control-lick), in order to launch it. Apple Support: Open an app from an unidentified developer.

When you launch the application, it will start an IPython notebook server, and launch a new browser window with the session.


We publish a docker-contained ipython notebook with our libraries and examples.

docker pull mitprobcomp/bayeslite-notebook
docker run -it --net=host mitprobcomp/bayeslite-notebook
open http://`docker-machine ip default`:8888/

Or for development, download our Dockerfile and support files and ./

pip install

Bayeslite can be installed from PyPI using pip. The simplest way to do that is to run

pip install bayeslite bdbcontrib

However, in many situations, you will need to resolve dependencies in order to make this work. To do so, we recommend using our virtualenv installer instead.

Once installed, launch a demo interactively:

bayesdb-demo --destination ~/bayesdb

See "First Steps" below for more on getting started.

Building from Source for Development

If you have pip and virtualenv, you can set things up (prerequisites and the probcomp packages) using our

git clone
cd packaging && ./ --bayesdb-version=HEAD --run-tests ~/bayesdb-venv
source ~/bayesdb-venv/bin/activate
bayesdb-demo   # Run the notebook server and start doing the tutorial, etc.
cd ~/bayesdb-venv/bdbcontrib   # This is a git sandbox.

If you merely want to use BayesDB as installed above, rather than develop it, then we recommend

cd packaging && ./ --bayesdb-version=HEAD --run-tests --install-bayesdb ~/bayesdb-venv
source ~/bayesdb-venv && bayesdb-demo # Launch an ipython-notebook-based demo

As you work on any of these repos, please routinely run their For those repositories that you have not installed, use their files to help set the environment. So for example, if you are developing crosscat, bayeslite, and bdbcontrib, and want to test bdbcontrib, you may use:

~/bayesdb-venv/crosscat/ ~/bayesdb-venv/bayeslite/ ./

First Steps

Start with the Index.ipynb, either accept or decline sending us your session data and execute the cell to save your choice.

Explore the various tutorial pieces, especially the Satellites example.

The entry point for most users will be, in the ipython notebook demo,

from bdbcontrib import Population
satellites = Population("satellites", csv_path="...")
satellites.query("""SIMULATE * FROM %g WHERE ...""")
satellites.heatmap("""ESTIMATE DEPENDENCE PROBABILITY ...""")"plot")

Others may want to use the underlying bql engine directly

import bayeslite

and read the Python API.

Coming Soon

More install formats are on the way:

Some BayesDB functionality, including machine assisted modeling, is currently only available through private alpha. Private alpha users are expected to share more about their data and experience with the probcomp research team.