@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-
|
|
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
|
package/THIRD-PARTY-NOTICES.md
CHANGED
|
@@ -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-
|
|
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-
|
|
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
|
|
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
|
|
104
|
-
'cannot be shared with another process on
|
|
105
|
-
'processes share no memory; use a Queue, a Pipe
|
|
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