@ai-ecoverse/wasix-python 3.14.2-21 → 3.14.2-22
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 +14 -1
- package/bin/python.wasm +0 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -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-22 the `sqlite3` module uses SQLite's `unix` VFS, with `fcntl`
|
|
22
|
+
locks, instead of SQLITE_WASI's default `unix-dotfile`, whose `.lock`
|
|
23
|
+
directory no other program saw. Python and the sqlite3 CLI (or another
|
|
24
|
+
program) now lock each other out on the same database. Up to -21, a CLI write
|
|
25
|
+
during a python transaction went through, and python's commit then failed
|
|
26
|
+
with `disk I/O error`.
|
|
27
|
+
|
|
28
|
+
**-22 needs slicc-kernel ≥ 1.100.0** (`engines`; it was ≥ 1.51.0). Its
|
|
29
|
+
`fcntl` locks only reach other processes through slicc-kernel's
|
|
30
|
+
`slicc.fcntl_lock` (1.100.0, #722). On an older kernel the libc grants every
|
|
31
|
+
lock locally, so two python processes writing one database could lose a row
|
|
32
|
+
(homescoop#567); -21's `.lock` directory had kept them apart.
|
|
33
|
+
|
|
21
34
|
Since 3.14.2-21 (wasix-sysroot -30):
|
|
22
35
|
|
|
23
36
|
- `multiprocessing` works with the `spawn` start method (the default):
|
|
@@ -192,7 +205,7 @@ On plain Wasmer without `_ssl`, use a local wheel (`--no-index --find-links`) un
|
|
|
192
205
|
python -m venv v && v/bin/pip install requests && v/bin/python -c "import requests"
|
|
193
206
|
```
|
|
194
207
|
|
|
195
|
-
**Venvs need slicc-kernel ≥ 1.29.0** (`engines` asks for ≥ 1.51.0 for `_ctypes`). On older kernels a
|
|
208
|
+
**Venvs need slicc-kernel ≥ 1.29.0** (`engines` asks for ≥ 1.100.0 since -22, for sqlite's locks; ≥ 1.51.0 before, for `_ctypes`). On older kernels a
|
|
196
209
|
venv's `bin/python` and `bin/pip` run as the base interpreter: `v/bin/pip
|
|
197
210
|
install` then installs into the **base** package directory, not the venv.
|
|
198
211
|
|
package/bin/python.wasm
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-ecoverse/wasix-python",
|
|
3
|
-
"version": "3.14.2-
|
|
3
|
+
"version": "3.14.2-22",
|
|
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": {
|
|
7
|
-
"slicc-kernel": ">=1.
|
|
7
|
+
"slicc-kernel": ">=1.100.0"
|
|
8
8
|
},
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|