@ai-ecoverse/wasix-python 3.14.2-12 → 3.14.2-14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,7 +8,7 @@ CPython 3.14 for slicc WASIX (`commands` `python` / `python3`).
8
8
  - **File modes** (3.14.2-12, on slicc-kernel ≥ 1.35.1; older kernels keep the no-op modes): `os.umask`, `open()`/`os.mkdir` create modes, `os.chmod`, `tempfile.mkstemp` 600 / `mkdtemp` 700, pip console scripts 755
9
9
  - Built in: `ssl`/`hashlib` (OpenSSL 3.5.9, `@ai-ecoverse/wasix-openssl`), `zlib` 1.3.1, `bz2`, `lzma` (xz 5.8.4), `sqlite3` (3.53.4; FTS5, JSON, math, R*Tree; no WAL, no extensions), `readline` 8.3 (ncurses 6.5 terminfo compiled in: xterm, screen, tmux, vt100, linux), `mmap`, `fcntl`, `termios`, `resource`, `pwd`, `grp`, `select`
10
10
  - No `fork`/`vfork`; `subprocess` via `os.posix_spawn` (`proc_spawn2`/`3`)
11
- - `getuid`/`geteuid`/`getgid`/`getegid` → 1000; passwd-less `pwd`/`grp` → user/1000/`/home/user`
11
+ - `os.getuid()`/`getgid()`/`getgroups()` and `pwd`/`grp` come from slicc-kernel's process credentials and its `/etc/passwd`/`/etc/group` (3.14.2-13, wasix-sysroot -20; slicc-kernel ≥ 1.44.0, no fallback: ids are -1 on older kernels). Root is uid 0 with home `/root`.
12
12
  - Advisory file locks (`flock`, `fcntl` F_SETLK*, `lockf`) are no-ops (Emscripten parity)
13
13
  - stdout is line-buffered unless it is a regular file, so output streams and survives crashes
14
14
  - `signal.alarm`/`setitimer` and `time.sleep` resuming after a signal (the sysroot's libc patches, `patches/`)
@@ -18,6 +18,19 @@ CPython 3.14 for slicc WASIX (`commands` `python` / `python3`).
18
18
 
19
19
  Since 3.14.2-12 the package is cross-built from source in CI (`build.sh`); see `THIRD-PARTY-NOTICES.md` for the statically linked libraries.
20
20
 
21
+ Since 3.14.2-14 (wasix-sysroot -21):
22
+ - `asyncio` subprocess pipes work: `os.fstat` gives a pipe its kernel type,
23
+ `S_ISFIFO` on slicc-kernel with pipe types (#307) and a socket on
24
+ 1.47.3-1.48.x, either of which asyncio's pipe transports accept;
25
+ - `termios`/`tty.setraw` really switch the terminal to raw mode (^C arrives as
26
+ a byte), and `os.get_terminal_size` and `isatty` answer per descriptor
27
+ (slicc-kernel ≥ 1.48.0; older kernels keep the previous behaviour).
28
+
29
+ The license is `PSF-2.0 AND GPL-3.0-or-later`, because GNU Readline is linked
30
+ statically. Since 3.14.2-13, `time.tzset()` exists and honours POSIX `TZ` rules.
31
+ The sysconfig records (`_sysconfigdata*`, `_sysconfig_vars*.json`) carry no
32
+ build-machine paths, host compilers or private stub archives.
33
+
21
34
  ## Side modules: C++ runtime ABI
22
35
 
23
36
  Native extensions are `dylink.0` side modules that import the C++ runtime from
@@ -56,7 +69,7 @@ On plain Wasmer without `_ssl`, use a local wheel (`--no-index --find-links`) un
56
69
  python -m venv v && v/bin/pip install requests && v/bin/python -c "import requests"
57
70
  ```
58
71
 
59
- **Venvs need slicc-kernel ≥ 1.29.0** (`engines` says so). On older kernels a
72
+ **Venvs need slicc-kernel ≥ 1.29.0** (`engines` asks for ≥ 1.44.0 anyway, for the user ids). On older kernels a
60
73
  venv's `bin/python` and `bin/pip` run as the base interpreter: `v/bin/pip
61
74
  install` then installs into the **base** package directory, not the venv.
62
75
 
@@ -12,6 +12,7 @@ bin/python.wasm statically links:
12
12
  | SQLite | 3.53.4 | public domain | sqlite.org |
13
13
  | GNU Readline | 8.3 | GPL-3.0-or-later | gnu.org/software/readline |
14
14
  | ncurses (tinfo) | 6.5 | X11 | invisible-island.net/ncurses |
15
- | wasix-libc | wasix-sysroot 2025.9.30-17 | Apache-2.0 WITH LLVM-exception, MIT | @ai-ecoverse/wasix-sysroot |
15
+ | wasix-libc | wasix-sysroot 2025.9.30-21 | Apache-2.0 WITH LLVM-exception, MIT | @ai-ecoverse/wasix-sysroot |
16
+ | libc++, libc++abi, libunwind | wasix-libc v2026-07-03.1 sysroot-ehpic | Apache-2.0 WITH LLVM-exception | github.com/wasix-org/wasix-libc |
16
17
 
17
18
  lib/python3.14/site-packages/pip is pip (MIT), from CPython's ensurepip bundle.
package/bin/python.wasm CHANGED
Binary file
@@ -506,7 +506,7 @@
506
506
  #define HAVE_GETGROUPLIST 1
507
507
 
508
508
  /* Define to 1 if you have the 'getgroups' function. */
509
- /* #undef HAVE_GETGROUPS */
509
+ #define HAVE_GETGROUPS 1
510
510
 
511
511
  /* Define if you have the 'gethostbyaddr' function. */
512
512
  #define HAVE_GETHOSTBYADDR 1
@@ -587,10 +587,10 @@
587
587
  /* #undef HAVE_GETRANDOM_SYSCALL */
588
588
 
589
589
  /* Define to 1 if you have the 'getresgid' function. */
590
- /* #undef HAVE_GETRESGID */
590
+ #define HAVE_GETRESGID 1
591
591
 
592
592
  /* Define to 1 if you have the 'getresuid' function. */
593
- /* #undef HAVE_GETRESUID */
593
+ #define HAVE_GETRESUID 1
594
594
 
595
595
  /* Define to 1 if you have the 'getrusage' function. */
596
596
  #define HAVE_GETRUSAGE 1
@@ -1179,16 +1179,16 @@
1179
1179
  /* #undef HAVE_SETPRIORITY */
1180
1180
 
1181
1181
  /* Define to 1 if you have the 'setregid' function. */
1182
- /* #undef HAVE_SETREGID */
1182
+ #define HAVE_SETREGID 1
1183
1183
 
1184
1184
  /* Define to 1 if you have the 'setresgid' function. */
1185
- /* #undef HAVE_SETRESGID */
1185
+ #define HAVE_SETRESGID 1
1186
1186
 
1187
1187
  /* Define to 1 if you have the 'setresuid' function. */
1188
- /* #undef HAVE_SETRESUID */
1188
+ #define HAVE_SETRESUID 1
1189
1189
 
1190
1190
  /* Define to 1 if you have the 'setreuid' function. */
1191
- /* #undef HAVE_SETREUID */
1191
+ #define HAVE_SETREUID 1
1192
1192
 
1193
1193
  /* Define to 1 if you have the 'setsid' function. */
1194
1194
  #define HAVE_SETSID 1
@@ -1636,7 +1636,7 @@
1636
1636
 
1637
1637
  /* Define if tzset() actually switches the local timezone in a meaningful way.
1638
1638
  */
1639
- /* #undef HAVE_WORKING_TZSET */
1639
+ #define HAVE_WORKING_TZSET 1
1640
1640
 
1641
1641
  /* Define to 1 if you have the 'writev' function. */
1642
1642
  #define HAVE_WRITEV 1
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/lib/libpython3.14.a
3
- size: 58006786 bytes
4
- sha256: 48ecf7dfea703722c3a7bcfc9e31139473708ff88e902ace1ac971238a5f6097
3
+ size: 58021622 bytes
4
+ sha256: 83bf115c9bdca139820be7d3d014231290c58911bd4416718fe2d5b632012e28
@@ -8,6 +8,6 @@ Name: Python
8
8
  Description: Embed Python into an application
9
9
  Requires:
10
10
  Version: 3.14
11
- Libs.private: -ldl /tmp/homescoop-wasix-python/stubs/libpython-wasix-stubs.a -Wl,--wrap=getuid -Wl,--wrap=geteuid -Wl,--wrap=getgid -Wl,--wrap=getegid -Wl,--wrap=getpwuid -Wl,--wrap=getpwnam -Wl,--wrap=getpwuid_r -Wl,--wrap=getpwnam_r -Wl,--wrap=getgrgid -Wl,--wrap=getgrnam -Wl,--wrap=getgrgid_r -Wl,--wrap=getgrnam_r -Wl,--wrap=flock -Wl,--wrap=fcntl -Wl,--wrap=lockf -Wl,--export=__wrap_getuid -Wl,--export=__wrap_geteuid -Wl,--export=__wrap_getgid -Wl,--export=__wrap_getegid -Wl,--export=__wrap_flock -Wl,--export=__wrap_fcntl -Wl,--export=__wrap_lockf -lwasi-emulated-getpid -lwasi-emulated-process-clocks -lpthread
11
+ Libs.private: -ldl /tmp/homescoop-wasix-python/stubs/libpython-wasix-stubs.a -Wl,--wrap=flock -Wl,--wrap=fcntl -Wl,--wrap=lockf -Wl,--export=__wrap_flock -Wl,--export=__wrap_fcntl -Wl,--export=__wrap_lockf -Wl,-u,_ZTH5errno -Wl,--export=_ZTH5errno -Wl,-u,__cxa_thread_atexit_impl -Wl,--export=__cxa_thread_atexit_impl -lwasi-emulated-getpid -lwasi-emulated-process-clocks -lpthread
12
12
  Libs: -L${libdir} -lpython3.14
13
13
  Cflags: -I${includedir}/python3.14
@@ -8,6 +8,6 @@ Name: Python
8
8
  Description: Build a C extension for Python
9
9
  Requires:
10
10
  Version: 3.14
11
- Libs.private: -ldl /tmp/homescoop-wasix-python/stubs/libpython-wasix-stubs.a -Wl,--wrap=getuid -Wl,--wrap=geteuid -Wl,--wrap=getgid -Wl,--wrap=getegid -Wl,--wrap=getpwuid -Wl,--wrap=getpwnam -Wl,--wrap=getpwuid_r -Wl,--wrap=getpwnam_r -Wl,--wrap=getgrgid -Wl,--wrap=getgrnam -Wl,--wrap=getgrgid_r -Wl,--wrap=getgrnam_r -Wl,--wrap=flock -Wl,--wrap=fcntl -Wl,--wrap=lockf -Wl,--export=__wrap_getuid -Wl,--export=__wrap_geteuid -Wl,--export=__wrap_getgid -Wl,--export=__wrap_getegid -Wl,--export=__wrap_flock -Wl,--export=__wrap_fcntl -Wl,--export=__wrap_lockf -lwasi-emulated-getpid -lwasi-emulated-process-clocks -lpthread
11
+ Libs.private: -ldl /tmp/homescoop-wasix-python/stubs/libpython-wasix-stubs.a -Wl,--wrap=flock -Wl,--wrap=fcntl -Wl,--wrap=lockf -Wl,--export=__wrap_flock -Wl,--export=__wrap_fcntl -Wl,--export=__wrap_lockf -Wl,-u,_ZTH5errno -Wl,--export=_ZTH5errno -Wl,-u,__cxa_thread_atexit_impl -Wl,--export=__cxa_thread_atexit_impl -lwasi-emulated-getpid -lwasi-emulated-process-clocks -lpthread
12
12
  Libs: -L${libdir}
13
13
  Cflags: -I${includedir}/python3.14