libConfuse is a configuration file parser library, licensed under the terms of the LGPL, and written in C. It supports sections and (lists of) values (strings, integers, floats, booleans or other sections), as well as some other features (such as single/double-quoted strings, environment variable expansion, functions and nested include statements). It makes it very easy to add configuration file capability to a program using a simple API.
The goal of libConfuse is not to be the configuration file parser library with a gazillion of features. Instead, it aims to be easy to use and quick to integrate with your code. libConfuse was called libcfg before, but was changed to not confuse with other similar libraries.
Example configuration files:
- test.conf and the source code shows most of the features of confuse, including lists and functions.
- simple.conf shows how to use the "simple" versions of options. See the corresponding source.
- libConfuse source code
- Debian packages are available in testing and unstable.
- RPM Packages: SuSE 8.0/8.1 + srpm
If there is no RPM package for your distribution, you can easily create one from the SRPM with: rpm --rebuild confuse-<version>.src.rpm.
The latest development sources can be found on the Savannah CVS repository. It can be browsed here. To download the sources through anonymous CVS do the following:
export CVS_RSH="ssh" cvs -z3 -d:ext:email@example.com:/cvsroot/confuse co confuseThe public key fingerprints, as well as further instructions, are available here.
There is now also a tutorial available. However, it is still work in progress.
The documentation is also included in the source package.
- 2004-10-17: libConfuse version 2.5 released. Check what's new.
- 2004-09-23: There is now a tutorial available.
- 2004-08-09: libConfuse version 2.4 released. Check what's new.
- 2004-05-22: libConfuse version 2.3 released. Check what's new.
- 2003-09-25: libConfuse version 2.2 released. Check what's new.
- 2003-07-13: libConfuse version 2.1 released. Check what's new.
- 2003-07-03: libConfuse webpage moved to Savannah.
- 2003-04-05: libConfuse version 2.0 released. Check what's new.
- 2003-03-28: Pascal Bleser wrote to say that he has created RPM packages for SuSE Linux 8.1 and 8.0. They are available here.
- 2003-03-02: There is now a mailing list firstname.lastname@example.org and a project page at savannah.nongnu.org.
- 2003-03-02: Thomas Jarosch sent in some RPM packages (source RPM and a binary for Redhat 8.0). Get them here.
- 2002-12-18: version 1.2.3 released that fixes a segfault due to an uninitialized user-defined error function. Support for callbacks are added, however they are not yet properly documented.