event sourcing for databases.
Project description
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 with1234
will be triggered.when the status of order#1234 changed,
order_update
signal with1234
will be triggered.when user deleted the order,
order_delete
signal with1234
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
Fork the repo and make changes.
Write a test which shows a bug was fixed or the feature works as expected.
Make sure travis-ci test succeed.
Send pull request.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.