macOS
brew install libucllocal Homebrew formula metadata
sudo port install libuclMacPorts ports tree · devel/libucl/Portfile · source: api.github.com
brew
Universal configuration library parser. Version 0.9.4 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#libucl.
install
brew install libucllocal Homebrew formula metadata
sudo port install libuclMacPorts ports tree · devel/libucl/Portfile · source: api.github.com
sudo apk add libuclAlpine Linux edge package indexes · libucl · source: dl-cdn.alpinelinux.org
sudo dnf install libuclFedora Rawhide package metadata · libucl · source: dl.fedoraproject.org
nix profile install nixpkgs#libuclnixpkgs package indexes · pkgs/by-name/li/libucl/package.nix · source: api.github.com
overview
Universal configuration library parser
history
libucl is Vsevolod Stakhov's C library for Universal Configuration Language, a configuration syntax designed to be easier for humans to edit than strict JSON while remaining machine-readable and JSON-compatible.
The libucl README describes UCL as a configuration language heavily influenced by nginx-style configuration while remaining compatible with JSON. The library parses UCL and can also operate with JSON, MessagePack, S-expressions, and limited YAML output.
Public tags show early 0.2.x releases in December 2013 and 0.7.x by February 2015. After a long 0.8-era gap, GitHub releases show renewed release activity in 2023 and a 0.9 series beginning in February 2024.
UCL found its strongest adoption in systems and infrastructure software where maintainers wanted structured configuration without strict JSON's editing friction. Rspamd documents UCL as its configuration language, and the FreeBSD Handbook notes that some applications such as pkg(8) started using UCL.
The library's package presence across Unix-like package managers reflects that adoption pattern: it is a small C parser and utility package that other software can embed or link for configuration parsing.
Developers use libucl to parse configuration files with comments, unquoted keys, optional separators, implicit arrays, variables, macros, includes, human-friendly numeric suffixes, and validation. The README cautions that full-featured parsing with macros, includes, file I/O, and URL includes is intended for trusted administrator-controlled configuration rather than hostile input.
libucl is package-nerd interesting because it sits at the crossroads of config-language taste, Unix administration, FreeBSD tooling, and embeddable C libraries. It is a pragmatic alternative to forcing strict JSON into files humans edit by hand.
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 |
|---|---|---|---|
ucl_chargen | cli | global executable | |
ucl_objdump | cli | global executable | |
ucl_tool | cli | global executable |
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.
https://github.com/vstakhov/libucl
install metadata
| Package key | brew:libucl |
|---|---|
| Version | 0.9.4 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/libucl |
| Homepage | https://github.com/vstakhov/libucl |
| Repository | https://github.com/vstakhov/libucl |
| Upstream docs | https://github.com/vstakhov/libucl |
| License | BSD-2-Clause |
| Source archive | https://github.com/vstakhov/libucl/archive/refs/tags/0.9.4.tar.gz |
| Build dependencies | autoconf, automake, libtool, pkgconf |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | libucl |
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
libucl
nix profile install nixpkgs#libucllibucl 0.9.0-r0
Universal configuration library parser
https://github.com/vstakhov/libucl
sudo apk add libucllibucl-dev 0.9.0-r0
Universal configuration library parser (development files)
https://github.com/vstakhov/libucl
sudo apk add libucl-devlibucl-doc 0.9.0-r0
Universal configuration library parser (documentation)
https://github.com/vstakhov/libucl
sudo apk add libucl-doclibucl 0.8.2-13.fc45
Universal configuration library parser
https://github.com/vstakhov/libucl
sudo dnf install libucllibucl-devel 0.8.2-13.fc45
libucl development files
https://github.com/vstakhov/libucl
sudo dnf install libucl-develpython3-libucl 0.8.2-13.fc45
Python bindings for libucl
https://github.com/vstakhov/libucl
sudo dnf install python3-libucllibucl
sudo port install libuclsource 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.