Automic VaultAutomic Vault

brew

Install libucl with Homebrew, apk, dnf, MacPorts, Nix

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

Additional install commands

macOS

Homebrewverified · 100%
brew install libucl

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install libucl

MacPorts ports tree · devel/libucl/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add libucl

Alpine Linux edge package indexes · libucl · source: dl-cdn.alpinelinux.org

Fedora dnfverified · 92%
sudo dnf install libucl

Fedora Rawhide package metadata · libucl · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#libucl

nixpkgs package indexes · pkgs/by-name/li/libucl/package.nix · source: api.github.com

overview

Package summary

Universal configuration library parser

Commands and aliases

  • ucl_chargen
  • ucl_objdump
  • ucl_tool

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2013: Public tag 0.2.0 was created in December 2013.
  • 2014: FreeBSD's ports tree added textproc/libucl in November 2014.
  • 2015: Public tag 0.7.2 was created in February 2015.
  • 2023: GitHub releases page lists libucl 0.8.2 on January 8, 2023.
  • 2024: GitHub releases page lists libucl 0.9.0 on February 1, 2024.

Related projects

  • Rspamd is a major user and documentation source for the UCL syntax.
  • FreeBSD pkg(8) is cited by the FreeBSD Handbook as an application family using UCL.
  • JSON, YAML, MessagePack, and nginx-style configuration are adjacent formats or influences named by the project documentation.

security posture

Risk level: green

library-like package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • library-like package without higher-risk signals

Signals

  • metadata:library-like

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Build metadata lists 4 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
ucl_chargencliglobal executable
ucl_objdumpcliglobal executable
ucl_toolcliglobal executable

freshness

Version and 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.

page generated2026-07-24
manager version0.9.4
manager updated
local dataok
upstreamcurrent
latest detected0.9.4

https://github.com/vstakhov/libucl

  • infoNo package-manager update timestamp was available.low confidence

install metadata

Package metadata

Package keybrew:libucl
Version0.9.4
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/libucl
Homepagehttps://github.com/vstakhov/libucl
Repositoryhttps://github.com/vstakhov/libucl
Upstream docshttps://github.com/vstakhov/libucl
LicenseBSD-2-Clause
Source archivehttps://github.com/vstakhov/libucl/archive/refs/tags/0.9.4.tar.gz
Build dependenciesautoconf, automake, libtool, pkgconf
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namelibucl
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

libucl

nix profile install nixpkgs#libucl
  • normalized package name match
  • Matched by: Libucl
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/li/libucl/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
apk95%

libucl 0.9.0-r0

Universal configuration library parser

https://github.com/vstakhov/libucl

sudo apk add libucl
  • License: BSD-2-Clause
  • Architecture: x86_64
  • Source Package: libucl
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Libucl
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: libucl from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
apk95%

libucl-dev 0.9.0-r0

Universal configuration library parser (development files)

https://github.com/vstakhov/libucl

sudo apk add libucl-dev
  • License: BSD-2-Clause
  • Architecture: x86_64
  • Source Package: libucl
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Libucl
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: libucl-dev from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
apk95%

libucl-doc 0.9.0-r0

Universal configuration library parser (documentation)

https://github.com/vstakhov/libucl

sudo apk add libucl-doc
  • License: BSD-2-Clause
  • Architecture: x86_64
  • Source Package: libucl
  • normalized package name match
  • Matched by: Libucl
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: libucl-doc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
dnf95%

libucl 0.8.2-13.fc45

Universal configuration library parser

https://github.com/vstakhov/libucl

sudo dnf install libucl
  • License: LicenseRef-Callaway-BSD AND LicenseRef-Callaway-MIT
  • Category: Unspecified
  • Architecture: i686
  • Source Package: libucl
  • 3 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Libucl
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: libucl from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

libucl-devel 0.8.2-13.fc45

libucl development files

https://github.com/vstakhov/libucl

sudo dnf install libucl-devel
  • License: LicenseRef-Callaway-BSD AND LicenseRef-Callaway-MIT
  • Category: Unspecified
  • Architecture: i686
  • Source Package: libucl
  • 3 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Libucl
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: libucl-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

python3-libucl 0.8.2-13.fc45

Python bindings for libucl

https://github.com/vstakhov/libucl

sudo dnf install python3-libucl
  • License: LicenseRef-Callaway-BSD AND LicenseRef-Callaway-MIT
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: libucl
  • 5 dependencies
  • 5 provides
  • normalized package name match
  • Matched by: Libucl
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: python3-libucl from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
MacPorts95%

libucl

sudo port install libucl
  • normalized package name match
  • Matched by: Libucl
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/libucl/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment