pkg.soopen package index

brew / rank 9897

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 bottle metadata was recorded.

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_chargenexecutableindexed executableDiscovered from the local executable index.
ucl_objdumpexecutableindexed executableDiscovered from the local executable index.
ucl_toolexecutableindexed executableDiscovered from the local executable index.

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-08-03
manager version0.9.4
manager updated
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:libucl
Version0.9.4
Package managerHomebrew
Homepagehttps://github.com/vstakhov/libucl
Repositoryhttps://github.com/vstakhov/libucl
Bottlenot recorded
Servicenone declared

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-15.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/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst
dnf95%

libucl-devel 0.8.2-15.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/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst
dnf95%

python3-libucl 0.8.2-15.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/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-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
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • pkg.so package database
  • pkgdb category and tag curation