Skip to main content
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 REST web interface, a Python library, or a JavaScript library. For more languages request a libary in the language you prefer.

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.

bamboo uses pandas for data analysis, pyparsing to read formulas, and mongodb to serialize data.

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.

On Mac OS X: $ brew install gfortran.

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 list.

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

  • Peter Lubell-Doughtie

  • Mark Johnston

  • Prabhas Pokharel

  • Renaud Gaudin

  • Myf Ma

  • Ukang’a Dickson

  • Larry Weya

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!

Metadata

Release files for bamboo-server 0.6.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bamboo-server 0.6.3
File Size Uploaded Provenance
bamboo-server-0.6.3.tar.gz 96.1 kB Without provenance Details

Release files / bamboo-server-0.6.3.tar.gz

Download URL bamboo-server-0.6.3.tar.gz
Size 96.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e0ccf916a1f1768a92fc7a54d59328187b830e05318d158eeaa2dba2d8d7eff8
BLAKE2b-256 checksum
How to use checksums
bc0469314b335b1e17f34bb29199ea00e177c7e004e48252fb54a416e4f67b8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for bamboo-server 0.6.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page