@ai-ecoverse/wasix-python 3.14.2-23 → 3.14.2-24

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
@@ -4,7 +4,7 @@ CPython 3.14 for slicc WASIX (`commands` `python` / `python3`).
4
4
 
5
5
  ## Features
6
6
 
7
- - PIE dynamic-main (`dylink.0`) on wasix-sysroot 2025.9.30-30's `sysroot-ehpic` (legacy wasm EH), SOABI `cpython-314-wasm32-wasix`; native side modules (py-numpy, py-scipy, py-pandas, …) load by `dlopen`
7
+ - PIE dynamic-main (`dylink.0`) on wasix-sysroot 2025.9.30-31's `sysroot-ehpic` (legacy wasm EH), SOABI `cpython-314-wasm32-wasix`; native side modules (py-numpy, py-scipy, py-pandas, …) load by `dlopen`
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.54.0; FTS5, JSON, math, R*Tree; no WAL, no extensions), `readline` 8.3 (ncurses 6.5 terminfo compiled in: xterm, screen, tmux, vt100, linux), `ctypes` / `_ctypes` (wasix-org/libffi; needs slicc-kernel#306 step 1 for `call_dynamic` + `closure_{allocate,free}`), `mmap`, `fcntl`, `termios`, `resource`, `pwd`, `grp`, `select`
10
10
  - No `fork`/`vfork`; `subprocess` via `os.posix_spawn` (`proc_spawn2`/`3`)
@@ -18,6 +18,22 @@ 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-24 (wasix-sysroot -31):
22
+
23
+ - `multiprocessing.Manager()` works: `dict`, `list`, `Queue`, `Namespace`,
24
+ `Value` and the other managed objects, also passed to spawned children,
25
+ over an AF_UNIX socket. Up to -23 the first proxy call raised
26
+ `TypeError: str, bytes or bytearray expected, not int`: WASIX's libc
27
+ returned family 0 and no path from `getsockname`, `getpeername` and
28
+ `accept` for every AF_UNIX socket (homescoop#515). `socket.getsockname()`
29
+ of a bound AF_UNIX socket now gives its path, and an unbound one `''`.
30
+ - A Manager is what the -23 error for shared ctypes recommends, so that
31
+ advice holds now (homescoop#669). The error also names `Barrier`, which
32
+ keeps its state in shared memory too.
33
+ - From the sysroot: `select.poll` reports `POLLHUP` for a registered fd with
34
+ no events whose peer closed, and `POLLERR` for a pipe write end whose
35
+ reader is gone; a process is no longer limited to 256 named semaphores.
36
+
21
37
  Since 3.14.2-23:
22
38
 
23
39
  - `multiprocessing.connection`'s `Listener` on an AF_UNIX path closes
@@ -13,7 +13,7 @@ bin/python.wasm statically links the components below. The table lists them; eac
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
15
  | libffi | 3.5.1 (wasix-org 09cbf7d + patches/libffi-wasix-varargs.patch) | MIT | github.com/wasix-org/libffi |
16
- | wasix-libc | wasix-sysroot 2025.9.30-30 | Apache-2.0 WITH LLVM-exception, MIT | @ai-ecoverse/wasix-sysroot |
16
+ | wasix-libc | wasix-sysroot 2025.9.30-31 | Apache-2.0 WITH LLVM-exception, MIT | @ai-ecoverse/wasix-sysroot |
17
17
  | libc++, libc++abi, libunwind | wasix-libc v2026-07-03.1 sysroot-ehpic (LLVM 20.1) | Apache-2.0 WITH LLVM-exception | github.com/wasix-org/wasix-libc |
18
18
 
19
19
  GNU Readline is licensed under the GPL-3.0-or-later and is linked statically, so bin/python.wasm as a whole (a combined work with CPython, whose PSF-2.0 licence is GPL-compatible, and the other components above, all under GPL-compatible licences) is distributed under the terms of the GPL-3.0-or-later; hence the package licence PSF-2.0 AND GPL-3.0-or-later. Redistributors pass on its Corresponding Source: the homescoop repository (https://github.com/ai-ecoverse/homescoop) at the commit this release was built from, plus the sha256-pinned upstream archives and dev packages its recipe.yaml lists, which homescoop keeps available.
@@ -2022,7 +2022,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
2022
2022
  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2023
2023
  ```
2024
2024
 
2025
- ## wasix-libc (@ai-ecoverse/wasix-sysroot 2025.9.30-30; files from tag v2025-09-02.1)
2025
+ ## wasix-libc (@ai-ecoverse/wasix-sysroot 2025.9.30-31; files from tag v2025-09-02.1)
2026
2026
 
2027
2027
  ```text
2028
2028
  wasi-libc as a whole is multi-licensed under the
package/bin/python.wasm CHANGED
Binary file
@@ -100,9 +100,10 @@ else:
100
100
  def reduce_arena(a):
101
101
  if sys.platform == 'wasi':
102
102
  raise NotImplementedError(
103
- 'multiprocessing: Value, Array and other shared ctypes '
104
- 'cannot be shared with another process on WASI, where '
105
- 'processes share no memory; use a Queue, a Pipe or a Manager')
103
+ 'multiprocessing: Value, Array, Barrier and other objects '
104
+ 'in shared memory cannot be shared with another process on '
105
+ 'WASI, where processes share no memory; use a Queue, a Pipe '
106
+ 'or a Manager')
106
107
  if a.fd == -1:
107
108
  raise ValueError('Arena is unpicklable because '
108
109
  'forking was enabled when it was created')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/wasix-python",
3
- "version": "3.14.2-23",
3
+ "version": "3.14.2-24",
4
4
  "description": "CPython 3.14 for slicc WASIX (commands python, python3; cross-built in CI on wasix-sysroot)",
5
5
  "license": "PSF-2.0 AND GPL-3.0-or-later",
6
6
  "engines": {