nanomsg-python

具有多个后端(CPython 和 ctypes)的 python nanomsg 包装器应该支持 2/3 和 Pypy。「nanomsg wrapper for python with multiple backends (CPython and ctypes) should support 2/3 and Pypy」

Github stars Tracking Chart

nanomsg-python

Python library for nanomsg which does not compromise on
usability or performance.

Like nanomsg this library is still experimental, the API is fairly stable but
if you plan to use it at this time be prepared to get your hands dirty,
fixes and enhancements are very welcome.

The following versions of Python are supported CPython 2.6+, 3.2+ and Pypy 2.1.0+

Bugs and change requests can be made
here.

nanommsg library in /usr/local

If you're nanomsg is in /usr/local and your machine is not configured to find it there you can rename the usr_local_setup.cfg to setup.cfg to fix the problem.

Example

from __future__ import print_function
from nanomsg import Socket, PAIR, PUB
s1 = Socket(PAIR)
s2 = Socket(PAIR)
s1.bind('inproc://bob')
s2.connect('inproc://bob')
s1.send(b'hello nanomsg')
print(s2.recv())
s1.close()
s2.close()

Or if you don't mind nesting you can use Socket as a context manager

with Socket(PUB) as pub_socket:
    .... do something with pub_socket
# socket is closed

The lower level API is also available if you need the additional control or
performance, but it is harder to use. Error checking left out for brevity.

from nanomsg import wrapper as nn_wrapper
from nanomsg import PAIR, AF_SP

s1 = nn_wrapper.nn_socket(AF_SP, PAIR)
s2 = nn_wrapper.nn_socket(AF_SP, PAIR)
nn_wrapper.nn_bind(s1, 'inproc://bob')
nn_wrapper.nn_connect(s2, 'inproc://bob')
nn_wrapper.nn_send(s1, b'hello nanomsg', 0)
result, buffer = nn_wrapper.nn_recv(s2, 0)
print(bytes(buffer))
nn_wrapper.nn_term()

License

MIT

Authors

Tony Simpson

Main metrics

Overview
Name With Ownertonysimpson/nanomsg-python
Primary LanguagePython
Program languageC (Language Count: 3)
PlatformLinux, Mac, Windows
License:MIT License
所有者活动
Created At2013-08-21 12:52:49
Pushed At2021-08-13 08:15:22
Last Commit At2021-08-13 09:15:22
Release Count1
Last Release Name1.0 (Posted on )
First Release Name1.0 (Posted on )
用户参与
Stargazers Count383
Watchers Count30
Fork Count85
Commits Count101
Has Issues Enabled
Issues Count50
Issue Open Count33
Pull Requests Count18
Pull Requests Open Count7
Pull Requests Close Count8
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private