Transistor, a bitemporal database client
summary
Rust client Transistor implements HTTP access and transactions for the Crux bitemporal DB, supports Crux Datalog queries and the four core ops put delete match evict, and ships utilities to build queries, fetch entities and post tx-logs. To handle EDN it provides edn-rs (currently v0.16) and an edn_derive macro to serialize/deserialize Rust structs, with one macro bug keeping it “near-stable.” Async support uses reqwest and therefore tokio-only today. Example apps (an ATM CLI and an Actix web API) are published and the client is functioning with those examples.
AI-written summary · about
chapters (23)
- 0:00Start
- 3:07Julia Naomi
- 3:26Otávio Pace
- 3:37Agenda
- 4:10Crux
- 5:15Temporality
- 7:13Transaction operations
- 8:30What is transistor?
- 9:10HTTP Client
- 9:58Inserting/Updating
- 11:22EDN flavored Datalog
- 16:23Examples
- 17:39Libraries we've made
- 19:32Macro
- 20:30Navigation
- 21:24Parsing
- 22:05Emitting
- 22:39EDN to Struct
- 23:30edn-derive
- 24:17Serialize
- 25:41Serde inspiration
- 26:17Using both
- 26:52Naming Restrictions
related talks
53mThe Crux of Bitemporality
29mRust: Embedded, Async, All the Way
20mRust as foundation in a polyglot development environment
42mBuilding a Web Application with Rust
28mRust Irgendwie, Irgendwo, Irgendwann
25mWTF, Rust for Web Development??
35mElixir's Ecto: Functional Relational Data Access Done Right
29mEnd-to-end testing your Rust backend
