micropython-lib/unix-ffi
Jim Mussared 5c7e3fc0bc json: Move to unix-ffi.
It requires the unix pcre-based re module.

This work was funded through GitHub Sponsors.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2024-03-19 17:23:07 +11:00
..
_libc all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
_markupbase unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
cgi all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
email.charset unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
email.encoders unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
email.errors unix-ffi: Move more unix-only packages to unix-ffi. 2022-09-05 17:50:42 +10:00
email.feedparser unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
email.header unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
email.internal unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
email.message unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
email.parser unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
email.utils unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
fcntl unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
ffilib all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
getopt unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
gettext unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
glob unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
html.entities all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
html.parser unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
http.client unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
json json: Move to unix-ffi. 2024-03-19 17:23:07 +11:00
machine unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
multiprocessing unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
os unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
pwd unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
pyb all: Run black over all code. 2021-05-27 15:50:04 +10:00
re unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
select unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
signal unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
socket unix-ffi: Move more unix-only packages to unix-ffi. 2022-09-05 17:50:42 +10:00
sqlite3 unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
test.support unix-ffi: Move more unix-only packages to unix-ffi. 2022-09-05 17:50:42 +10:00
time unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
timeit unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
tty all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
ucurses unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
urllib.parse unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00
README.md unix-ffi: Remove "unix_ffi" argument from require(). 2024-03-17 13:22:36 +11:00

README.md

Unix-specific packages

These are packages that will only run on the Unix port of MicroPython, or are too big to be used on microcontrollers. There is some limited support for the Windows port too.

Note: This directory is unmaintained.

Background

The packages in this directory provide additional CPython compatibility using the host operating system's native libraries.

This is implemented either by accessing the libraries directly via libffi, or by using built-in modules that are only available on the Unix port.

In theory, this allows you to use MicroPython as a more complete drop-in replacement for CPython.

Usage

To use a unix-specific library, a manifest file must add the unix-ffi library to the library search path using add_library():

add_library("unix-ffi", "$(MPY_LIB_DIR)/unix-ffi", prepend=True)

Prepending the unix-ffi library to the path will make it so that the unix-ffi version of a package will be preferred if that package appears in both unix-ffi and another library (eg python-stdlib).