uni-bulk 2.0.3

High-throughput bulk ingestion engine for uni-db (BulkWriter, StreamingAppender, deferred index rebuild)
Documentation
// SPDX-License-Identifier: Apache-2.0
// Copyright 2024-2026 Dragonscale Team

//! High-throughput bulk ingestion engine for uni-db.
//!
//! This crate provides the standalone write path that powers
//! `uni_db::Transaction::bulk_writer()` and `appender()`:
//!
//! - [`BulkWriter`] / [`BulkWriterBuilder`] — buffered, index-deferred bulk
//!   loading of vertices and edges with constraint validation, automatic
//!   checkpointing, async or blocking index rebuild, and version-based
//!   abort/rollback.
//! - [`StreamingAppender`] / [`AppenderBuilder`] — an ergonomic row-by-row
//!   append API for a single label, layered over [`BulkWriter`].
//!
//! The engine takes its storage/schema/writer handles via [`BulkBackend`],
//! a plain dependency-injection bundle constructed by the uni-db driver. No
//! trait indirection is used on the hot batch-write path.
//!
//! The shutdown coordinator ([`uni_plugin_host::shutdown::ShutdownHandle`])
//! lives in `uni-plugin-host`; the async index-rebuild path subscribes to it
//! via [`BulkBackend::shutdown`].

pub mod appender;
pub mod bulk;

pub use appender::{AppenderBuilder, StreamingAppender};
pub use bulk::{
    BulkBackend, BulkConfig, BulkPhase, BulkProgress, BulkStats, BulkWriter, BulkWriterBuilder,
    EdgeData, IntoArrow, record_batch_to_property_maps,
};