Skip to main content

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 in THIRD_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 can make caps-sync && make build && make verify and get bit-for-bit reproducible bytes.
  • Bootstrap doc (e6691f69Build 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 and scripts/scaffold-cap.sh for one-command new-cap scaffolding (5864e65c).

CI

  • Lean + fat matrix (bc8d5c61). Every PR runs both variants; the fat variant sets PYLON_REQUIRE_FAT=1 so numpy-transitive smokes that SKIP on lean become hard failures on fat.
  • Private-repo gate (5a073b22) — every workflow's first job is gate: 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-engine and ibis (05b765e5, 723e2112, f7828a0c). UUID / DECIMAL / INTERVAL / DATE / TIMESTAMP coercions land.
  • _dynlink UX leaks retired (28d2c4f3, fb396eb3). Linkage mode is now uniformly invisible above the facade.
  • PyCapsule 3.14 sweep (76b2f93e). Every cap using PyCapsule_SetPointer(NULL) moved to SetDestructor(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/process import scaffold for future subprocess.spawn support (7a6f113d).

Known gaps

  • feat/pylon-lean-arrow-endpoint builds are numpy-lite. Smokes that need numpy SKIP silently unless PYLON_REQUIRE_FAT=1 is set. See Landmines → Lean vs fat.
  • caps-manifest.toml still carries one placeholder 0000... sha for a sibling repo not present in the maintainer's dev env at manifest time. Regenerate after a fresh clone.