I’d like to announce my small side project called erles – Erlang
client for Event Store, licensed under The MIT License. You can find the source
Currently it supports almost all standard operations:
- connection both to single node, as well as cluster (through providing list
of endpoints or DNS entry and manager HTTP port);
automatic failover to master, overload protection, etc;
stream deletion (both soft-deletes and permanent ones);
single event reads;
range reads from usual streams and from $all (with unified syntax);
permanent catch-up subscription which both read historical events and
re-subscribes in case of subscription drop;
primitive subscriptions (for those masochistic enough );
working with stream metadata both in structured form, as well as in raw binary form.
I will try to keep it on par with official Event Store’s client feature-wise and
hopefully make it simple and fun to use, while providing all necessary options
for tuning behavior.
It doesn’t yet support SSL connection and getting/setting system settings with default ACLs.
The library is very young and also I’m quite new to Erlang itself (it’s been
roughly 2 month since I started to play with Erlang) and there is a chance that
I messed something badly. So I hope for community feedback and with your help
will try to make it solid client library for Event Store. It’s not yet for
production use and some aspects of it can be changed, but I think it is already
quite useful to play with Event Store. See README for some docs, though some
parts are still missing and to be added in following few days. You are
encouraged to check erles_tests.erl file for example usage of erles functionality.
Pay attention, as erles uses and supports some of nice latest changes to
Event Store (next expected versions on writes and soft deletes), which haven’t been released yet,
erles can be used only with latest dev-builds currently. As soon as Event Store
releases its new version, erles will stick to supporting stable versions.
I hope you enjoy it!