Elektra's API is written in C, but many different bindings allow applications in different programming languages to use Elektra.
Note that a binding does not automatically allow you to implement plugins in the respective programming languages, but you additionally need an Interpreter Plugins. Nevertheless, bindings can be immediately used in applications without plugins.
List of currently supported bindings (included in ALL
):
- cpp C++11 bindings (included per default)
- jna A full java binding using JNA
- glib GLib bindings
- swig_lua Lua SWIG bindings
- swig_python Python 3 SWIG bindings
- swig_python2 Python 2 SWIG bindings
- swig_ruby Ruby bindings
- intercept_fs Intercepts file system calls to configuration files
- intercept_env Intercepts calls to environment (e.g. getenv())
Experimental bindings (not included in ALL
):
- gsettings GLib bindings (experimental)
Deprecated bindings (not included in ALL
):
- gi_python GObject Introspection binding with Python specific overrides (deprecated)
- gi_lua GObject Introspection binding with Lua specific overrides (deprecated)
- See COMPILE how to specify the bindings to build.