All Projects → amacd31 → Phildb

amacd31 / Phildb

Licence: other
Timeseries database

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Phildb

tempo
API for manipulating time series on top of Apache Spark: lagged time values, rolling statistics (mean, avg, sum, count, etc), AS OF joins, downsampling, and interpolation
Stars: ✭ 212 (+748%)
Mutual labels:  timeseries, time-series, pandas
Pyaf
PyAF is an Open Source Python library for Automatic Time Series Forecasting built on top of popular pydata modules.
Stars: ✭ 289 (+1056%)
Mutual labels:  pandas, time-series
Hurst-exponent-R-S-analysis-
Calculates the Hurst exponent of a time series based on Rescaled range (R/S) analysis.
Stars: ✭ 33 (+32%)
Mutual labels:  timeseries, time-series
Timetk
A toolkit for working with time series in R
Stars: ✭ 371 (+1384%)
Mutual labels:  time-series, timeseries
downsample
Collection of several downsampling methods for time series visualisation purposes.
Stars: ✭ 50 (+100%)
Mutual labels:  timeseries, time-series
cnosdb
An Open Source Distributed Time Series Database with high performance, high compression ratio and high usability.
Stars: ✭ 858 (+3332%)
Mutual labels:  timeseries, time-series
Deepadots
Repository of the paper "A Systematic Evaluation of Deep Anomaly Detection Methods for Time Series".
Stars: ✭ 335 (+1240%)
Mutual labels:  time-series, timeseries
microprediction
If you can measure it, consider it predicted
Stars: ✭ 158 (+532%)
Mutual labels:  timeseries, time-series
Tsai
Time series Timeseries Deep Learning Pytorch fastai - State-of-the-art Deep Learning with Time Series and Sequences in Pytorch / fastai
Stars: ✭ 407 (+1528%)
Mutual labels:  time-series, timeseries
Siridb Server
SiriDB is a highly-scalable, robust and super fast time series database. Build from the ground up SiriDB uses a unique mechanism to operate without a global index and allows server resources to be added on the fly. SiriDB's unique query language includes dynamic grouping of time series for easy analysis over large amounts of time series.
Stars: ✭ 438 (+1652%)
Mutual labels:  time-series, timeseries
Tidyquant
Bringing financial analysis to the tidyverse
Stars: ✭ 635 (+2440%)
Mutual labels:  time-series, timeseries
pybacen
This library was developed for economic analysis in the Brazilian scenario (Investments, micro and macroeconomic indicators)
Stars: ✭ 40 (+60%)
Mutual labels:  time-series, pandas
Fecon235
Notebooks for financial economics. Keywords: Jupyter notebook pandas Federal Reserve FRED Ferbus GDP CPI PCE inflation unemployment wage income debt Case-Shiller housing asset portfolio equities SPX bonds TIPS rates currency FX euro EUR USD JPY yen XAU gold Brent WTI oil Holt-Winters time-series forecasting statistics econometrics
Stars: ✭ 708 (+2732%)
Mutual labels:  pandas, time-series
wax-ml
A Python library for machine-learning and feedback loops on streaming data
Stars: ✭ 36 (+44%)
Mutual labels:  time-series, pandas
modeltime.ensemble
Time Series Ensemble Forecasting
Stars: ✭ 65 (+160%)
Mutual labels:  timeseries, time-series
Pystore
Fast data store for Pandas time-series data
Stars: ✭ 325 (+1200%)
Mutual labels:  pandas, timeseries
timemachines
Predict time-series with one line of code.
Stars: ✭ 342 (+1268%)
Mutual labels:  timeseries, time-series
Deep XF
Package towards building Explainable Forecasting and Nowcasting Models with State-of-the-art Deep Neural Networks and Dynamic Factor Model on Time Series data sets with single line of code. Also, provides utilify facility for time-series signal similarities matching, and removing noise from timeseries signals.
Stars: ✭ 83 (+232%)
Mutual labels:  timeseries, time-series
Pydlm
A python library for Bayesian time series modeling
Stars: ✭ 375 (+1400%)
Mutual labels:  time-series, timeseries
Ad examples
A collection of anomaly detection methods (iid/point-based, graph and time series) including active learning for anomaly detection/discovery, bayesian rule-mining, description for diversity/explanation/interpretability. Analysis of incorporating label feedback with ensemble and tree-based detectors. Includes adversarial attacks with Graph Convolutional Network.
Stars: ✭ 641 (+2464%)
Mutual labels:  time-series, timeseries

PhilDB project

|DOI| |PYPI Version| |PYPI Status| |PYPI Python versions| |PYPI License| |Build Status| |Appveyor Status| |Code Coverage|

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 <https://peerj.com/articles/cs-52/>_. 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 3.7 or greater (mostly tested on Mac OSX and Linux). Test suite runs on Linux using Travis CI with Python 3.6, 3.7, and 3.8. Test suite runs on Windows using Appveyor with Python 3.7.

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 stable version can also be installed from conda with::

conda install -c amacd31 phildb

The latest development version can be installed from github with::

pip install git+https://github.com/amacd31/[email protected]

The latest development version can be installed from conda with::

conda install -c amacd31/label/dev phildb

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

::

phildb 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 <https://github.com/amacd31/phildb/blob/master/examples/acorn-sat/ACORN-SAT%20Example.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 <http://www.bom.gov.au/climate/change/acorn-sat/>_.

BOM Observations

Bureau of Meterology observations example.ipynb <https://github.com/amacd31/phildb/blob/master/examples/bom_observations/Bureau%20of%20Meterology%20observations%20example.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 <http://www.bom.gov.au/products/IDN60901/IDN60901.94767.shtml#other_formats>_

HRS

HRS Example.ipynb <https://github.com/amacd31/phildb/blob/master/examples/hrs/HRS%20Example.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 <http://www.bom.gov.au/water/hrs/>_.

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

.. |PYPI Version| image:: https://img.shields.io/pypi/v/phildb.svg :target: https://pypi.python.org/pypi/PhilDB

.. |PYPI Status| image:: https://img.shields.io/pypi/status/phildb.svg :target: https://pypi.python.org/pypi/PhilDB

.. |PYPI Python versions| image:: https://img.shields.io/pypi/pyversions/phildb.svg :target: https://pypi.python.org/pypi/PhilDB

.. |PYPI License| image:: https://img.shields.io/pypi/l/phildb.svg :target: https://github.com/amacd31/phildb/blob/master/LICENSE

.. |Build Status| image:: https://img.shields.io/travis/amacd31/phildb/master.svg :target: https://travis-ci.org/amacd31/phildb

.. |Appveyor Status| image:: https://img.shields.io/appveyor/ci/amacd31/phildb/master.svg :target: https://ci.appveyor.com/project/amacd31/phildb

.. |DOI| image:: https://zenodo.org/badge/14104/amacd31/phildb.svg :target: https://zenodo.org/badge/latestdoi/14104/amacd31/phildb

.. |Code Coverage| image:: https://img.shields.io/coveralls/amacd31/phildb/master.svg :target: https://coveralls.io/github/amacd31/phildb?branch=master

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].