Elektra provides a universal and secure framework to store configuration parameters in a global, hierarchical key database. The core is a small library implemented in C. The plugin-based framework fulfills many configuration-related tasks to avoid any unnecessary code duplication across applications while it still allows the core to stay without any external dependency. Elektra abstracts from cross-platform-related issues with an consistent API, and allows applications to be aware of other applications' configurations, leveraging easy application integration.

Facts and Features

  • Elektra implements an API to fully access a global key database.
  • Elektra supports mounting of existing configuration files into the global key database.
  • Elektra is multi-process safe and can be used in multi-threaded programs.
  • Elektra (except for some plugins) is portable and completely written in Ansi-C99.
  • Elektra (except for some plugins) has no external dependency.
  • Elektra uses the BSD licence.
  • Elektra is suitable for embedded systems and early boot stage programs.
  • Elektra supports comments and other non-configuration information by meta data.
  • Elektra can import, export and convert supported configuration files.
  • Elektra is able to log and notify other software on any configuration changes using dbus.
  • Elektra is able to avoid the problem that any invalid configuration is written into the permanent storage.
  • Elektra is able to provide different mechanisms to locate configuration files.
  • Elektra supports different ways to escape and encode content of configuration files.
  • Standard key/value pair hierarchy and semantics are defined within freedesktop.org.

Further Information

To get an introduction, it is best to take a look at the presentation, see the poster and read the abridgment.

The currently best information about Elektra is this paper.

The API documentation can be found here.


Do not hesitate to ask any question on

Get Started


Elektra's uses a git repository at gitorious.

The latest source code can be checked out with:

  • git-clone git://gitorious.org/elektra-initiative/libelektra.git Releases can be downloaded from ftp and http

Which are also mirrored at:

  • git-clone git://gitorious.org/elektra-initiative/ftp.git


See the COMPILE document in the repository for informations how to compile the software.


The preferred way to install Elektra is by using packages provided for your distribution.

If there are no packages available, see the INSTALL document.