Skip to content

Python client for NATS messaging system

License

Notifications You must be signed in to change notification settings

ByteInternet/nats-python

This branch is 2 commits ahead of Gr1N/nats-python:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b6301af · Jul 17, 2023

History

46 Commits
Apr 9, 2021
Jun 21, 2020
Jun 21, 2020
Aug 30, 2018
Jul 31, 2019
Aug 30, 2018
Jan 8, 2020
Apr 9, 2021
Aug 30, 2018
Apr 9, 2021
Apr 9, 2021
Jun 21, 2020
Jun 21, 2020
Jul 13, 2023

Repository files navigation

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.

About

Python client for NATS messaging system

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 93.1%
  • Makefile 5.6%
  • Shell 1.3%