Skip to content

API Reference

The full API reference is generated from rustdoc and hosted on docs.rs.

datum-core

https://docs.rs/datum-core

docs.rs builds automatically from each published crate version. After the maintainer runs cargo publish, the latest version appears at the crate URL within a few minutes.

Import path

The package is published as datum-core, but the library name is datum, so all imports use:

rust
use datum::{Source, Flow, Sink, Runtime};
// or individual modules:
use datum::graph::{GraphDsl, Broadcast, Merge};
use datum::actor::ActorFlow;
use datum::concurrent::{Signal, Subscription, Topic, channel::Channel};

Module overview

ModuleContents
datum::streamSource, Flow, Sink, RunnableGraph, Materializer, Runtime, error types, supervision
datum::graphGraphDsl, TypedGraphBuilder, typed ports (Inlet/Outlet, OpenInlet/OpenOutlet), shapes, junctions (Broadcast, Merge, Zip, …), GraphStage
datum::actorActorFlow::ask, ActorSource, ActorSink, ActorPubSub, Ractor interop
datum::concurrentSignal, Subscription, Topic, overflow policies, and channel::Channel
datum::dynamicKillSwitches, MergeHub, BroadcastHub, PartitionHub
datum::ioFile I/O, TCP, framing, compression
datum::queueSourceQueue, BoundedSourceQueue, SinkQueue
datum::contextSourceWithContext, FlowWithContext
datum::testkitStream testing probes

All top-level types (Source, Flow, Sink, junctions, etc.) are also re-exported flat from the crate root — you rarely need to import from sub-modules directly.

datum-net

https://docs.rs/datum-net

datum-net is the network satellite crate. The package is published separately from datum-core and imports as datum_net::…:

rust
use datum_net::{TokioTls, TokioUdp, TokioQuic, ConnectionSettings, RetryPolicy};
ModuleContents
datum_net::tlsTLS-over-TCP client/server streams; key types: TokioTls, Tls
datum_net::udpUDP datagram sources, sinks, and flows; key types: TokioUdp, Udp, Datagram
datum_net::quicQUIC endpoint and bidirectional byte-stream helpers; key types: TokioQuic, Quic
datum_net::connectionConnection lifecycle settings and results; key types: Connection, ConnectionSettings, RetryPolicy
datum_agentJobs & lifecycle: Agent, JobSpec, JobRegistryHandle, JobEvent; DCP server + typed client (dcp::client)

Satellite crates

The operational-shell, cluster, connector, and SQL crates publish separately and import as datum_agent::…, datum_cluster::…, datum_cluster_sharding::…, datum_cdc::…, datum_mq::…, and datum_sql::…. Each has a task-oriented guide alongside its rustdoc.

CrateImports asKey typesGuide
datum-agentdatum_agentAgent, JobSpec, JobRegistryHandle, JobEvent; ClusterAgent, PlacementSpec; dcp server + clientAgent
datum-clidatum_cli (the datum binary)main_entry, render_tableCLI
datum-clusterdatum_clusterClusterNode, ClusterConfig, ClusterState, Member, MemberState, MemberEvent, DowningProvider, TimeoutDowningMembership
datum-cluster-shardingdatum_cluster_shardingSharding, ShardingHandle, EntityRef, ShardEnvelope, ShardExtractor, ReplyPort, ShardingConfig, RememberEntitiesStoreSharding
datum-cdcdatum_cdcCdcSource, PostgresCdcConfig, ChangeEvent, CdcOffset, CdcHandle, CdcCheckpointStoreCDC
datum-mqdatum_mqKafkaSource, KafkaSink, KafkaOffset, KafkaControl, KafkaProducerControl, SubscriptionKafka
datum-sqldatum_sqlDatumSqlContext, ChangelogBatch, SqlEvent, EventTimeConfig, CommittableRecordBatch, StreamingJoinConfigSQL

See also

  • Operator reference — every Source/Flow/Sink operator listed by name.
  • Guides — task-oriented walkthroughs (error handling, substreams, actor ask, …).
  • Integrations — Kafka, PostgreSQL CDC, and SQL over Datum streams.
  • Concepts — the blueprint vs. materialization model and the execution architecture.