Home

Awesome

Tau—time series database

   .##########
  ############
 #`   :##
      ##,
      ##,   ,
      ###__#
      `####'

Start tau server (with memory backend):

./tau.py server -b memory

Use TauClient to access the database from python:

from tau import TauClient
tau = TauClient()

Send some values:

tau.set(my_key='my_value')
tau.set(my_key=3.1415)
tau.set({'my_key': 6.283})

Receive values back (possibly from another process):

assert tau.get('my_key') == 6.283

Receive previous values over a period (in seconds):

assert tau.get('my_key', period=30) == ['my_value', 3.1415, 6.283]

Receive previous values with their timestamps:

data = tau.get('my_key', period=30, timestamps=True)

assert data == [[datetime(...), 'my_value'],
                [datetime(...), 3.1415],
                [datetime(...), 6.283]]

Send some more values, any JSON-serializable values will do:

tau.set(another_key=42, yet_another_key=True)

Receive all available values:

assert tau.get('*') == {'my_key': 6.283,
                        'another_key': 42,
                        'yet_another_key': True}

Receive values based on a patter, using *, ?, [abc]:

assert tau.get('*_key') == {'my_key': 6.283,         
                            'another_key': 42,       
                            'yet_another_key': True} 
assert tau.get('*another_key') == {'another_key': 42,       
                                   'yet_another_key': True} 

For more examples see test_*.py files.