Skip to main content
Help improve PyPI by participating in a 5-minute user interface survey!

event sourcing for databases.

Project Description

http://img.shields.io/travis/eleme/meepo/master.svg?style=flat http://img.shields.io/pypi/v/meepo.svg?style=flat http://img.shields.io/pypi/dm/meepo.svg?style=flat

Meepo is event sourcing and event broadcasting for datebases.

Documentation: https://meepo.readthedocs.org/

Installation

Install with pip

$ pip install meepo

To use mysql binlog as event source, install additional requires with

$ pip install meepo[mysqlbinlog]

Features

Meepo can publish the database events to outside world, so it can be used to do a lot of interesting things with its pubsub pattern, including:

  • cache invalidation
  • replication to RDBS / NoSQL / SearchEngine
  • event sourcing
  • logging and auditing
  • realtime analytics
  • notifications pushing

Intro

Meepo use a pubsub pattern to follow database events from sqlalchemy or mysql binlog then publish them to outside.

Meepo uses blinker to connect its PUBs and SUBs, which will transform database events to {table}_{action} signals with primary keys info.

Events demo:

  • when a user make an order with id 1234, order_write signal with 1234 will be triggered.
  • when the status of order#1234 changed, order_update signal with 1234 will be triggered.
  • when user deleted the order, order_delete signal with 1234 will be triggered.

For every signals, you can add multiple subscribers or customize your own.

Refer to meepo/apps/ for more examples.

Examples

Dummy prints all database events.

Use mprint with mysql dsn with row-based binlog enabled.

$ mprint -m "mysql://user:pwd@mysql_server/"

Contribute

  1. Fork the repo and make changes.
  2. Write a test which shows a bug was fixed or the feature works as expected.
  3. Make sure travis-ci test succeed.
  4. Send pull request.

Release history Release notifications

History Node

0.1.9

History Node

0.1.8

History Node

0.1.6

History Node

0.1.5.1

History Node

0.1.5

History Node

0.1.4

This version
History Node

0.1.3

History Node

0.1.2

History Node

0.1.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
meepo-0.1.3.tar.gz (9.2 kB) Copy SHA256 hash SHA256 Source None Aug 29, 2014

Supported by

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