Add python async capable versions of the following fluvio python client capabilities.
PartitionConsumer
stream
stream_with_config
MultiplePartitionConsumer
stream
stream_with_config
TopicProducer
send
flush
send_all
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.
Async
Add python async capable versions of the following fluvio python client capabilities.
PartitionConsumer
MultiplePartitionConsumer
TopicProducer
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.
fn fluvio_producer_with_config(...)
PartitionConsumer::stream_with_config
MultiplePartitionConsumer::stream_with_config
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:
topics (TopicSpec)
partitions
Reference links