Standalone binaries for machines without Python

Open
#60 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
6/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
python, wasm
Domain
cli, devops, devtools

Research direction

Start with the design questions listed in the issue body: the target matrix, the size and startup budget, and the signing approach, and read docs/versioning.md for the 1.x stability rules. Nothing is implemented yet, so the first step is a design comment in this issue, not code. Done means the design is agreed here, a tagged release publishes checksummed binaries for the agreed matrix, the README documents the download path, and devready --version runs on each target.

Written by the indexing model from the issue text.

Description

enhancement help wanted

Problem: Every install path needs Python tooling or Node: pipx, uvx, pip, or npm (which shells out to uvx/pipx). The machine DevReady is meant to diagnose may have none of them, so the tool cannot run where it is needed most.

Do (design first, then implement):

  • Open a short design discussion in this issue before writing the release pipeline. Compare at least:
    • PyInstaller / Nuitka one-file builds,
    • a self-contained Python distribution (python-build-standalone) plus a launcher,
    • a small native launcher that downloads a pinned wheel.
  • Decide and document:
    • target matrix (Windows x64/arm64, macOS arm64/x86_64 or universal, Linux x86_64/aarch64),
    • size and startup-time budget (the current install is a sub-second pure-Python package),
    • signing/notarization (Windows Authenticode, macOS Developer ID) and checksums,
    • antivirus false positives and how the docs will phrase them,
    • what happens to the "zero runtime dependencies" principle.
  • Then add a release job (or a separate build-binaries.yml) that attaches archives to the GitHub release, plus README install instructions and a devready --version smoke test per target.

Done when:

  • The design section is agreed in this issue and reflects the 1.x stability rules in docs/versioning.md.
  • A tagged release publishes binaries for the agreed matrix, each with a checksum.
  • README documents the download path next to pipx, uvx and npm.
  • The existing CLI output, exit codes and check ids are unchanged.

Notes:

  • This is not a good-first-issue: it touches release infrastructure and possibly paid signing accounts.
  • Do not add a network call to the CLI itself; binaries are just another way to ship the same package.
Dominant language
Python
Stars
2
Forks
3
Avg merge
10h 51m
Merged PRs (30d)
40

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Evalogical-Inc/devReady

All issues in Evalogical-Inc/devReady

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.