This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

PhilDB project

Timeseries database project: For storing potentially changing timeseries data. For example hydrological data, like streamflow data, where the timeseries may be revised as quality control processes improve the recorded dataset over time.

PhilDB should be capable of storing data at any frequency supported by Pandas. At this time only daily data has been extensively tested with some limited sub-daily usage.

Further information about the design of PhilDB can be found in the paper: PhilDB: the time series database with built-in change logging. That paper explores existing time series database solutions, discusses the motivation for PhilDB, describes the architecture and philosophy of the PhilDB software, and includes an evaluation between InfluxDB, PhilDB, and SciDB.

Dependencies

Requires Python 2.7 or greater (mostly tested with Python 2.7 and Python 3.4 on Mac OSX and Linux). Test suite runs on Travis CI with Python 2.7, 3.4 and 3.5.

All the python dependencies are recorded in the python_requirements file.

Installation

PhilDB is pip installable.

The latest stable version can be installed from pypi with:

pip install phildb

The latest development version can be installed from github with:

pip install git+https://github.com/amacd31/phildb.git@dev

Development environment

A number of processes for a development environment with tests and documentation generation have been automated in a Makefile.

The virtualenv package can be used to create an isolated install of required Python packages.

Create a virtual environment with dependencies installed:

make venv

Test everything is working:

make test

Build the documentation:

make docs

View the generated documentation at doc/build/html/index.html

For additional details see the INSTALL file.

Usage

Create a new PhilDB

phil-create new_tsdb

Open the newly created PhilDB

phil new_tsdb

If using the development environment built with make, Load it along with adding PhilDB tools to your path:

. load_env

Examples

See the examples directory for code on setting up test phil databases with different data sets. Each example comes with a README file outlining the steps to acquire some data and load it. The loading scripts in each example can be used as a basis for preparing a timeseries database and loading it with data.

The examples/hrs/ example also contains an example script (autocorr.py) for processing the HRS data using phildb. The script calculates auto-correlation for all the streamflow timeseries in the HRS dataset.

Presently there are three sets of example code, acorn-sat, bom_observations, and hrs.

ACORN-SAT

ACORN-SAT Example.ipynb located in examples/acorn-sat demonstrates loading minimum and maximum daily temperature records for 112 stations around Australia.

The dataset used in this example is the Australian Climate Observations Reference Network – Surface Air Temperature (ACORN-SAT) as found on the Australian Bureau of Meteorology website ACORN-SAT website.

BOM Observations

Bureau of Meterology observations example.ipynb located in examples/bom_observations demonstrates loading half hourly air temperature data from a 72 hour observations JSON file.

The data used in this example is a 72 hour observations JSON file from the Australian Bureau of Meteorology website (e.g. JSON file as linked on this page: Sydney Airport observations

HRS

HRS Example.ipynb located in examples/hrs demonstrates loading daily streamflow data for 221 streamflow stations around Australia.

The dataset used in this example is the Hydrologic Reference Stations (HRS) dataset as found on the Australian Bureau of Meteorology website HRS website.

This example also includes a script to calculate the auto-correlation for all the streamflow timeseries in the HRS dataset.

Release History

Release History

0.6.7

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.6.5

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.6.4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.6.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.6.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.6.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.6.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.5.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
PhilDB-0.6.7.tar.gz (30.3 kB) Copy SHA256 Checksum SHA256 Source Jan 7, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting