Skip to main content

RedisTimeSeries Python Client

Project description

license PyPI version CircleCI GitHub issues Codecov Language grade: Python Known Vulnerabilities

redistimeseries-py

Forum Discord

Deprecation notice

As of redis-py 4.0.0 this library is deprecated. It's features have been merged into redis-py. Please either install it from pypy or the repo.


redistimeseries-py is a package that gives developers easy access to RedisTimeSeries module. The package extends redis-py's interface with RedisTimeSeries's API.

Installation

$ pip install redistimeseries

Development

  1. Create a virtualenv to manage your python dependencies, and ensure it's active. virtualenv -v venv
  2. Install pypoetry to manage your dependencies. pip install poetry
  3. Install dependencies. poetry install

tox runs all tests as its default target. Running tox by itself will run unit tests. Ensure you have a running redis, with the module loaded.

API

The complete documentation of RedisTimeSeries's commands can be found at RedisTimeSeries's website.

Usage example

# Simple example
from redistimeseries.client import Client
rts = Client()
rts.create('test', labels={'Time':'Series'})
rts.add('test', 1, 1.12)
rts.add('test', 2, 1.12)
rts.get('test')
rts.incrby('test',1)
rts.range('test', 0, -1)
rts.range('test', 0, -1, aggregation_type='avg', bucket_size_msec=10)
rts.range('test', 0, -1, aggregation_type='sum', bucket_size_msec=10)
rts.info('test').__dict__

# Example with rules
rts.create('source', retention_msecs=40)
rts.create('sumRule')
rts.create('avgRule')
rts.createrule('source', 'sumRule', 'sum', 20)
rts.createrule('source', 'avgRule', 'avg', 15)
rts.add('source', '*', 1)
rts.add('source', '*', 2)
rts.add('source', '*', 3)
rts.get('sumRule')
rts.get('avgRule')
rts.info('sumRule').__dict__

Further notes on back-filling time series

Since RedisTimeSeries 1.4 we've added the ability to back-fill time series, with different duplicate policies.

The default behavior is to block updates to the same timestamp, and you can control it via the duplicate_policy argument. You can check in detail the duplicate policy documentation.

Bellow you can find an example of the LAST duplicate policy, in which we override duplicate timestamps with the latest value:

from redistimeseries.client import Client
rts = Client()
rts.create('last-upsert', labels={'Time':'Series'}, duplicate_policy='last')
rts.add('last-upsert', 1, 10.0)
rts.add('last-upsert', 1, 5.0)
# should output [(1, 5.0)]
print(rts.range('last-upsert', 0, -1))

License

BSD 3-Clause

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

redistimeseries-1.4.5.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

redistimeseries-1.4.5-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file redistimeseries-1.4.5.tar.gz.

File metadata

  • Download URL: redistimeseries-1.4.5.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.7.12 Linux/5.11.0-1028-azure

File hashes

Hashes for redistimeseries-1.4.5.tar.gz
Algorithm Hash digest
SHA256 aad2030472f4ace0e3a1e70ab1c9ab9b818cd674277ee2014d0aba1a35a3b06c
MD5 2e3c227e686b73de2933d28d8cb9d663
BLAKE2b-256 62d12ba15e20c7f3f843648cc63375db954d060f97af5974ec1cb847fbec37d6

See more details on using hashes here.

File details

Details for the file redistimeseries-1.4.5-py3-none-any.whl.

File metadata

  • Download URL: redistimeseries-1.4.5-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.7.12 Linux/5.11.0-1028-azure

File hashes

Hashes for redistimeseries-1.4.5-py3-none-any.whl
Algorithm Hash digest
SHA256 3fa4c66716bfb5134ec1bbe67907d406072493b6f5d1b28c7bb5e91838749ee0
MD5 73524b599fb4f35e2eabfae3b28917ec
BLAKE2b-256 2418be22d070adcc5b06c51a38cce6120ca67dd97fffd2cb57eb4ab683b97162

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page