unibilium
brew install unibilium
v2.1.2
LGPL-3.0-or-later
Minimal C library for reading, writing, and interpreting terminfo terminal capability files without external dependencies.
Why you might care
Build dependency for terminal-aware tools (notably Neovim) that need lightweight terminfo support without linking libcurses. Thread-safe, zero global state, and single-file compilation make it ideal for embedded or minimal terminal UIs. Drops in where you need terminfo parsing without the overhead of ncurses.
4.9k
30-day installs · #608
21.5k
90-day · #491
81.1k
365-day · #489
30
★ GitHub stars · updated 1y ago
Build dependencies
Links
- https://github.com/neovim/unibilium
- GitHub: neovim/unibilium
- Brew formula source: Formula/u/unibilium.rb
Blurb generated by claude-haiku-4-5 on today.
Raw metadata
{
"aliases": [],
"alternatives": [
"ncurses",
"terminfo"
],
"build_dependencies": [
"autoconf",
"automake",
"libtool"
],
"categories": [
"library",
"header-only-library"
],
"caveats": null,
"conflicts_with": [],
"dependencies": [],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Very basic terminfo library",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:40:59+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "unibilium",
"github_default_branch": "master",
"github_last_commit_at": "2025-06-20T13:55:51Z",
"github_readme_excerpt": "Overview\n========\n\nUnibilium is a very basic terminfo library. It can read and write\nncurses-style terminfo files, and it can interpret terminfo format strings.\nIt doesn\u0027t depend on curses or any other library. It also doesn\u0027t use global\nvariables, so it should be thread-safe.\n\n\nBuilding and installing\n=======================\n\nPrerequisites\n-------------\n\n- a C compiler (technically this is all you need, but if you want to use the\n included `Makefile`, read on)\n- GNU make (the included `Makefile` was written for GNU make; if it works in\n anything else, it\u0027s by accident)\n- GNU libtool (for building shared libraries)\n- a unix-ish shell (sh, that is)\n- Perl (specifically, `pod2man` for creating the man pages and `prove` for\n running the test suite)\n- gzip (for compressing the man pages)\n\nConfigure\n---------\n\nTo generate the `configure` script run:\n\n autoreconf -fi\n\nTo list the `configure` options run:\n\n ./configure --help\n\nTo generate the `Makefile` run:\n\n ./configure --prefix=...\n\nBuilding\n--------\n\nCompile `unibilium.c`, `uninames.c`, and `uniutil.c` into a library.\n\nThe generated `Makefile` does this for you:\n\n make\n\nor\n\n make all\n\ncreates the library files, generates the man pages, and compiles the test\nsuite.\n\nThere is a number of variables you can specify on the `make` command line to\noverride the default behavior:\n\n- `TERMINFO_DIRS`: A C string literal containing a colon-separated list of\n directories where unibilium should look for compiled terminfo files at\n runtime (e.g. `make TERMINFO_DIRS=\u0027\"/etc/terminfo:/usr/share/terminfo\"\u0027`).\n This depends on how your ncurses library was configured.\n Defaults to `\"\"` on Windows; everywhere else the local ncurses installation\n is queried (by trying `ncursesw6-config`, `ncurses6-config`,\n `ncursesw5-config`, `ncurses5-config` in turn) and if that fails, a\n hardcoded list of likely directory names is used.\n- `TERMINFO`: A C string literal containing a directory\n where unibilium should look for comp",
"github_repo": "neovim/unibilium",
"github_stars": 30,
"github_topics": [],
"homepage": "https://github.com/neovim/unibilium",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 4913,
"installs_365d": 81149,
"installs_90d": 21458,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "LGPL-3.0-or-later",
"llm_generated_at": "2026-06-20T23:45:54+00:00",
"llm_model": "claude-haiku-4-5",
"name": "unibilium",
"oldnames": [],
"one_liner": "Minimal C library for reading, writing, and interpreting terminfo terminal capability files without external dependencies.",
"optional_dependencies": [],
"rank_30d": 608,
"rank_365d": 489,
"rank_90d": 491,
"raw_hash": "d112eca639f7dc98",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/u/unibilium.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": null,
"version_stable": "2.1.2",
"versioned_formulae": [],
"why_use_this": "Build dependency for terminal-aware tools (notably Neovim) that need lightweight terminfo support without linking libcurses. Thread-safe, zero global state, and single-file compilation make it ideal for embedded or minimal terminal UIs. Drops in where you need terminfo parsing without the overhead of ncurses."
}