Build Status codecov PyPI PyPI - Downloads
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.