Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

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:
  • Maintainer: Eugene Eeo
  • License: MIT

Release History

This version
History Node


Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting