Skip to main content

simple persisted events

Project description


Eventstream is an embedded events storage component based on SQLite. It allows you to store events and query them based on time, making it trivial in storing data which is time based. Events are represented as tags with optional metadata attached, which allows you to model most data effectively.

from datetime import datetime, timedelta
from eventstream import connect, Event

t = connect(uri=':memory:')
t.emit(Event('status.update'), 1)

today = datetime.utcnow()
yesterday = today - timedelta(days=1)


Like Graphlite, Eventstream is thread safe. All emits are atomic and operate under a lock (if you want to store many events use the transaction-based emit_many instead). Eventstream also emphasizes on API usability and overall ease of use. You can query by time, tag, or node, but not the metadata.


If you want to contribute, we follow the Github workflow, so fork the repo, work on the code and just make a pull request (make sure all tests pass beforehand, at least in the last commit of your pull request). In short:

$ git clone ssh://$USERNAME/eventstream.git
$ cd graphlite
$ git checkout -b $FEATURE
$ # hackedy hack hack
$ py.test tests
$ git commit -a
$ git push

Note that we use py.test for testing so if you haven’t, make sure you pip install pytest. But you should.

  • Code Status: Build
  • Maintainer: Eugene Eeo
  • License: MIT

Project details

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page