Python client for NATS messaging system.
This project is a replacement for abandoned pynats. nats-python
supports only Python 3.6+ and fully covered with typings.
Go to the asyncio-nats project, if you're looking for asyncio
implementation.
$ pip install nats-python
from pynats import NATSClient
with NATSClient() as client:
# Connect
client.connect()
# Subscribe
def callback(msg):
print(f"Received a message with subject {msg.subject}: {msg}")
client.subscribe(subject="test-subject", callback=callback)
# Publish a message
client.publish(subject="test-subject", payload=b"test-payload")
# wait for 1 message
client.wait(count=1)
To work on the nats-python
codebase, you'll want to clone the project locally and install the required dependencies via poetry:
$ git clone git@github.com:Gr1N/nats-python.git
$ make install
To run tests and linters use command below:
$ make lint && make test
If you want to run only tests or linters you can explicitly specify which test environment you want to run, e.g.:
$ make lint-black
nats-python
is licensed under the MIT license. See the license file for details.