Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

A Bayesian database table for querying the probable implications of data as easily as SQL databases query the data itself.

Project Description


BayesDB, a Bayesian database, lets users query the probable implications of their data as easily as a SQL database lets them query the data itself. Using the built-in Bayesian Query Language (BQL), users with no statistics training can solve basic data science problems, such as detecting predictive relationships between variables, inferring missing values, simulating probable observations, and identifying statistically similar database entries.

BayesDB is suitable for analyzing complex, heterogeneous data tables with up to tens of thousands of rows and hundreds of variables. No preprocessing or parameter adjustment is required, though experts can override BayesDB’s default assumptions when appropriate.

BayesDB’s inferences are based in part on CrossCat, a new, nonparametric Bayesian machine learning method, that automatically estimates the full joint distribution behind arbitrary data tables.



BayesDB can also be accessed via a community-contributed Docker container. Install instructions for Docker can be found here.

Once docker has been installed and configured enter the following command in your terminal to download and install the Docker container (this will take a few minutes):

docker pull bayesdb/bayesdb

To run:

docker run -t -i bayesdb/bayesdb /bin/bash


BayesDB depends on CrossCat, so first install CrossCat by following its local installation instructions here.

BayesDB can be installed locally with:

git clone
cd BayesDB
sudo python install

If you have trouble with matplotlib, you should try switching to a different backend. Open a python prompt ($ python):

import matplotlib

Then, edit the file at the path that was outputted, changing ‘backend’ to another one of the available values, until the matplotlib errors go away. Good ones to try are GTKAgg and Agg.




Example (github) is a basic example of analysis using BayesDB. For a first test, run the following from inside the top level BayesDB dir

python examples/dha/
Release History

Release History

This version
History Node


Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
BayesDB-0.2.0-py2.7.egg (283.1 kB) Copy SHA256 Checksum SHA256 2.7 Egg Feb 22, 2015
BayesDB-0.2.0-py2-none-any.whl (131.9 kB) Copy SHA256 Checksum SHA256 2.7 Wheel Feb 22, 2015
BayesDB-0.2.0.tar.gz (110.7 kB) Copy SHA256 Checksum SHA256 Source Feb 22, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting