Essence API Reference#

Date: Jun 25, 2026 Version: 0.6.0

Useful links: Source repository | Releases | Issues

Types

Type aliases for the sake of programmer sanity.

Types
Color

Tools for creating colorful, formatted terminal text output.

Color
Concepts

C++20^ Concepts useful for constraining template parameters as well as some helper functions that feel like pure magic.

Concepts
Encoding

UTF-8 validation and codepoint counting utilities.

Encoding
Environment

Interfaces for querying and manipulating the process environment.

Environment
Error

A flexible error result type, perfect for use with std::expected.

Error
Exceptions

Standard C++ exceptions augmented to accept std::format arguments directly.

Exceptions
I18N

Internationalization and localization helpers powered by GNU Gettext.

I18N
IO

Input/Output tools for printing, reading files and scanning input.

IO
Path

File and directory path retrieval and manipulation.

Path
Process

Ergonomic and powerful process creation, configuration and pipeline orchestration.

Process
Random

Entropy source and random number generation.

Random
STR

String trimming, splitting, joining, substitution and transformation.

Str
Time

Time-related utilities

Time
URL

A rudimentary URL class

URL
UUID

Generates 36 million (version 4) UUIDs per second!

UUID
XDG/Basedir

Ergonomic implementation of the Freedesktop Basedir specification.

XDG/Basedir
Unix

Various facilities for memory, null and thread safe usage of POSIX functions and structs.

Uni