Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

python_for_fluss-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

python_for_fluss-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

python_for_fluss-0.1.1-cp312-cp312-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

python_for_fluss-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

python_for_fluss-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

python_for_fluss-0.1.1-cp311-cp311-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

python_for_fluss-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

python_for_fluss-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

python_for_fluss-0.1.1-cp310-cp310-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

python_for_fluss-0.1.1-cp39-cp39-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

python_for_fluss-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

python_for_fluss-0.1.1-cp39-cp39-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file python_for_fluss-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_for_fluss-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ebcc3ae53625d9592cad56f4398317f7bb70db78aaeb4f2b1af50b8c5a63c6e0
MD5 90b0017c36c6344542d4605083b4bccb
BLAKE2b-256 188d4b2a8ddd3dc675bd06927a02f1948b9f08870bac750214ca0f04626a2f28

See more details on using hashes here.

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

File hashes

Hashes for python_for_fluss-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5b15f03deaff8716884b689223a8b21d8ab136386f04a210c9205b8a4ec17b24
MD5 a1f065e3467148a8fbe60b293ee28fe3
BLAKE2b-256 6c9e49f669c49f63203627e67a5149a13f5e73739705c9bdd517aa6b244e9e73

See more details on using hashes here.

File details

Details for the file python_for_fluss-0.1.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_for_fluss-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a7a5043ec128a2fe255174fc57ab9e0dbb2e1405aba6941f9e290bf51f05dd5f
MD5 1a59d6d167e1d93e5c57d0e1191423ee
BLAKE2b-256 a7fc044454203bf6d7e4ae411d2dc0c0b53a17a1d2b01690ba391b6df14b6fbc

See more details on using hashes here.

File details

Details for the file python_for_fluss-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_for_fluss-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ca83b4dfa7528c0f398c02af2403f71840511565642322bf0951309a04e49db7
MD5 07cde91cacbb5dfb96de967e82971202
BLAKE2b-256 0cdc582a6d8b7c4e2f27c198dee2d1147c8abe6209bc9a300d13f41403da3394

See more details on using hashes here.

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

File hashes

Hashes for python_for_fluss-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 74cc6e5ccb0ba52a5fe8925c9bb7e56cc267ecd33db4f88656ef54303f566234
MD5 5626a39399992fae181caf095b7f930b
BLAKE2b-256 7072d2d542ab67a9903b25df48e515bb0bf9e2856c4fc739ebd4c48a7aadb417

See more details on using hashes here.

File details

Details for the file python_for_fluss-0.1.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_for_fluss-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4636af174d0ad747cc7230ab1c5499c03fdb0fb8a654784fad0924f75e0adb67
MD5 d38007dc3dff536902ceaf7def02edb9
BLAKE2b-256 a19588fb5545973377b28b05992d6dde199cfe51618cc206018842d203592c90

See more details on using hashes here.

File details

Details for the file python_for_fluss-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_for_fluss-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 41d22bd1d3f581ea4698faced2e3ce09f5f668ae23b261e1ada58e719ef2358e
MD5 c1f0e249e72d3e0e23b376fd2e56cd0d
BLAKE2b-256 ba994d3b6955bb250d6d15fce881cd2ebef33c20f9e164dbf19a48738f1e09cb

See more details on using hashes here.

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

File hashes

Hashes for python_for_fluss-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bee31b26b8a3443953cf6ce230a9a827531214d571ecca71cf1dc87832f0b8b6
MD5 167197dbd726a2293d0f9ee0c838f6ff
BLAKE2b-256 efc42ff467d50f87da350d96b4a90cfbd5af068a38e00b1852d94cb774461640

See more details on using hashes here.

File details

Details for the file python_for_fluss-0.1.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_for_fluss-0.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 66067ca694b4539671617440e8e7107038513300397b49c4b81d839b8c30e62e
MD5 331c96bf2a4453ccdfe6cca87b355d4a
BLAKE2b-256 fd79412ef3557569a78e4c94d65598f1a36da1939d63f68fea87bba6ec706df0

See more details on using hashes here.

File details

Details for the file python_for_fluss-0.1.1-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_for_fluss-0.1.1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ab344584910d53f18ac894b310331701bfce5c99c1798f6fe809af0bbfe7bdf5
MD5 013dc3bb06aef414637ba8689f933ad2
BLAKE2b-256 8f522661907f38c3e2a70c6afb88105f9ae5c10d0b799ae2ed7f712ea5c0ac24

See more details on using hashes here.

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

File hashes

Hashes for python_for_fluss-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9be2abeb9191f70b8b2e2d34fe5981bd346762684c736485fac49bf364de2bac
MD5 62f3039a10359edc47f13046f93aba1b
BLAKE2b-256 de8e2ec7eb39cfc5dd2542efb31ee01f663178f0636fbabb1f8d024bbe9cb14b

See more details on using hashes here.

File details

Details for the file python_for_fluss-0.1.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_for_fluss-0.1.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 255b934e4ff7f708287cca449dca1b0099bf9ba47fc9b64e18a4ba252cd4285d
MD5 803a981dbc9fa69a7f4ffadac7692213
BLAKE2b-256 e4ef1528e34a59ae82494ca619c1dbc7058be5325b395112cd299e3efb747fbe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page