Version: | 0.0.6 |
---|---|
Download: | https://pypi.python.org/pypi/kairos |
Source: | https://github.com/agoragames/kairos |
Keywords: | python, redis, time, rrd, gevent |
Kairos provides time series storage using a Redis backend. Kairos is intended to replace RRD in situations where the scale of Redis is required, with as few dependencies on other packages as possible. It should work with gevent out of the box.
Requires python 2.7 or later.
Install redis and kairos.
from kairos import Timeseries import redis client = redis.Redis('localhost', 6379) t = Timeseries(client, { 'minute':{ 'step':60, # 60 seconds 'steps':120, # last 2 hours 'read_cast' : float, # cast all results as floats } }) t.insert('example', 3.14159) t.insert('example', 2.71828) print t.get('example', 'minute')
Each retrieval function will by default return an ordered dictionary, though
condensed results are also available. Run script/example
to see standard
output; watch -n 4 script/example
is a useful tool as well.
Kairos is available on pypi and can be installed using pip
pip install kairos
If installing from source:
with development requirements (e.g. testing frameworks)
pip install -r development.pip
without development requirements
pip install -r requirements.pip
Note that kairos does not by default require the redis package, nor does it require hiredis though it is strongly recommended.
- Tests
- Documentation
- Refactoring
- Storage of objects
- Histograms for compressing large intervals
- Interfaces to support easy integration with Python statistics packages
- Pipelining and other redis optimizations
This software is licensed under the New BSD License. See the LICENSE.txt
file in the top distribution directory for the full license text.