No project description provided
Project description
Pulsar plugin for Streamz
This a plugin for Streamz that adds stream nodes for writing and reading data from/to Pulsar.
🛠 Installation
Latest stable version is available on PyPI
pip install streamz_pulsar
Latest development version can be installed from git repo
pip install git+https://github.com/MarekWadinger/streamz_pulsar
⚡️ Quickstart
To start working with streamz_pulsar, follow these 3 steps:
1. Run a standalone Pulsar cluster locally
docker run -it -p 6650:6650 -p 8000:8080 --mount source=pulsardata,target=/pulsar/data --mount source=pulsarconf,target=/pulsar/conf apachepulsar/pulsar:latest bin/pulsar standalone
2. Create a consumer
The following example creates a consumer with the my-sub subscription name on the my-topic topic, receives incoming messages, prints the content and ID of messages that arrive, and acknowledges each message to the Pulsar broker.
import pulsar
from streamz import Stream
s = Stream.from_pulsar(
'pulsar://localhost:6650',
['my-topic'],
subscription_name='my-sub'
)
s.map(lambda x: x.decode())
L = s.sink_to_list()
s.start()
while True:
try:
if L:
print(L.pop(0))
except pulsar.Interrupted:
print("Stop receiving messages")
break
3. Create a producer
The following example creates a Python producer for the my-topic topic and sends 10 messages on that topic:
from streamz import Stream
source = Stream()
producer_ = source.to_pulsar(
'pulsar://localhost:6650',
'my-topic',
)
for i in range(3):
source.emit(('hello-pulsar-%d' % i).encode('utf-8'))
producer_.stop()
producer_.flush()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file streamz_pulsar-0.1.1.tar.gz.
File metadata
- Download URL: streamz_pulsar-0.1.1.tar.gz
- Upload date:
- Size: 3.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.2 CPython/3.10.1 Darwin/22.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1505565201eb6ba612f94056ffb1d6c6f72df7d7cbc05b7189713ce9c9e87d84
|
|
| MD5 |
f4ccca793097e75c6ed9df9d6cfc8ccc
|
|
| BLAKE2b-256 |
c0ef650d42fa471813c2e929afb4869934025abad004c93856df93ba17dc4934
|
File details
Details for the file streamz_pulsar-0.1.1-py3-none-any.whl.
File metadata
- Download URL: streamz_pulsar-0.1.1-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.2 CPython/3.10.1 Darwin/22.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e39c96d875332d6eabd24c4cdafb06b39ddad9244e2c255372c0e043a69ccee0
|
|
| MD5 |
8d3bdfccf0f9d35b9baeca6ef2d801d2
|
|
| BLAKE2b-256 |
9630aaf4eadaf22890084640b5ab90d568f6b889a89b7938e5aa3ebb5998bf9f
|