Skip to content

Guides

Task-oriented guides for common Datum use cases. Start here after the core concepts when you need to apply a specific part of the API.

Core Library

These guides cover datum-core: stream construction, graph wiring, concurrency primitives, backpressure, error handling, testing, and actor interop.

GuideWhat it covers
Modularity And Compositionreusable flows, materialized-value composition, BidiFlow, partial graphs, attributes
Working with GraphsGraphDSL, junctions, partial graphs, and reusable graph shapes
Custom Stream ProcessingGraphStage, GraphStageLogic, handlers, async callbacks, logging, monitoring
Buffers & RateBackpressure strategies, buffers, throttle, conflate, and expand
Error Handlingrecover, supervision deciders, restart sources and flows
Futures Interopmap_async, map_async_unordered, map_async_partitioned, Tokio dispatch
Pipelining And Parallelismbounded future concurrency and async-boundary fused-region isolation
Context PropagationSourceWithContext, FlowWithContext, offset/trace context, actor ask context
Actors InteropActorFlow::ask, ActorSource, ActorSink, ActorPubSub, Ractor integration
Concurrency PrimitivesSignal, Subscription, Channel, Topic, overflow policies, and performance targets
Signal & Subscriptionthe state cell in depth: coalesced vs lossless feeds, get() semantics, pitfalls, integration
Channelbounded MPSC handoff in depth: send/try_send, graceful close, vs SourceQueue/MergeHub
Topicpub-sub broadcast in depth: overflow-policy selection, ordering, vs BroadcastHub
Dynamic StreamsKillSwitch, MergeHub, BroadcastHub, PartitionHub
Streaming IOFile IO, framing, compression, TCP, IO adapters (as_input_stream/as_output_stream)
Adding A SatelliteNaming, metadata, CI, docs, benches, and publish ordering for new datum-* crates
Testing StreamsTestSource, TestSink, and the TestKit probes
Substreamsgroup_by, split_when/split_after, flat_map_concat/flat_map_merge

Platform Guides

SectionWhat it covers
Persistenceevent sourcing, durable state, storage backends, CQRS queries, managed projections, and schema evolution
Pythondatum-stream package, Python blueprints, Arrow UDFs, and Datum Connect
Networkingdatum-net TLS, UDP, QUIC carriers and local or remote StreamRefs
Clusterdatum-cluster membership plus datum-cluster-sharding entity routing
Operationsdatum-agent, DCP, and the datum CLI

Kafka, PostgreSQL CDC, and SQL live in the top-level Integrations section.