gensio
brew install gensio
v3.0.2
LGPL-2.1-only AND GPL-2.0-only AND Apache-2.0
Stream I/O Library
52
30-day installs · #4584
130
90-day · #5013
663
365-day · #4532
111
★ GitHub stars · updated 2mo ago
Runtime dependencies
Build dependencies
GitHub topics
authentication
ipmi-sol
multiplexer
pty
python
sctp
serial-communication
ssl
stream-api
tcp
telnet
udp
Links
- https://github.com/cminyard/gensio
- GitHub: cminyard/gensio
- Brew formula source: Formula/g/gensio.rb
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [
"go",
"pkgconf",
"swig"
],
"categories": [],
"caveats": null,
"conflicts_with": [],
"dependencies": [
"glib",
"openssl@3",
"python@3.14",
"tcl-tk",
"gettext",
"portaudio"
],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Stream I/O Library",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:37:58+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "gensio",
"github_default_branch": "master",
"github_last_commit_at": "2026-06-17T22:57:36Z",
"github_readme_excerpt": "===========================\ngensio - General Stream I/O\n===========================\n\n.. image:: https://www.bestpractices.dev/projects/9971/badge\n :target: https://www.bestpractices.dev/projects/9971\n\nThis is gensio (pronounced gen\u0027-see-oh), a framework for giving a\nconsistent view of various stream (and packet) I/O types. You create\na gensio object (or a gensio), and you can use that gensio without\nhaving to know too much about what is going on underneath. You can\nstack gensio on top of another one to add protocol functionality. For\ninstance, you can create a TCP gensio, stack SSL on top of that, and\nstack Telnet on top of that. It supports a number of network I/O and\nserial ports. It also supports sound interfaces. gensios that stack\non other gensios are called filters.\n\nYou can do the same thing with receiving ports. You can set up a\ngensio accepter to accept connections in a stack. So in our previous\nexample, you can setup TCP to listen on a specific port and\nautomatically stack SSL and Telnet on top when the connection comes\nin, and you are not informed until everything is ready.\n\ngensio works on Linux, BSDs, MacOS, and Windows. On Windows, it gives\nyou a single-threaded capable (but also multi-thread capable)\nevent-driven interface (with blocking interfaces available) to\nsimplify programming with lots of I/Os. It goes a long way to making\nwriting portable I/O driven code easy.\n\nA *very* important feature of gensio is that it makes establishing\nencrypted and authenticated connections much easier than without it.\nBeyond basic key management, it\u0027s really no harder than TCP or\nanything else. It offers extended flexibility for controlling the\nauthentication process if needed. It\u0027s really easy to use.\n\nNote that the gensio(5) man page has more details on individual gensio\ntypes.\n\nFor instructions on building this from source, see the \"BUILDING\"\ndocument.\n\nFor info on how to use the library, see the \"USING\" document.\n\ngensio tools\n============\n\nA couple",
"github_repo": "cminyard/gensio",
"github_stars": 111,
"github_topics": [
"authentication",
"ipmi-sol",
"multiplexer",
"pty",
"python",
"sctp",
"serial-communication",
"ssl",
"stream-api",
"tcp",
"telnet",
"udp"
],
"homepage": "https://github.com/cminyard/gensio",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 52,
"installs_365d": 663,
"installs_90d": 130,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "LGPL-2.1-only AND GPL-2.0-only AND Apache-2.0",
"llm_generated_at": null,
"llm_model": null,
"name": "gensio",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": 4584,
"rank_365d": 4532,
"rank_90d": 5013,
"raw_hash": "de9f7df824c2e7a2",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/g/gensio.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": null,
"version_stable": "3.0.2",
"versioned_formulae": [],
"why_use_this": null
}