Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

180 lines (108 sloc) 3.204 kB


Bamboo is a data analysis web service. Bamboo is open source software.

Bamboo supports a simple querying language to build calculations (e.g. student teacher ratio) and aggregations (e.g. average number of students per district) from datasets. These are updated as new data is received.


  • python (tested on version 2.7)
  • mongodb

for numpy, pandas, and scipy (in requirements.pip):

on Arch Linux: # pacman -S blas lapack gcc-fortran

on Debian based: # apt-get install gfortran libatlas-base-dev


$ ./scripts/

Running the server

start mongodb on localhost and standard port

$ cd bamboo
$ python

Running the server as a daemon

start mongodb on localhost and standard port

  1. create a user named 'bamboo', with home directory /home/bamboo
  2. create a virtualenv using virtualenvwrapper called 'bamboo'
  3. place the bamboo root directory in /var/www/bamboo/current

start the daemon using:

$ /var/www/bamboo/current/scripts/ start

stop the daemon using:

$ /var/www/bamboo/current/scripts/ stop


install nose testing requirements

$ pip install -r requirements-test.pip

run tests

$ cd bamboo
$ ./


Viewing Documentation

The latest docs are available at

Building Documentation

$ pip install -r requirements-docs.pip
$ cd docs
$ make html

Contributing Code

To work on the code:

  1. fork this github project
  2. add tests for your new feature
  3. add the code for your new feature
  4. ensure it is pep8
$ pip install pep8
$ pep8 bamboo
  1. ensure all existing tests and your new tests are passing
$ cd bamboo && ./
  1. submit a pull request

Example Usage

On the remote server

running the example basic commands

$ ./scripts/

using pybamboo

 $ pip install pybamboo
 $ python
 >>> from pybamboo import PyBamboo
 >>> pybamboo = PyBamboo()
 >>> response = pybamboo.store_csv_file('')
 >>> dataset_id = response['id']

posting a dataset

$ curl -X POST -d "url="

On your local server

start the bamboo server as above, then

run the example basic commands

$ ./scripts/ -l

make requests to your local server

$ curl -X POST -d "url=" http://localhost:8080/datasets


Bamboo is an open source project. The project features, in chronological order, the combined efforts of

  • Peter Lubell-Doughtie
  • Mark Johnston

and other developers.

Jump to Line
Something went wrong with that request. Please try again.