Gr1N
nats-python
Python

Python client for NATS messaging system

Last updated Jun 12, 2026
94
Stars
25
Forks
9
Issues
0
Stars/day
Attention Score
13
Language breakdown
No language data available.
โ–ธ Files click to expand
README

nats-python

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.

Installation

$ pip install nats-python

Usage

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)

Contributing

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

License

nats-python is licensed under the MIT license. See the license file for details.

ยฉ 2026 GitRepoTrend ยท Gr1N/nats-python ยท Updated daily from GitHub