System Requirements

Python Runtime

Since this API uses ctypes, only CPython (the reference implementation of Python) is offically supported. There is no plan to extend support to Jython, IronPython, etc.

PyPy2 (version 5.8.0) and PyPy3 (Version 6.0.0) have been sparsely tested and are unstable. They are currently unsupported, but may be supported in a future release.

Platform Support

Windows, MacOS and Linux are the currently supported platforms. This API determines the correct binary to load at runtime, and if you attempt to run it on an unsupported platform, it will raise an Exception.

For Windows, x86 and x64 Python runtimes are supported. ARM and ARM64 runtimes are in the works with no promise or roadmaps set.


For Linux, 64 bit x86 and ARM platforms are supported. The 64 bit x86 platform, x86_64, is the only supported x86 platform supported moving forward. If you require a 32 bit x86 build (_i.e._, i686), you must revert to a hebi-py version of 1.0.0 or earlier.

Note that for 32 bit ARM, only the armhf ABI is supported. This is the newer (as opposed to armel) 32 bit ABI. There are no plans to support armel and probably will never be. To determine on which ABI your 32 bit ARM powered Linux distro runs, uname -p may help. However, unless you are running on an old embedded development board, or a microcontroller like an Arduino, there is a good chance that you are using an armhf compatible device.

For 64 bit ARM, only the aarch64 ABI is supported. The aarch32 is incompatible. However, most Linux distros use the aarch64 ABI.