Python bindings for Fluss
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file python_for_fluss-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: python_for_fluss-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ebcc3ae53625d9592cad56f4398317f7bb70db78aaeb4f2b1af50b8c5a63c6e0
|
|
| MD5 |
90b0017c36c6344542d4605083b4bccb
|
|
| BLAKE2b-256 |
188d4b2a8ddd3dc675bd06927a02f1948b9f08870bac750214ca0f04626a2f28
|
File details
Details for the file python_for_fluss-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: python_for_fluss-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b15f03deaff8716884b689223a8b21d8ab136386f04a210c9205b8a4ec17b24
|
|
| MD5 |
a1f065e3467148a8fbe60b293ee28fe3
|
|
| BLAKE2b-256 |
6c9e49f669c49f63203627e67a5149a13f5e73739705c9bdd517aa6b244e9e73
|
File details
Details for the file python_for_fluss-0.1.1-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: python_for_fluss-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.7 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7a5043ec128a2fe255174fc57ab9e0dbb2e1405aba6941f9e290bf51f05dd5f
|
|
| MD5 |
1a59d6d167e1d93e5c57d0e1191423ee
|
|
| BLAKE2b-256 |
a7fc044454203bf6d7e4ae411d2dc0c0b53a17a1d2b01690ba391b6df14b6fbc
|
File details
Details for the file python_for_fluss-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: python_for_fluss-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca83b4dfa7528c0f398c02af2403f71840511565642322bf0951309a04e49db7
|
|
| MD5 |
07cde91cacbb5dfb96de967e82971202
|
|
| BLAKE2b-256 |
0cdc582a6d8b7c4e2f27c198dee2d1147c8abe6209bc9a300d13f41403da3394
|
File details
Details for the file python_for_fluss-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: python_for_fluss-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74cc6e5ccb0ba52a5fe8925c9bb7e56cc267ecd33db4f88656ef54303f566234
|
|
| MD5 |
5626a39399992fae181caf095b7f930b
|
|
| BLAKE2b-256 |
7072d2d542ab67a9903b25df48e515bb0bf9e2856c4fc739ebd4c48a7aadb417
|
File details
Details for the file python_for_fluss-0.1.1-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: python_for_fluss-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.7 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4636af174d0ad747cc7230ab1c5499c03fdb0fb8a654784fad0924f75e0adb67
|
|
| MD5 |
d38007dc3dff536902ceaf7def02edb9
|
|
| BLAKE2b-256 |
a19588fb5545973377b28b05992d6dde199cfe51618cc206018842d203592c90
|
File details
Details for the file python_for_fluss-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: python_for_fluss-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41d22bd1d3f581ea4698faced2e3ce09f5f668ae23b261e1ada58e719ef2358e
|
|
| MD5 |
c1f0e249e72d3e0e23b376fd2e56cd0d
|
|
| BLAKE2b-256 |
ba994d3b6955bb250d6d15fce881cd2ebef33c20f9e164dbf19a48738f1e09cb
|
File details
Details for the file python_for_fluss-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: python_for_fluss-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bee31b26b8a3443953cf6ce230a9a827531214d571ecca71cf1dc87832f0b8b6
|
|
| MD5 |
167197dbd726a2293d0f9ee0c838f6ff
|
|
| BLAKE2b-256 |
efc42ff467d50f87da350d96b4a90cfbd5af068a38e00b1852d94cb774461640
|
File details
Details for the file python_for_fluss-0.1.1-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: python_for_fluss-0.1.1-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.7 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66067ca694b4539671617440e8e7107038513300397b49c4b81d839b8c30e62e
|
|
| MD5 |
331c96bf2a4453ccdfe6cca87b355d4a
|
|
| BLAKE2b-256 |
fd79412ef3557569a78e4c94d65598f1a36da1939d63f68fea87bba6ec706df0
|
File details
Details for the file python_for_fluss-0.1.1-cp39-cp39-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: python_for_fluss-0.1.1-cp39-cp39-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.9, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab344584910d53f18ac894b310331701bfce5c99c1798f6fe809af0bbfe7bdf5
|
|
| MD5 |
013dc3bb06aef414637ba8689f933ad2
|
|
| BLAKE2b-256 |
8f522661907f38c3e2a70c6afb88105f9ae5c10d0b799ae2ed7f712ea5c0ac24
|
File details
Details for the file python_for_fluss-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: python_for_fluss-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9be2abeb9191f70b8b2e2d34fe5981bd346762684c736485fac49bf364de2bac
|
|
| MD5 |
62f3039a10359edc47f13046f93aba1b
|
|
| BLAKE2b-256 |
de8e2ec7eb39cfc5dd2542efb31ee01f663178f0636fbabb1f8d024bbe9cb14b
|
File details
Details for the file python_for_fluss-0.1.1-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: python_for_fluss-0.1.1-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.7 MB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
255b934e4ff7f708287cca449dca1b0099bf9ba47fc9b64e18a4ba252cd4285d
|
|
| MD5 |
803a981dbc9fa69a7f4ffadac7692213
|
|
| BLAKE2b-256 |
e4ef1528e34a59ae82494ca619c1dbc7058be5325b395112cd299e3efb747fbe
|