Dynamic data analysis over the web. The logic to your data dashboards.
Project description
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.
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()
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file bamboo-server-0.5.8.tar.gz
.
File metadata
- Download URL: bamboo-server-0.5.8.tar.gz
- Upload date:
- Size: 86.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 071b156bdb5d817ac6b80c15cf6b3d7a00b879d91f143361c54a0904518afeeb |
|
MD5 | 878f41f2df3a788b8c2b8d40cc5b466a |
|
BLAKE2b-256 | f9a1b6d79303cd7f66b7e873857ff2bf3fc1e31c8c173e6570f8bbd23353cc15 |