Repository navigation
Conversation
added 3 commits
October 30, 2026 17:44
…ntime The bundle compile of a program now stages the runtime pack's CPython headers (--embed-headers), the runtime lock file and the pack's own stdlib zip, so the compiled binary can compile island programs at run time with no Python install, no runtime pack cache and no network. A bundle dependency root can be declared extern (--bundle-exclude), and a missing header directory names the remedy.
tests/test_selfbin.py (marked slow) builds the self-compiled pyscriptc through the cli and runs a hello world compile with no Python on PATH, and mise run selfbin wraps the same build. The runtime-pack reference documents the two-file bundle layout and the external tools the binary still needs.
…emedy The -m pyrefly fallback in a self-compiled binary launches the compiler itself, so the failure surfaced as an argparse usage error. The failure now names PYREFLY_BIN, pip install pyrefly or --skip-check, and the doubled Install one of: in PS0001 is deduplicated.
Deploying pyscriptc with
|
| Latest commit: |
4df6966
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://7a445c56.pyscriptc.pages.dev |
| Branch Preview URL: | https://work-selfbin.pyscriptc.pages.dev |
added 10 commits
November 2, 2026 05:51
…o the self-compiled bundle The self-compiled bundle keeps its own carried_modules helper (a pack whose stdlib travels as a zip carries the zip's names), so the merge keeps it and adds the runtime set on top: the check answers the runtime the bundle links, not the compiler host's build.
The --bundle-exclude and --embed-headers flags landed without a docs regeneration, so the generated-docs seam reported the CLI reference as out of date.
…compiled bundle The runtime-linked stdlib manifest check adds 7 self-host fences in stdlibzip.py, so the bundle branch's census pin (3278) is stale on the merged tree. The merged tree measures 3285 fences and the same package sum; the pin moves with a comment that names both deltas.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
pyscriptc compiled to a relocatable bundle that needs no Python, uv or pip, stacked on #793. Recipe (
mise run selfbinwraps it plus the slow tests):pyscriptc compile src/pyscriptc --program --skip-check --island --emit bin --embed-python bundle --embed-headers --bundle-exclude mypy -o dist/selfbinResults (VPS, warm cache, median):
env -i PATH=/nonexistent: no Python on the machine. With only clang on PATH it also compiles programs.compile --skip-check --island,check,assess,coverage,run,config, imports).--version313 ms vs 187 ms installed; hello-worldcompile --emit bin1,274 ms vs 525 ms. The island pipeline has the same shape on both.Changes:
--embed-headersstages the pack's CPython headers into a bundle so the self binary can compile island programs;--bundle-exclude ROOTdeclares an import root extern (needed for lazily importedmypy); the runtime lock file is staged into a program-island compile;embed.self_pack_dir()lets a bundle that carrieslibpythonand headers act as its own pack; a missing pyrefly in a self-compiled compiler now names the remedy instead of relaunching the compiler.Honest gaps against "single binary":
bin/selfbinis 2.8 MB), not one file: libpython is a shared library and the stdlib is a zip, both must sit beside the executable.--emit binandrun, and pyrefly forcheck,inferand preflight. Nothing else.verifyandbuildare untested against the uv install; CI does not run the slow test; the boxed ledger was not re-measured.