Skip to main content

Python client library for Fluvio

Project description

Fluvio Client for Python

Python binding for Fluvio streaming platform.

Build License PyPi

Documentation

Fluvio client uses pdoc to generate the client API documentation.

Installation

pip install fluvio

This will get the wheel for the os/architecture of the installation system if available, otherwise it will try to build from source. If building from source, you will need the rust compiler and maybe some operating system sources.

Example Usage

Producer

from fluvio import Fluvio
fluvio = Fluvio.connect()
producer = fluvio.topic_producer('my-topic')
producer.send_string("FOOBAR")
producer.flush()

Consumer

from fluvio import (Fluvio, Offset)
fluvio = Fluvio.connect()
consumer = fluvio.partition_consumer('my-topic', 0)
stream = consumer.stream(Offset.beginning())

for i in stream:
    print(i.value_string())

Developer Notes

This project uses PyO3 to wrap the fluvio crate.

setuptools-rust bundles it into a python package. For cross platform builds, cibuildwheel is used.

Running the tests locally require having already setup a fluvio locally or on fluvio cloud.

Add python unit tests in the tests directory using the built in python unittest framework

You should probably stick to using make integration-tests which will create the virtual environment and install the package in the site-packages in the venv directory. This makes sure that the package is also packaged correctly.

If you'd like more rapid testing, once you've got the virtual environment activated, python setup.py test will compile the rust as a static library and put it as fluvio/fluvio_python.cpython-39-x86_64-linux-gnu.so. This filename is dependent on the host OS and python version. FLUVIO_CLOUD_TEST_PASSWORD` to your fork's secrets.

When submitting a PR, CI checks a few things:

  • make integration-tests against a fluvio cluster in CI.
  • make macos-ci-tests with no fluvio cluster present (the macOS github runner is flakey) to verify linking is done correctly.
  • make lint. This checks that cargo fmt, flake8 and black are all clear.

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

fluvio-0.17.0-cp312-cp312-manylinux_2_28_x86_64.whl (5.7 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64

fluvio-0.17.0-cp312-cp312-macosx_10_9_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

fluvio-0.17.0-cp312-cp312-macosx_10_9_universal2.whl (10.9 MB view details)

Uploaded CPython 3.12 macOS 10.9+ universal2 (ARM64, x86-64)

fluvio-0.17.0-cp311-cp311-manylinux_2_28_x86_64.whl (5.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

fluvio-0.17.0-cp311-cp311-macosx_10_9_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

fluvio-0.17.0-cp311-cp311-macosx_10_9_universal2.whl (10.9 MB view details)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

fluvio-0.17.0-cp310-cp310-manylinux_2_28_x86_64.whl (5.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

fluvio-0.17.0-cp310-cp310-macosx_10_9_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

fluvio-0.17.0-cp310-cp310-macosx_10_9_universal2.whl (10.9 MB view details)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

fluvio-0.17.0-cp39-cp39-manylinux_2_28_x86_64.whl (5.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

fluvio-0.17.0-cp39-cp39-macosx_10_9_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

fluvio-0.17.0-cp39-cp39-macosx_10_9_universal2.whl (10.9 MB view details)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

fluvio-0.17.0-cp38-cp38-manylinux_2_28_x86_64.whl (5.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

fluvio-0.17.0-cp38-cp38-macosx_10_9_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

fluvio-0.17.0-cp38-cp38-macosx_10_9_universal2.whl (10.9 MB view details)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

fluvio-0.17.0-cp38-abi3-manylinux2014_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.8+

fluvio-0.17.0-cp38-abi3-linux_armv7l.whl (5.2 MB view details)

Uploaded CPython 3.8+

fluvio-0.17.0-cp38-abi3-linux_armv6l.whl (5.2 MB view details)

Uploaded CPython 3.8+

File details

Details for the file fluvio-0.17.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fluvio-0.17.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bab1146d1866e5885709309d6fdc05e088b434474634c8b21ff245a23891b6e7
MD5 e71aa0f71a3855a4d4336f35393017e8
BLAKE2b-256 d42f79e4198584f0fd4fdc35541f469e138513b08db828761e5d947dec6cf5cf

See more details on using hashes here.

File details

Details for the file fluvio-0.17.0-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fluvio-0.17.0-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cf1950ca9351b2193752bc0c8b5a62fadfccc0d99ab4aebaa3394238fa0e5cfa
MD5 5015ded92115837200c0d476a5c60dd5
BLAKE2b-256 81a98c67f6c4138408bf6defe76f9aedf907169499cd72a11a3277d957d351fa

See more details on using hashes here.

File details

Details for the file fluvio-0.17.0-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for fluvio-0.17.0-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 8487286b18675cc8f4bd335caa0f346d7696bd4521a77e2bee6bf0cf3da5e215
MD5 dd4d6636bec5c71b564ad711611d48dc
BLAKE2b-256 566949f0709bc1970c053ae8d365307765c9313d072d479b73d79bace74d1fb0

See more details on using hashes here.

File details

Details for the file fluvio-0.17.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fluvio-0.17.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f1b012b7876b7585ea4ac4469e5292a7d2e52bdbbb393f00c612a8189c292c6f
MD5 ee6f124fe50b1272fde095c0c973cc2c
BLAKE2b-256 1be6d61e731ae045f2540b7f8d50064df2138def06583fe700c7951fbf0e8bb8

See more details on using hashes here.

File details

Details for the file fluvio-0.17.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fluvio-0.17.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f55d7df5a257473dc43dc33f45933b3f6dbb37ab5d96b571a177cc4082749814
MD5 c45832bdd2da9471f3ecfc15f830a22b
BLAKE2b-256 7c743b22bdfa6b951f380adce6c3a3c804ae77c9d62914aed45b3ae8fda1efdf

See more details on using hashes here.

File details

Details for the file fluvio-0.17.0-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for fluvio-0.17.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b330d9d4cdf4ee7d0ddb0d74872d1d9fe11e3f7d9a63d0ed176a9b482aad11ff
MD5 412cf26cd5f0e91362c424d014fb2845
BLAKE2b-256 c186ed2973278f34eb4bef97db76c554f3616eb5c28f42208e34b7fc5e6c44d3

See more details on using hashes here.

File details

Details for the file fluvio-0.17.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fluvio-0.17.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 083e743c99d3d8b9915a11097413baa0891f2094cd5948bd835a364cff831bb0
MD5 762194dc3edab66d1a71eed2222b3aa6
BLAKE2b-256 9ca1f671fedad1037a8bfd3b3b4f47cbeeb5e407b4ef00df174bdc1df89932da

See more details on using hashes here.

File details

Details for the file fluvio-0.17.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fluvio-0.17.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4839eb6451efb30c713f2175678b3794adc1841464f9670b0fc7ccfa1fa740d4
MD5 1a6ce7387d869a9166949a658102ed8f
BLAKE2b-256 04512001a97b65357a40c3471a785caea48ac52fd52631a1ce5f28de72c5efbb

See more details on using hashes here.

File details

Details for the file fluvio-0.17.0-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for fluvio-0.17.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7adcfd4e529ab55ba0555490a4ba1162a52a448bfec1af36b8bb9851d1a40ae8
MD5 c146b6299fb3974c49b70ee462792719
BLAKE2b-256 e2f90cffcdf3a717bc1c9c4cf347dd3e9ec8f3f22fcfea6dda158e3158c1e843

See more details on using hashes here.

File details

Details for the file fluvio-0.17.0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fluvio-0.17.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 053626192d6aa27f0c6b2b0decb6f0df84da94b1165507b64c28d42f7cdc2ae7
MD5 ff84225cce35e6b6c8313394e1626b06
BLAKE2b-256 dbb09db52b74e4bd30b1661b9b8ce41b92e3814eda055f24c427d6b6ca72f807

See more details on using hashes here.

File details

Details for the file fluvio-0.17.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fluvio-0.17.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 236c663d88644255e5188ac6b6d7dbc5e06f54120630daf1940d217db0c53744
MD5 b22c106cc9f9403c5ab377e6fe16e9f6
BLAKE2b-256 db103f741eb257dddcba97bf31968546f2bd1db6a6e772072b9932697341aa28

See more details on using hashes here.

File details

Details for the file fluvio-0.17.0-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for fluvio-0.17.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 13f671b57d488c6c141b5a272930fe1e21d282f91e60f785944e26e8bbc281e5
MD5 5b7beb1411c122896753fb0fecd083ca
BLAKE2b-256 0d204421add15bcc7272533d05cef53bfa626eb9412e84a1ff1798431e51705d

See more details on using hashes here.

File details

Details for the file fluvio-0.17.0-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fluvio-0.17.0-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 146d04849ac18b4e20b92ea9f4de8365ad8c5d85b6f27f78ca212938eec3b35c
MD5 dbfd82af188acf17fceb8d80d70c0db3
BLAKE2b-256 95e1ad94610ecbedc4977cf17f0cb909c944bd097ac66f9f59a1714ec5b2607e

See more details on using hashes here.

File details

Details for the file fluvio-0.17.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fluvio-0.17.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cebe1dd8a23737b33fa9f34061a1502fe232344fbd26bd1e904a7375f176c84e
MD5 d1a75287f759c067eb73d0988522ca8b
BLAKE2b-256 633c684e66b0a094267d1086985f867de274c33a15347c11e2f7c5c40fd96aa9

See more details on using hashes here.

File details

Details for the file fluvio-0.17.0-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for fluvio-0.17.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 6ca86a3baaee7b70b0953fe639a7ca58b29f79b5f4e12b5ef8adc60c1ccbb272
MD5 9072635c9f02eb42162596de63718fd7
BLAKE2b-256 ac077953e62b4f55b8e6ac4c47bf6f4e76202cc4f907c19ad100ce00bee6109c

See more details on using hashes here.

File details

Details for the file fluvio-0.17.0-cp38-abi3-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fluvio-0.17.0-cp38-abi3-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 50386b72d7c68ebf4889303bc054f3f95b93b63dbe9d2db14fd5406c249d935f
MD5 ab3891570d45a6e0fd84795b3bebf4ba
BLAKE2b-256 c83130e1fc547d59387716dbd259448e295382f5137b8680fd8be2495afa4f5a

See more details on using hashes here.

File details

Details for the file fluvio-0.17.0-cp38-abi3-linux_armv7l.whl.

File metadata

File hashes

Hashes for fluvio-0.17.0-cp38-abi3-linux_armv7l.whl
Algorithm Hash digest
SHA256 7ee13e92b7e99a21ba663f385b795a74ace2bac1a58f33c90f4a3f753b5c3e19
MD5 01cbfe99870fef593ff2ba90c4ec5365
BLAKE2b-256 71d893f7566273c4b67cd571b04b2e1c22beeccd56fc2936a5207c860b02a16d

See more details on using hashes here.

File details

Details for the file fluvio-0.17.0-cp38-abi3-linux_armv6l.whl.

File metadata

File hashes

Hashes for fluvio-0.17.0-cp38-abi3-linux_armv6l.whl
Algorithm Hash digest
SHA256 bd0ba74874ea252aa2c17b32207e3674e094c1ae41c759dd8710de40fa32c9b0
MD5 3ec5d044a47481df5e53af3b65fa8603
BLAKE2b-256 e3081b4dc1bff9dd5a459dd742fd8462718ff8751f636d64c9a12d037f34ba4d

See more details on using hashes here.

Supported by

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