micropython-lib/unix-ffi
Christian Marangi d8e163bb5f unix-ffi/re: Convert to PCRE2.
PCRE is marked as EOL and won't receive any new security update.

Convert the re module to PCRE2 API to enforce security.  Additional
dependency is now needed with uctypes due to changes in how PCRE2 return
the match_data in a pointer and require special handling.

The converted module is tested with the test_re.py with no regression.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-11-01 10:14:36 +11:00
..
_libc
_markupbase all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
cgi all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
email.charset
email.encoders
email.errors
email.feedparser
email.header
email.internal top: Update Python formatting to black "2023 stable style". 2023-02-03 17:12:38 +11:00
email.message
email.parser
email.utils all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
fcntl
ffilib
getopt all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
gettext all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
glob glob: Fix require of os-path. 2023-02-01 12:07:28 +11:00
html.entities all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
html.parser all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
http.client top: Update Python formatting to black "2023 stable style". 2023-02-03 17:12:38 +11:00
machine top: Update Python formatting to black "2023 stable style". 2023-02-03 17:12:38 +11:00
multiprocessing
os all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
pwd all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
pyb
re unix-ffi/re: Convert to PCRE2. 2023-11-01 10:14:36 +11:00
select all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
signal
socket
sqlite3
test.support
time all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
timeit all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
tty
ucurses
urllib.parse top: Update Python formatting to black "2023 stable style". 2023-02-03 17:12:38 +11:00
README.md top: Update top-level docs. 2022-12-16 17:16:03 +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, pass unix_ffi=True to require() in your manifest file.

require("os", unix_ffi=True) # Use the unix-ffi version instead of python-stdlib.