PyIceberg-core is a foundational Python library that provides a Rust-powered core for PyIceberg, enabling efficient access to Apache Iceberg tables without a JVM. It's primarily intended as an internal dependency for the main PyIceberg library but offers performance optimizations for Iceberg data operations. The current version is 0.9.0, and it is actively maintained as part of the broader Apache Iceberg Python project with frequent releases aligning with PyIceberg.
pip install pyiceberg-coreVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to use PyIceberg (which leverages pyiceberg-core) to set up a local SQLite catalog, create a namespace and a table with a defined schema, append data using PyArrow, and then read the data back. It includes necessary cleanup.
For general usage, install `pyiceberg` and optionally include `pyiceberg-core` as an extra: `pip install "pyiceberg[pyiceberg-core]"`. `pyiceberg` will then leverage the Rust core for optimized operations.
Install the appropriate filesystem package for your storage solution, e.g., `pip install "pyiceberg[s3fs]"` for S3 or `pip install "pyiceberg[pyarrow]"` for PyArrow-backed I/O.
If using DataFusion, check the latest PyIceberg documentation for compatible DataFusion versions. The integration is evolving and may have breaking changes or strict version requirements. Avoid using in production without careful testing.
Ensure your environment has a compatible Rust toolchain installed if you encounter build errors during installation. For most common platforms, pre-built wheels should handle this automatically.