macOS
brew install nanomsgprovider-native install command
brew / rank 5775
Socket library in C. Version 1.2.2 via Homebrew; verified from local package data.
install
brew install nanomsgprovider-native install command
overview
Socket library in C
history
nanomsg is a C socket library for brokerless messaging patterns, described upstream as a way to make networking fast, scalable, and easy to use through common communication patterns such as pair, bus, request/reply, publish/subscribe, pipeline, and survey.
The project grew out of Martin Sustrik's post-ZeroMQ design work. nanomsg's own documentation preserves the historical motivation as a comparison with ZeroMQ by the original author of both projects: MIT licensing, a POSIX-like C API, implementation in C rather than C++, formal protocol/transport APIs, and different threading behavior were central design goals.
The GitHub repository was created on 2012-10-10. Later, Garrett D'Amore's NNG became the successor path: the nanomsg homepage says nanomsg has largely been superseded by NNG, and the documentation calls the C reference implementation sustaining-mode while describing NNG as the modern reimplementation.
nanomsg accumulated a broad binding ecosystem despite later being superseded: the upstream documentation lists bindings or implementations for C, C++, Clojure, D, Erlang, Fortran, Go, Haskell, Java, JavaScript, Lua, .NET, OCaml, Perl, PHP, Python, R, Ruby, Rust, Scheme, Smalltalk, and more.
GitHub API data fetched on 2026-07-01 showed 6,285 stars and 1,034 forks, reflecting historical mindshare. Homebrew's formula JSON generated on 2026-07-01 reported only 382 installs over 365 days and 181 installs-on-request over 365 days, which is consistent with a legacy library that remains packaged but is no longer the main recommendation.
Users link against the C library and use its BSD-socket-like API to build message-oriented communication without a broker. Typical choices are REQREP for service clusters, PUBSUB for fanout, PIPELINE for fan-in/fan-out work distribution, BUS for many-to-many messaging, and IPC/TCP/WebSocket transports depending on deployment.
Package nerds often keep `nanomsg` around for older applications or language bindings that still target libnanomsg. New work should usually evaluate `nng` first because NNG keeps wire compatibility while adding the maintained API and implementation path.
nanomsg matters historically as a clean-room C rethinking of ZeroMQ-style scalability protocols and as the ancestor of NNG. Its Homebrew package is less about trend adoption and more about preserving buildability for software that already chose the nanomsg API or wire protocols.
security posture
library-like package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
nanocat | executable | indexed executable | Discovered from the local executable index. |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:nanomsg |
|---|---|
| Version | 1.2.2 |
| Package manager | Homebrew |
| Homepage | https://nanomsg.org/ |
| Repository | https://github.com/nanomsg/nanomsg |
| Bottle | not recorded |
| Service | none declared |
source trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.