🍺 BREW Explorer

← all formulae

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.

Categories

Alternatives

ncurses terminfo
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

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."
}