1#![deny(unsafe_code)]
33#![allow(missing_docs)]
36#![allow(clippy::trivially_copy_pass_by_ref)] #![allow(clippy::unnecessary_wraps)] #![allow(clippy::unwrap_used)]
39#![allow(clippy::expect_used)]
40#![allow(clippy::cast_precision_loss)]
41#![allow(clippy::cast_sign_loss)]
42#![allow(clippy::cast_possible_truncation)]
43#![allow(clippy::cast_possible_wrap)]
44#![allow(clippy::cast_lossless)]
45#![allow(clippy::approx_constant)]
46#![allow(clippy::len_zero)]
47#![allow(clippy::redundant_closure)]
48#![allow(clippy::redundant_clone)]
49#![allow(clippy::float_cmp)]
50#![allow(clippy::unreadable_literal)]
51#![allow(clippy::needless_collect)]
52#![allow(clippy::too_many_lines)]
53#![allow(clippy::bool_to_int_with_if)]
54#![allow(clippy::similar_names)]
55#![allow(clippy::doc_markdown)]
56#![allow(clippy::uninlined_format_args)]
57#![allow(clippy::redundant_closure_for_method_calls)]
58#![allow(clippy::map_unwrap_or)]
59#![allow(clippy::useless_conversion)]
60#![allow(clippy::iter_on_single_items)]
61#![allow(clippy::suboptimal_flops)]
62#![allow(clippy::cloned_ref_to_slice_refs)]
63#[macro_use]
64#[allow(unused_macros)]
65mod generated_contracts;
66#[cfg(feature = "tokio-runtime")]
67pub mod async_prefetch;
68pub mod backend;
69#[cfg(feature = "cli")]
71pub mod cli;
72pub mod dataloader;
73pub mod dataset;
74pub mod datasets;
75#[cfg(feature = "doctest")]
76pub mod doctest;
77pub mod drift;
78pub mod error;
79pub mod federated;
80pub mod format;
81#[cfg(feature = "hf-hub")]
82pub mod hf_hub;
83pub mod imbalance;
84#[cfg(feature = "mmap")]
85pub mod mmap;
86pub mod parallel;
87pub mod quality;
88pub mod registry;
89#[cfg(feature = "repl")]
90pub mod repl;
91pub mod serve;
92pub mod sketch;
93pub mod split;
94pub mod streaming;
95pub mod tensor;
96pub mod transform;
97pub mod tui;
99#[cfg(feature = "shuffle")]
100pub mod weighted;
101pub use arrow::{
104 array::RecordBatch,
105 datatypes::{Schema, SchemaRef},
106};
107#[cfg(feature = "tokio-runtime")]
108pub use async_prefetch::{AsyncPrefetchBuilder, AsyncPrefetchDataset, SyncPrefetchDataset};
109pub use dataloader::DataLoader;
110pub use dataset::{ArrowDataset, CsvOptions, Dataset, JsonOptions};
111#[cfg(feature = "doctest")]
112pub use doctest::{DocTest, DocTestCorpus, DocTestParser};
113pub use drift::{ColumnDrift, DriftDetector, DriftReport, DriftSeverity, DriftTest};
114pub use error::{Error, Result};
115pub use federated::{
116 FederatedSplitCoordinator, FederatedSplitStrategy, GlobalSplitReport, NodeSplitInstruction,
117 NodeSplitManifest, NodeSummary, SplitQualityIssue,
118};
119#[cfg(feature = "shuffle")]
120pub use imbalance::resample;
121pub use imbalance::{
122 sqrt_inverse_weights, ClassDistribution, ImbalanceDetector, ImbalanceMetrics,
123 ImbalanceRecommendation, ImbalanceReport, ImbalanceSeverity, ResampleStrategy,
124};
125#[cfg(feature = "mmap")]
126pub use mmap::{MmapDataset, MmapDatasetBuilder};
127pub use parallel::{ParallelDataLoader, ParallelDataLoaderBuilder};
128pub use quality::{
129 ColumnQuality, QualityChecker, QualityIssue, QualityProfile, QualityReport, TextColumnStats,
130};
131pub use sketch::{
132 Centroid, DDSketch, DataSketch, DistributedDriftDetector, SketchDriftResult, SketchType,
133 TDigest,
134};
135pub use split::DatasetSplit;
136pub use transform::{
137 Cast, Chain, Drop, FillNull, FillStrategy, Filter, Map, NormMethod, Normalize, Rename, Select,
138 Skip, Sort, SortOrder, Take, Transform, Unique,
139};
140#[cfg(feature = "shuffle")]
141pub use transform::{Fim, FimFormat, FimTokens, Sample, Shuffle};
142pub use tui::{DatasetAdapter, DatasetViewer, RowDetailView, SchemaInspector, TuiError, TuiResult};
143#[cfg(feature = "shuffle")]
144pub use weighted::WeightedDataLoader;