Skip to main content

ailake_catalog/
lib.rs

1// SPDX-License-Identifier: MIT OR Apache-2.0
2//! ailake-catalog — Iceberg catalog operations
3//!
4//! Implements CatalogProvider for all supported backends.
5//! This is the only crate that reads/writes metadata.json and manifests.
6//!
7//! See docs/architecture/CATALOG_BACKENDS.md for backend details.
8
9pub mod avro_manifest;
10pub mod avro_raw;
11#[cfg(feature = "rest-catalog")]
12pub mod databricks;
13pub mod hadoop;
14pub mod metadata;
15pub mod provider;
16#[cfg(feature = "rest-catalog")]
17pub mod rest;
18pub mod snapshot;
19
20#[cfg(feature = "catalog-glue")]
21pub mod glue;
22
23#[cfg(feature = "catalog-nessie")]
24pub mod nessie;
25
26#[cfg(feature = "catalog-jdbc")]
27pub mod jdbc;
28
29#[cfg(feature = "rest-catalog")]
30pub use databricks::{databricks_aws, databricks_azure, databricks_gcp, DatabricksAuth};
31pub use hadoop::HadoopCatalog;
32pub use provider::{
33    decode_centroid, encode_centroid_b64, make_data_file_entry, make_data_file_entry_indexing,
34    make_multi_column_data_file_entry, new_snapshot_id, CatalogProvider, DataFileEntry,
35    ExtraVectorIndex, IcebergSchemaUpdate, IndexStatus, NewSnapshot, SnapshotId, SnapshotOperation,
36    TableIdent, TableMetadata, TableProperties, VectorIndexInfo,
37};
38#[cfg(feature = "rest-catalog")]
39pub use rest::{RestCatalog, RestCatalogAuth, RestCatalogConfig};
40
41#[cfg(feature = "catalog-glue")]
42pub use glue::{GlueCatalog, GlueCatalogConfig};
43
44#[cfg(feature = "catalog-nessie")]
45pub use nessie::{NessieBranch, NessieCatalog, NessieCatalogConfig};
46
47#[cfg(feature = "catalog-jdbc")]
48pub use jdbc::JdbcCatalog;