Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

180 lines (108 sloc) 3.204 kB

Bamboo

https://secure.travis-ci.org/modilabs/bamboo.png?branch=master

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.

Dependencies

  • 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

Installation

$ ./scripts/install.sh

Running the server

start mongodb on localhost and standard port

$ cd bamboo
$ python run_server.py

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/bamboo.sh start

stop the daemon using:

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

Testing

install nose testing requirements

$ pip install -r requirements-test.pip

run tests

$ cd bamboo
$ ./test.sh

Documentation

Viewing Documentation

The latest docs are available at http://bamboo.io/

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 && ./test.sh
  1. submit a pull request

Example Usage

On the remote server

running the example basic commands

$ ./scripts/commands.sh

using pybamboo

 $ pip install pybamboo
 $ python
 >>> from pybamboo import PyBamboo
 >>> pybamboo = PyBamboo()
 >>> response = pybamboo.store_csv_file('http://formhub.org/mberg/forms/good_eats/data.csv')
 >>> dataset_id = response['id']
...

posting a dataset

$ curl -X POST -d "url=http://formhub.org/mberg/forms/good_eats/data.csv" http://bamboo.io/datasets

On your local server

start the bamboo server as above, then

run the example basic commands

$ ./scripts/commands.sh -l

make requests to your local server

$ curl -X POST -d "url=http://formhub.org/mberg/forms/good_eats/data.csv" http://localhost:8080/datasets

About

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.