numbox.core.bindings

Overview

Loads dynamic libraries available in the Python environment, such as, libc, libm, and libsqlite3 in global symbol mode (RTLD_GLOBAL) via ctypes. This adds global symbols (including native API) exported from those libraries to the LLVM symbol table. These functions can then be invoked from the numba jitted code [1], complementing the suite of numba-supported functionality.

Analogous technique can be expanded as needed for the user custom code.

References

Modules

numbox.core.bindings._c

numbox.core.bindings._math

numbox.core.bindings._sqlite

numbox.core.bindings.call

numbox.core.bindings.signatures

numbox.core.bindings.utils

numbox.core.bindings.utils.load_lib(name)[source]

Load library libname in global symbol mode. find_library is a relatively basic utility that mostly just prefixes lib and suffixes extension. When adding (custom) libraries to the global symbol scope, consider setting DYLD_LIBRARY_PATH.