Pravega Python client.
This project provides a way to interact with Pravega using Python client.
Pravega is an open source distributed storage service implementing Streams. It offers Stream as the main primitive for
the foundation of reliable storage systems: a high-performance, durable, elastic, and unlimited append-only byte stream
with strict ordering and consistency.
This project supports interaction with Pravega for Python versions 3.8+.
Install
The client library can be installed using pip.
pip install pravega
The users can also choose to generate the bindings using the commands specified at PythonBinding .
Example
Write events
import pravega_client
stream_manager = pravega_client.StreamManager("tcp://127.0.0.1:9090")
scope_result = stream_manager.create_scope("scope_foo")
self.assertEqual(True, scope_result, "Scope creation status")
stream_result = stream_manager.create_stream("scope_foo", "stream_bar", 1)
self.assertEqual(True, stream_result, "Stream creation status")
writer = stream_manager.create_writer("scope_foo","stream_bar")
writer.write_event("hello world")
Read events
import pravega_client
stream_manager = pravega_client.StreamManager("tcp://127.0.0.1:9090")
reader_group = stream_manager.create_reader_group("my_reader_group", "scope_foo", "stream_bar")
reader = reader_group.create_reader("my_reader");
slice = await reader.get_segment_slice_async()
for event in slice:
print(event.data())
reader.release_segment(slice)
reader.reader_offline()