Skip to content

hgs3/confetti

Repository files navigation

Confetti

Confetti is a configuration language and parser library written in C11 with no external dependencies.

Confetti is intended for human-editable configuration files. It is minimalistic, untyped, and opinionated. Schema conformance is validated by the user application.

Confetti does not compete with JSON or XML, it competes with INI files.

Build Status

Example

# This is a comment.

probe-device eth0 eth1

user * {
    login anonymous
    password "${ENV:ANONPASS}"
    machine 167.89.14.1
    proxy {
        try-ports 582 583 584
    }
}

user "Joe Williams" {
    login joe
    machine 167.89.14.1
}

Browse many more examples here.

Language Features

Building

Download the latest release and build with

$ ./configure
$ make
$ make install

or build with CMake.

Documentation

Confetti language documentation is available on its website.

The C API is documented by its man pages. Run man confetti after installing the library.

License

MIT License. See LICENSE for details.