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-pythonfrom 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 installTo run tests and linters use command below:
$ make lint && make testIf you want to run only tests or linters you can explicitly specify which test environment you want to run, e.g.:
$ make lint-blacknats-python is licensed under the MIT license. See the license file for details.