Python bindings for Fluss using PyO3 and Maturin.
TODO: Add basic usage examples here
ConfigConfiguration for Fluss connection parameters
FlussConnectionMain interface for connecting to Fluss cluster
FlussAdminAdministrative operations for managing tables (create, delete, etc.)
FlussTableRepresents a Fluss table, providing read and write operations
TableWriterUsed for writing data to tables, supports PyArrow and Pandas
LogScannerUsed for scanning table log data
⚠️ Before you start:
Please make sure you can successfully build and run the Fluss Rust client on your machine.
The Python bindings require a working Fluss Rust backend and compatible environment.
cd bindings/python uv sync --all-extras
source .venv/bin/activate uv run maturin develop
uv run maturin build --release
uv run ruff format python/ uv run ruff check python/
uv run mypy python/
uv run python example/example.py
uv run pdoc fluss
# Build wheel uv run maturin build --release # Publish to PyPI uv run maturin publish
bindings/python/
├── Cargo.toml # Rust dependency configuration
├── pyproject.toml # Python project configuration
├── README.md # This file
├── src/ # Rust source code
│ ├── lib.rs # Main entry module
│ ├── config.rs # Configuration related
│ ├── connection.rs # Connection management
│ ├── admin.rs # Admin operations
│ ├── table.rs # Table operations
│ ├── types.rs # Data types
│ └── error.rs # Error handling
├── fluss/ # Python package source
│ ├── __init__.py # Python package entry
│ ├── __init__.pyi # Stub file
│ └── py.typed # Type declarations
└── example/ # Example code
└── example.py
Apache 2.0 License