This project builds the Rust-powered core for PyPaimon while also providing DataFusion integration for querying Paimon tables.
Install via PyPI:
pip install pypaimon-rust
If you want to use the native Python DataFusion SessionContext, install datafusion as well.
pypaimon-rust provides a PaimonCatalog that can be registered into the native DataFusion SessionContext. This keeps the standard DataFusion Python API available for regular queries.
from datafusion import SessionContext from pypaimon_rust.datafusion import PaimonCatalog catalog = PaimonCatalog({ "warehouse": "/path/to/warehouse", }) ctx = SessionContext() ctx.register_catalog_provider("paimon", catalog) # Query tables via SQL (catalog.database.table) df = ctx.sql("SELECT * FROM paimon.default.my_table LIMIT 10") df.show()
from datafusion import SessionContext from pypaimon_rust.datafusion import PaimonCatalog catalog = PaimonCatalog({ "metastore": "rest", "uri": "http://localhost:8080", "warehouse": "my_warehouse", }) ctx = SessionContext() ctx.register_catalog_provider("paimon", catalog)
Time travel queries are not supported in the Python binding at this time.