Skip to main content

vortex_layout/
lib.rs

1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: Copyright the Vortex contributors
3
4//! Layout trees, layout readers, scan planning, and segment IO.
5//!
6//! A [`Layout`] is the serialized, row-counted representation of an array tree. It records logical
7//! dtype, child layout relationships, segment ids, and encoding metadata; it does not own the
8//! segment bytes. A [`LayoutReader`] pairs a layout with a [`SegmentSource`](segments::SegmentSource)
9//! and session so scans can evaluate projections and filters.
10//!
11//! Most users enter this crate through file APIs, but extension authors implement [`VTable`] and
12//! [`LayoutStrategy`] to add new on-disk organizations.
13//!
14//! Scanning is built with [`scan::scan_builder::ScanBuilder`]. It accepts a bound projection,
15//! optional bound filter, optional row range, [`Selection`](vortex_scan::selection::Selection),
16//! split strategy, and task concurrency settings, then produces array streams or iterators.
17pub mod layouts;
18pub mod plan;
19
20pub use children::*;
21pub use encoding::*;
22pub use layout::*;
23pub use reader::*;
24pub use reader_context::*;
25pub use serde::*;
26pub use strategy::*;
27use vortex_session::registry::Interner;
28pub use vtable::*;
29pub mod aliases;
30mod children;
31pub mod display;
32mod encoding;
33pub mod flatbuffers;
34mod layout;
35mod reader;
36mod reader_context;
37pub mod scan;
38pub mod segments;
39pub mod sequence;
40mod serde;
41pub mod session;
42mod strategy;
43#[cfg(test)]
44mod test;
45mod vtable;
46
47pub type LayoutContext = Interner;