Skip to main content

Read from and write to event stores

Project description

estory — read from and write to event stores

$ estory init <IDENTIFIER>
$ estory read <IDENTIFIER>
$ estory write <IDENTIFIER>
$ estory guess <IDENTIFIER>

IDENTIFIER is either:

  • a proper DSN (driver://user:password@host:port/database) ;
  • a file that will be interpreted as a DSN (sqlite:///<FILE>) ;
  • a name matching an environment variable (ESTORY_DSN_<NAME>).

To initialise an event store:

$ export ESTORY_DSN_TMP="sqlite:////tmp/event_store.sqlite"
$ estory init TMP

To write an event to a store:

$ jo stream="uuid" version=1 name="EventName" data=$(jo id=1) unixtime=$(date +%s) | estory write TMP

To read events from a store:

$ estory read TMP
{"stream": "uuid", "name": "EventName", "data": {"id": 1}, "unixtime": 1647876362, "who": "", "id": 1}

To copy events from one store to another:

$ export ESTORY_DSN_TMP2="sqlite:////tmp/another_event_store.sqlite"
$ estory init TMP2
$ estory read TMP | estory write TMP2

To copy only some events from one store to another:

$ estory read TMP | jq '.|select(.id==2)' | estory write TMP2

To modify events while copying them from one store to another:

$ estory read TMP | jq '.|.name="EventNewName"' | estory write TMP2

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

estory-0.2.2-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

Details for the file estory-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: estory-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 15.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.9.9 Linux/6.0.10-gnu

File hashes

Hashes for estory-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ef3a5342ccfdd00d34fe2a3e512e82779452bd9083eab5f4759497ee215793dc
MD5 05cc89f54a485e39fd24e9e0713c5c55
BLAKE2b-256 cc49743052105ecb80678ed1636aebdd5f25beb5550d58b5bde52f0eddb8e9e3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page