Synchronous wrapper around the native nats async library
Project description
nats-py-sync
Synchronous wrapper around native nats-py async library
This is not a comprehensive, feature complete wrapper. It has the main features described in the nats-py readme
[!TIP] Who is this library for? This library if mainly useful for people who need nats functionality in their non-async based python code. If you can use async in your codebase, use nats-py directly
[!TIP] How does this library work? The NATSContext object maintains its own event loop and queries nats.NATSConnection tasks to complete and return. NATSContext calls are blocking until the nats.NATSConnection futures finish
Installation
pip install nats-py-sync
Publisher/Subscriber
# subscriber
import nats_sync
nc = nats_sync.connect("nats://localhost:4222")
sub = nc.subscribe("hello")
while True:
msg = sub.recv()
print(f"Received {msg.data.decode()} on topic {msg.subject}")
# publisher
import time
import nats_sync
NATS_TOPIC = "hello"
nc = nats_sync.connect("nats://localhost:4222")
while True:
nc.publish(NATS_TOPIC, b"hello world")
print(f"Published message on {NATS_TOPIC}")
time.sleep(0.1)
Request/Response
# request
import time
import nats_sync
client = nats_sync.connect("nats://localhost:4222")
while True:
msg = client.request("request", "hello world".encode())
print(f"Received Reply {msg.data.decode()} on topic {msg.subject}")
time.sleep(1.0)
# response
import nats_sync
nc = nats_sync.connect("nats://localhost:4222")
sub = nc.subscribe("request")
while True:
msg = sub.recv()
print(f"Received {msg.data.decode()} on topic {msg.subject}")
sub.respond(msg, "Reply".encode())
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
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 nats_py_sync-0.3.0-py3-none-any.whl.
File metadata
- Download URL: nats_py_sync-0.3.0-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fccf57dc6dd34cc62650f344fcdf2ac2e8d0b8dcb9db5db4e66cbe9b41e9c301
|
|
| MD5 |
0520bb5e3bb712a19ee072e653b15c9b
|
|
| BLAKE2b-256 |
9dbf6a8d924cb35a657cbd4ca2873738625383fe298f1f0d48d27b2b0faad09d
|