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

If you're not sure about the file name format, learn more about wheel file names.

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 Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page