The Unix port of MicroPython allows testing of programs intended for microcontrollers on the local Debian host machine (except for hardware-specific parts). It can also be used as another, tiny but mostly compatible, Python 3 runtime for small scripts (but it comes with FFI and JNI support). This port uses optimised assembly code on ARM/Thumb, MIPS, i386 and amd64, and setjmp/longjmp-based fallback code on all other architectures.