Fluss Python Bindings
Python bindings for Fluss using PyO3 and Maturin.
System Requirements
- Python 3.9+
- Rust 1.70+
- uv package manager
- MacOS
⚠️ 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.
Development Environment Setup
1. Install Dependencies-dev
cd bindings/python
uv sync --all-extras
2. Build Development Version
source .venv/bin/activate
uv run maturin develop
3. Build Release Version
uv run maturin build --release
4. Code Formatting and Linting
uv run ruff format python/
uv run ruff check python/
5. Type Checking
uv run mypy python/
6. Run Examples
uv run python example/example.py
7. Build API docs:
uv run pdoc fluss_python
Project Structure
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
├── python/ # Python package source
│ └── fluss_python/
│ ├── __init__.py # Python package entry
├── __init__.pyi # Stub file
│ └── py.typed # Type declarations
└── example/ # Example code
└── example.py
API Overview
Basic Usage
Core Classes
Config
Configuration for Fluss connection parameters
FlussConnection
Main interface for connecting to Fluss cluster
FlussAdmin
Administrative operations for managing tables (create, delete, etc.)
FlussTable
Represents a Fluss table, providing read and write operations
TableWriter
Used for writing data to tables, supports PyArrow and Pandas
LogScanner
Used for scanning table log data
Release
# Build wheel
uv run maturin build --release
# Publish to PyPI
uv run maturin publish
License
Apache 2.0 License
Metadata
Release files for python-for-fluss 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 22.1 MB
Release files / python_for_fluss-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | python_for_fluss-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
ebcc3ae53625d9592cad56f4398317f7bb70db78aaeb4f2b1af50b8c5a63c6e0
|
|
BLAKE2b-256 checksum How to use checksums |
188d4b2a8ddd3dc675bd06927a02f1948b9f08870bac750214ca0f04626a2f28
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Release files / python_for_fluss-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | python_for_fluss-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
5b15f03deaff8716884b689223a8b21d8ab136386f04a210c9205b8a4ec17b24
|
|
BLAKE2b-256 checksum How to use checksums |
6c9e49f669c49f63203627e67a5149a13f5e73739705c9bdd517aa6b244e9e73
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Release files / python_for_fluss-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | python_for_fluss-0.1.1-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a7a5043ec128a2fe255174fc57ab9e0dbb2e1405aba6941f9e290bf51f05dd5f
|
|
BLAKE2b-256 checksum How to use checksums |
a7fc044454203bf6d7e4ae411d2dc0c0b53a17a1d2b01690ba391b6df14b6fbc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Release files / python_for_fluss-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | python_for_fluss-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
ca83b4dfa7528c0f398c02af2403f71840511565642322bf0951309a04e49db7
|
|
BLAKE2b-256 checksum How to use checksums |
0cdc582a6d8b7c4e2f27c198dee2d1147c8abe6209bc9a300d13f41403da3394
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Release files / python_for_fluss-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | python_for_fluss-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
74cc6e5ccb0ba52a5fe8925c9bb7e56cc267ecd33db4f88656ef54303f566234
|
|
BLAKE2b-256 checksum How to use checksums |
7072d2d542ab67a9903b25df48e515bb0bf9e2856c4fc739ebd4c48a7aadb417
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Release files / python_for_fluss-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | python_for_fluss-0.1.1-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4636af174d0ad747cc7230ab1c5499c03fdb0fb8a654784fad0924f75e0adb67
|
|
BLAKE2b-256 checksum How to use checksums |
a19588fb5545973377b28b05992d6dde199cfe51618cc206018842d203592c90
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Release files / python_for_fluss-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | python_for_fluss-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
41d22bd1d3f581ea4698faced2e3ce09f5f668ae23b261e1ada58e719ef2358e
|
|
BLAKE2b-256 checksum How to use checksums |
ba994d3b6955bb250d6d15fce881cd2ebef33c20f9e164dbf19a48738f1e09cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Release files / python_for_fluss-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | python_for_fluss-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
bee31b26b8a3443953cf6ce230a9a827531214d571ecca71cf1dc87832f0b8b6
|
|
BLAKE2b-256 checksum How to use checksums |
efc42ff467d50f87da350d96b4a90cfbd5af068a38e00b1852d94cb774461640
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Release files / python_for_fluss-0.1.1-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | python_for_fluss-0.1.1-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
66067ca694b4539671617440e8e7107038513300397b49c4b81d839b8c30e62e
|
|
BLAKE2b-256 checksum How to use checksums |
fd79412ef3557569a78e4c94d65598f1a36da1939d63f68fea87bba6ec706df0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Release files / python_for_fluss-0.1.1-cp39-cp39-musllinux_1_2_x86_64.whl
| Download URL | python_for_fluss-0.1.1-cp39-cp39-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
ab344584910d53f18ac894b310331701bfce5c99c1798f6fe809af0bbfe7bdf5
|
|
BLAKE2b-256 checksum How to use checksums |
8f522661907f38c3e2a70c6afb88105f9ae5c10d0b799ae2ed7f712ea5c0ac24
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Release files / python_for_fluss-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | python_for_fluss-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
9be2abeb9191f70b8b2e2d34fe5981bd346762684c736485fac49bf364de2bac
|
|
BLAKE2b-256 checksum How to use checksums |
de8e2ec7eb39cfc5dd2542efb31ee01f663178f0636fbabb1f8d024bbe9cb14b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Release files / python_for_fluss-0.1.1-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | python_for_fluss-0.1.1-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
255b934e4ff7f708287cca449dca1b0099bf9ba47fc9b64e18a4ba252cd4285d
|
|
BLAKE2b-256 checksum How to use checksums |
e4ef1528e34a59ae82494ca619c1dbc7058be5325b395112cd299e3efb747fbe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|