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.16.5-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.16.5-cp312-cp312-macosx_10_9_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

fluvio-0.16.5-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.16.5-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.16.5-cp311-cp311-macosx_10_9_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

fluvio-0.16.5-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.16.5-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.16.5-cp310-cp310-macosx_10_9_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

fluvio-0.16.5-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.16.5-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.16.5-cp39-cp39-macosx_10_9_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

fluvio-0.16.5-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.16.5-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.16.5-cp38-cp38-macosx_10_9_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

fluvio-0.16.5-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.16.5-cp38-abi3-manylinux2014_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.8+

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

Uploaded CPython 3.8+

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

Uploaded CPython 3.8+

File details

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

File metadata

File hashes

Hashes for fluvio-0.16.5-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bbcd8a3a59e20b38f776d163272ddc49a04ca23600ac8934af71a7cdc216b448
MD5 4d46a3f9dbb496a53ef200a58be6d4ff
BLAKE2b-256 dbd645bc7fec22e812e6805b60f3766cdf6f00b7fb2587604f429d9b7c126a33

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fluvio-0.16.5-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6af57feb7bd3f7bf51bce1cf9b98049bfc540bd6e02bc55e74d4c19615ad34c4
MD5 09c5c06d303888e35fdb243bf32c5fbe
BLAKE2b-256 32ba2be5be245b4ae987557160b01f90431deffa500479348f336386fb20f819

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fluvio-0.16.5-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e2a45bcc733c46413701f5e05eeb6f1b25ae675799569da945508c36c834faa2
MD5 14ce7dc5fb611143c3fc66b6aa48272c
BLAKE2b-256 ff762bf23383d844a7e9a0dfc2eb5bd475d734bfa437ccc20202b84a06aacfad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fluvio-0.16.5-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cd93000f5b66b943a0412daf5f2f3bdc08ea0521884d8c9eb0718df42aa80105
MD5 6dcfdc6e41b3908fcb1a2b2aabe0ba3d
BLAKE2b-256 9b403760768705e2181d40f4ee08e8a638b3b3ccf1de57818bbfce05082bd857

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fluvio-0.16.5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 55d00378133efefb4e89dd59bd2903f469ffe65e0dbe3f4025ee97c174c6475b
MD5 dc6e17690ed28fa23afb07aa419dec4a
BLAKE2b-256 d28a6e67ea902694c675fb96ccf3d9af31dbe91863daa8436ee6d9a2d75644e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fluvio-0.16.5-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 cfc223a1aa21141e4b7b01971e791625bdd79b2d42df9594a1925beaf26c6190
MD5 5f8682c2fbdbe65fc6edc3cecf12bd24
BLAKE2b-256 dfbc3c4e4090dba132201c64230f9a64c0d671f79a6b9c33c29a86fefdc820bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fluvio-0.16.5-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 de39b30e7a0c55bfaa26918f480b1591287a3c21066165656d87b728d8e841e8
MD5 fe552612d17ec52599f3f8f510c24d74
BLAKE2b-256 22b5f70451d2ffa67f6ef2bae577723b0e877517201a0e473730505c7427a7de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fluvio-0.16.5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9529e34b0343da2c86afcd8b7698dce81a7948b9fea0b16aacde25b6f78d2c5e
MD5 70a178a96409a466c4e0faef37e4780a
BLAKE2b-256 1d0671ed3e27cfc51631fe4f32481a4b84d206a2802a55dfd7f71913ac560211

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fluvio-0.16.5-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 61954347b94c2a33016b0dadfec6a6d2f8a8abb1af4115ccca6d793f044074aa
MD5 230d853a8b4ba6da7af351a8e02759ab
BLAKE2b-256 7e78581ec37f23aafe83a82f0d30d1a6bdd37f13adb4c982b2e4c154789a3427

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fluvio-0.16.5-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 74cfc9829a85a774e90cad17320bc35083f10de31327f732aa4caed205ea5523
MD5 48afd00fa796dbb077c347445b348af9
BLAKE2b-256 736239319a01eaf54e97bcd0f62f7f325a31e2fd56ccc2689850fe87c29aabc8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fluvio-0.16.5-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 104bec78a0b214bc16ef2e630a9b6119129a068563b40ff2df917e639a8fd2e5
MD5 f7629fc3ec756d3a389774ad1f4ef13d
BLAKE2b-256 ff943d195d7209221ba347eb5a22046c5dfaab4f1bb5803a8d750b9ddb7b4b89

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fluvio-0.16.5-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 592f650115f9848e0684f1c582e04b8faf37a11e35dc7662d410050f2668797a
MD5 ec904bff20027490cda7511dc1291cb7
BLAKE2b-256 1617f6eacb7b3e41ba76178cf8198bd969f2c4a6eeefacb80d3817ca0cbd5511

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fluvio-0.16.5-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b8007aa37287553d7c150e9182004897d8fa1002cc825a98e58ef02ffc874f55
MD5 bf79982568783d668f1295622f436e15
BLAKE2b-256 815c07a6e1e1f5e471dcbe46a4b372d64152c677feedd11daf99343f81328e17

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fluvio-0.16.5-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5636113cd21033d382464bb2e2b4d4e6bc15844bbca6b4f276ce44e99d00be76
MD5 46178a3a739a142fa3813c133d5e07fe
BLAKE2b-256 fe7a713a5c0cc554476d2bb011335858b4acc5df4a14c7a397629fb7dc79e35b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fluvio-0.16.5-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3ed2b5e4b93f3773571d7dac25808d85b25841921e6c7a9204dc31078dc5babb
MD5 d9d7d23d327fe890c92fa1c4d59dcaae
BLAKE2b-256 25a829f91829d2f93c23fe8822da8bffa5880ec49501288d0528478afbfe64fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fluvio-0.16.5-cp38-abi3-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 30d37e5beaa367334d8b5535eb367e53c6be3a180879e9a3cd68b35ae55f948c
MD5 ce0beefd17e142cdd618773ad146f9c2
BLAKE2b-256 007966270821c1d84bdc74b05940438595e267988e4ae2ebfd1ff31084a082a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fluvio-0.16.5-cp38-abi3-linux_armv7l.whl
Algorithm Hash digest
SHA256 9a5e6dc0f305fe22f33c971cca1a9f3cb471b9fd8d30c2eaf93be43e656b4b91
MD5 cb8f3dd580734d7aafe6f42c29d8990d
BLAKE2b-256 2190c14b0805c6d605e5be5a0c26934329b1d2ee95a1535700fa3ee15d398bfb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fluvio-0.16.5-cp38-abi3-linux_armv6l.whl
Algorithm Hash digest
SHA256 069ece36bf6aa6d0f49e1417abeabe812c6a801e116b61da51a97ac44256b582
MD5 13f25252af32a136e436febc385fecef
BLAKE2b-256 2bf77b163c01a008da853aa0527d91effb8b5d829ce2dc77a3adf1324b7ed874

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