Harfang is a low-level software library to create multimedia applications.
The following schema provides an overview of the main systems the library consists of.
The same API is exposed to all supported languages. Selecting the language to write your program mainly comes down to two major factors:
Harfang for Python is distributed as a wheel package
(.whl) compatible with official builds of the CPython interpreter (3.4 or newer).
This is the recommended option for desktop applications relying on other Python packages (eg. PyQT).
This module is only available on desktop OS.
The stand-alone Lua 5.1 interpreter is the recommended solution for embedded/mobile development and maximum portability. You trade the very rich Python eco-system for the speed, portability and size of Lua (or LuaJIT).
Programs written in Lua can be run on all platforms supported by the Harfang library.