Skip to main content

Dynamic data analysis over the web. The logic to your data dashboards.

Project description

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

bamboo is an application that systematizes realtime data analysis. bamboo provides an interface for merging, aggregating and adding algebraic calculations to dynamic datasets. Clients can interact with bamboo through a a REST web interface and through Python.

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.

https://farm4.staticflickr.com/3363/3419345800_2c6c4133d3_z.jpg?zz=1

bamboo is open source software released under the 3-clause BSD license, which is also known as the “Modified BSD License”.

Dependencies

  • python (tested on version 2.7)

  • mongodb

for numpy, pandas, and scipy:

On Arch Linux: # pacman -S blas lapack gcc-fortran.

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

Using as a Python Libary

Installation

$ pip install bamboo-server

Python pip package for bamboo.

For creating plots: $ pip install matplotlib.

Usage

import bamboo as bm

bf = bm.BambooFrame([{'date': '2012-12-21'}])
bff = bf.recognize_dates()
bff.to_json()

>>> '[{"date": {"$date": 1356048000000}}]'

# Turn asyncronous processing off
bm.set_async(False)

url = 'http://formhub.org/mberg/forms/good_eats/data.csv'
dataset = bm.Dataset.create()
dataset.import_from_url(url, na_values=['n/a'])
dataset.schema

>>> {u'_gps_altitude': {u'cardinality': 14, u'label': u'_gps_altitude', ...

# Resample monthly, 'M', aggregating by mean
date_column = 'submit_date'
monthly = ds.resample(date_column, 'M', 'mean').set_index(date_column)
monthly_amounts = monthly.amount.dropna()

# Plot the amount spent per month
mothly_amounts.plot()
https://raw.github.com/modilabs/bamboo/master/docs/images/amount.png

Installation

$ ./scripts/install.sh

Example Usage

On the remote server

running the example basic commands

$ ./scripts/commands.sh

using bamboo.JS

var dataset = new bamboo.Dataset({url: 'http://bitly.com/ZfzBwP'});
bamboo.dataset_exists('nonexistentdataset_id');
dataset.query_info();
...

using pybamboo

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

Documentation

Viewing Documentation

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

About

Join the bamboo-dev mailing list.

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

  • Peter Lubell-Doughtie

  • Mark Johnston

and other developers.

Projects using bamboo

  • bamboo.io - The bamboo.io web service API

  • formhub - Mobile Data Collection made easy

  • AFSIS - Africa Soil Information Service

Is your project using bamboo? Let us know!

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

bamboo-server-0.5.8.tar.gz (86.4 kB view details)

Uploaded Source

File details

Details for the file bamboo-server-0.5.8.tar.gz.

File metadata

File hashes

Hashes for bamboo-server-0.5.8.tar.gz
Algorithm Hash digest
SHA256 071b156bdb5d817ac6b80c15cf6b3d7a00b879d91f143361c54a0904518afeeb
MD5 878f41f2df3a788b8c2b8d40cc5b466a
BLAKE2b-256 f9a1b6d79303cd7f66b7e873857ff2bf3fc1e31c8c173e6570f8bbd23353cc15

See more details on using hashes here.

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