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 Plugin. 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_env Intercepts calls to environment (e.g. getenv())
- intercept_fs Intercepts file system calls to configuration files (experimental)
Experimental bindings (not included in ALL
):
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 for how to specify the bindings to build, e.g.
ALL
.