Skip to content

#548: Event Sourcing Design Pattern

May 11, 2026 · 1 h 9 min

Show notes

What if your database worked more like Git? Every change captured as an immutable event you can replay, instead of a single mutating row that quietly forgets its own history. That's event sourcing, and Chris May is back on Talk Python, fresh off our Datastar panel, to walk us through what it actually looks like in Python. We'll cover the core patterns, the libraries to reach for, when not to use it, and why event sourcing turns out to be a surprisingly good fit for AI-assisted coding.

Episode sponsors

Sentry Error Monitoring, Code talkpython26
Temporal
Talk Python Courses

Links from the show Guest
Chris May: everydaysuperpowers.dev

Intro to event sourcing e-book: everydaysuperpowers.gumroad.com

Domain-Driven Design: The Power of CQRS and Event Sourcing: How CQRS/ES Redefine Building Scalable System: ricofritzsche.me
DDD: www.amazon.com
Understanding Eventsourcing (Martin Dilger): www.amazon.com
Event Sourcing Explained using Football Video: www.youtube.com
Why I finally embraced event sourcing and why you should too article: everydaysuperpowers.dev
valkey: valkey.io
diskcache: talkpython.fm
eventsourcing package: github.com
eventsourcing docs: eventsourcing.readthedocs.io
John Bywater: github.com
Datastar: data-star.dev
Microconf: microconf.com
Event Modeling & Event Sourcing Podcast: podcast.eventmodeling.org
Python Package Guides for AI Agents: github.com
Iodine tablets AI joke: x.com
KurrentDb: www.kurrent.io

Watch this episode on YouTube: youtube.com
Episode #548 deep-dive: talkpython.fm/548
Episode transcripts: talkpython.fm

Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong

---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython

Bluesky: @talkpython.fm
Mastodon: @[email protected]
X.com: @talkpython

Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @[email protected]
Michael on X.com: @mkennedy

All episodes of Talk Python To Me

Settings

Display

Language

Decides which stations you see first on the home page.

History

Recently played stations and episodes and your latest searches are only stored in this browser.

Notifications

A short notice when a podcast you follow has a new episode. Turn off single podcasts with the bell on their page.

Account

Save favorites – in the app and on the website.

Keyboard shortcuts

/
Open search
Space
Play or pause
← →
In the player: back 15 s, forward 30 s (episodes) · in a row: next tile
↑ ↓
In a row: target within the tile
Home / End
In a row: first or last tile
Esc
Close window or menu
?
This overview
Now playing

Go to station page

Play next

    Add episodes with “Play next” – they play after the current episode.