Community projects
Other language bindings.
Bindings and wrappers maintained by the nanomsg community. For new C applications, start with NNG; for Go, mangos; for Rust, nng-rs; and for Python, pynng.
Recommended starting points
These implementations are the best place to begin for new applications in their respective languages.
C
- NNG Preferred for new C applications
Modern C implementation
- libnanomsg
Original C implementation and legacy API
Go
- mangos Preferred pure Go implementation
Current pure Go implementation
Rust
- nng-rs Preferred NNG binding
Safe, idiomatic Rust wrapper for NNG
- rust-nanomsg
Python
- pynng Preferred NNG binding
Synchronous, asyncio, and Trio-friendly APIs
- nanomsg-python
- nnpy
Other language bindings
This directory follows the language-bindings list published in the libnanomsg documentation. These community-maintained projects have their own maintainers, support channels, and release schedules. Their inclusion here does not imply support or recommendation by the nanomsg project.
C++
- nanomsgxx
- cppnanomsg
- nngpp
NNG binding
Clojure
D
- nanomsg-wrapper
New location
Dylan
Erlang
Fortran
Go
- mangos v2
Pure Go implementation, version 2
- go-nanomsg
Haskell
Haxe
iOS
Java
JavaScript (Node.js)
Lua
.NET
OCaml
Perl
PHP
PicoLisp
- picolisp-nanomsg
FFI bindings