gnsq
A gevent based python client for NSQ distributed messaging platform.
Features include:
Free software: BSD license
Documentation: https://gnsq.readthedocs.org
Battle tested on billions and billions of messages </sagan>
Based on gevent for fast concurrent networking
Fast and flexible signals with Blinker
Automatic nsqlookupd discovery and back-off
Support for TLS, DEFLATE, and Snappy
Full HTTP clients for both nsqd and nsqlookupd
Installation
At the command line:
$ easy_install gnsq
Or even better, if you have virtualenvwrapper installed:
$ mkvirtualenv gnsq $ pip install gnsq
Currently there is support for Python 2.7+, Python 3.4+ and PyPy.
Usage
First make sure nsq is installed and running. Next create a producer and publish some messages to your topic:
import gnsq
producer = gnsq.Producer('localhost:4150')
producer.start()
producer.publish('topic', 'hello gevent!')
producer.publish('topic', 'hello nsq!')
Then create a Consumer to consume messages from your topic:
consumer = gnsq.Consumer('topic', 'channel', 'localhost:4150')
@consumer.on_message.connect
def handler(consumer, message):
print 'got message:', message.body
consumer.start()
Compatibility
For NSQ 1.0 and later, use the major version 1 (1.x.y) of gnsq.
For NSQ 0.3.8 and earlier, use the major version 0 (0.x.y) of the library.
The recommended way to set your requirements in your setup.py or requirements.txt is:
# NSQ 1.x.y gnsq>=1.0.0 # NSQ 0.x.y gnsq<1.0.0
Dependencies
Optional snappy support depends on the python-snappy package which in turn depends on libsnappy:
# Debian $ sudo apt-get install libsnappy-dev # Or OS X $ brew install snappy # And then install python-snappy $ pip install python-snappy
Contributing
Feedback, issues, and contributions are always gratefully welcomed. See the contributing guide for details on how to help and setup a development environment.
Metadata
Release files for gnsq 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| gnsq-1.0.2.tar.gz | 46.2 kB | Without provenance | Details for gnsq-1.0.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| gnsq-1.0.2-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details for gnsq-1.0.2-py2.py3-none-any.whl |
Total release size: 78.9 kB
Release files / gnsq-1.0.2.tar.gz
| Download URL | gnsq-1.0.2.tar.gz |
|---|---|
| Size | 46.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f2bb8cc816ffc449865ab1729eeec8b7524f7a416161cc99db2f44782a002c13
|
|
BLAKE2b-256 checksum How to use checksums |
3dc3e5edbf7abbc1b2947176ae487c37fff8bd7d47e47556057dc1274f82e8c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1
|
Release files / gnsq-1.0.2-py2.py3-none-any.whl
| Download URL | gnsq-1.0.2-py2.py3-none-any.whl |
|---|---|
| Size | 32.7 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
5c0d9cadb93430d10a2183621622c2b760b957c9b7c61c0573c7bb82a0c7774c
|
|
BLAKE2b-256 checksum How to use checksums |
a30600dd201554402843bfdab0c9892b96f57630cddbeecadccce4d5fb5853f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1
|
Security for gnsq 1.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.