v0.1.0
Status: draft, cut from feat/pylon-lean-arrow-endpoint.
The first public release of pylon. What made it in:
Release-readiness
- README + architecture + dev docs (
2b3c09d6). The docs you're reading are a direct port of the three canonical documents. - Explicit LICENSE at repo root; wheel license alignment
(
745ad756). Wheel code is Apache-2.0; bundled CPython retains PSF-2.0; every vendor dep is called out inTHIRD_PARTY_LICENSES.md. - Sweep of stale references and dead build blocks (
a5374afc).
Reproducibility
caps-manifest.toml+make caps-sync+make verify(e6691f69). Every sibling~/git/<name>-wasm/repo is pinned by SHA + artifact sha256; the composed root's digest is pinned at the top of the manifest. A fresh machine canmake caps-sync && make build && make verifyand get bit-for-bit reproducible bytes.- Bootstrap doc (
e6691f69— Build from scratch).
Build
- Artifact rename
python.composed.wasm → pylon.wasm(feee530e). Old name kept as a symlink for transition. - DevX polish:
make probe FILE=<path>for ad-hoc smoke iteration andscripts/scaffold-cap.shfor one-command new-cap scaffolding (5864e65c).
CI
- Lean + fat matrix (
bc8d5c61). Every PR runs both variants; the fat variant setsPYLON_REQUIRE_FAT=1so numpy-transitive smokes that SKIP on lean become hard failures on fat. - Private-repo gate (
5a073b22) — every workflow's first job isgate: if: !github.event.repository.private, so private-repo pushes don't burn Actions minutes.
Cap layer
- DuckDB DB-API surface for downstream compat with
duckdb-engineandibis(05b765e5,723e2112,f7828a0c). UUID / DECIMAL / INTERVAL / DATE / TIMESTAMP coercions land. _dynlinkUX leaks retired (28d2c4f3,fb396eb3). Linkage mode is now uniformly invisible above the facade.- PyCapsule 3.14 sweep (
76b2f93e). Every cap usingPyCapsule_SetPointer(NULL)moved toSetDestructor(NULL) + SetName(..., ".closed")— no more double-close crashes at capsule GC.
Web demo
- xterm.js console panel (
a07fb9c1). - Guided-tour mode + info modal (
89421829). v86:posix/processimport scaffold for futuresubprocess.spawnsupport (7a6f113d).
Known gaps
feat/pylon-lean-arrow-endpointbuilds are numpy-lite. Smokes that need numpy SKIP silently unlessPYLON_REQUIRE_FAT=1is set. See Landmines → Lean vs fat.caps-manifest.tomlstill carries one placeholder0000...sha for a sibling repo not present in the maintainer's dev env at manifest time. Regenerate after a fresh clone.