@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 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-21",
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.51.0"
7
+ "slicc-kernel": ">=1.100.0"
8
8
  },
9
9
  "repository": {
10
10
  "type": "git",