Skip to main content

robin_sparkless_polars/
lib.rs

1//! Robin Sparkless Polars: DataFrame, Session, Column, and expression layer (single crate that depends on Polars).
2
3#![allow(clippy::collapsible_if)]
4#![allow(clippy::let_and_return)]
5
6pub mod column;
7pub mod dataframe;
8pub mod engine_backend;
9pub mod error;
10pub mod expr_ir;
11pub mod expression;
12pub mod functions;
13pub mod plan;
14pub mod schema;
15pub(crate) mod schema_conv;
16pub mod session;
17pub mod traits;
18
19pub mod type_coercion;
20pub mod udf_context;
21pub mod udf_registry;
22pub mod udfs;
23
24#[cfg(feature = "delta")]
25pub mod delta;
26#[cfg(feature = "sql")]
27pub mod sql;
28
29pub type Expr = polars::prelude::Expr;
30pub type LiteralValue = polars::prelude::LiteralValue;
31/// Re-export for root crate and API that returns Polars errors.
32pub use polars::error::PolarsError;
33/// Re-export for root DataFrame::from_polars.
34pub use polars::prelude::DataFrame as PlDataFrame;
35/// Re-export for root DataFrame::get_column_dtype return type.
36pub use polars::prelude::DataType as PlDataType;
37/// Re-export for root DataFrame::from_lazy.
38pub use polars::prelude::LazyFrame;
39/// Re-export for root SparkSession::register_udf.
40pub use polars::prelude::Series;
41
42pub use column::Column;
43pub use dataframe::{
44    CubeRollupData, DataFrame, GroupedData, JoinType, PivotedGroupedData, SaveMode, SelectItem,
45    WriteFormat, WriteMode, broadcast,
46};
47pub use error::{EngineError, polars_to_core_error};
48pub use expression::{column_to_expr, lit_bool, lit_f64, lit_i32, lit_i64, lit_str};
49pub use functions::*;
50pub use schema::{DataType, StructField, StructType, StructTypePolarsExt, schema_from_json};
51pub use session::{DataFrameReader, SparkSession, SparkSessionBuilder};
52pub use traits::{FromRobinDf, IntoRobinDf};
53pub use type_coercion::{
54    CompareOp, coerce_for_pyspark_comparison, coerce_for_pyspark_eq_null_safe, find_common_type,
55};
56pub use udf_context::{get_thread_udf_context, set_thread_udf_context};
57pub use udf_registry::{RustUdf, UdfRegistry};