infinyon / fluvio-client-python

The Fluvio Python Client!
https://infinyon.github.io/fluvio-client-python/fluvio.html
Apache License 2.0
13 stars 12 forks source link

Python client async and admin upgrade #367

Closed digikata closed 6 months ago

digikata commented 7 months ago

Async

Add python async capable versions of the following fluvio python client capabilities.

The producer and consumer capabilities should also be able to be instantiated with config options in order to run with smartmodules. See Fluvio rust examples where config structs can specify smartmodules and their parameters to execute.

The async additions should not interfere the simpler sync versions . If it makes the implementation easier, a set of async classes could be created e.g. AsyncPartitionConsumer. Though if possible a single class is preferred with methods to create sync and async produce and consume objs.

Admin

Add the ability to run the Fluvio admin commands.

Map rust crate admin methods https://docs.rs/fluvio/latest/fluvio/struct.FluvioAdmin.html

Since the create, delete, list methods are generic over various object types, they should work for combinations available to the fluvio cli:

Reference links

sehz commented 7 months ago

see https://pyo3.rs/v0.13.2/ecosystem/async-await

digikata commented 7 months ago

Merged comments as well as https://github.com/infinyon/fluvio-client-python/issues/257, closed #257

digikata commented 6 months ago

Merged https://github.com/infinyon/fluvio-client-python/pull/377 w/ async support from @Shylock-Hg