Epic: Python lane & cloud CLIs (awscli, gcloud)
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- aws, gcp, python, wasm
- Domain
- build-system, cli, cloud
Research direction
Start with ADR #26 and the eryx-wasm-runtime foundation described in the issue, then review spikes #74–#78 and the manifest/driver work in #75. The epic is done when the Python CPython→wasip2 lane exists and the awscli v1 and gcloud compile/run spikes have addressed HTTPS, with gcloud's subprocess dependency tracked against #49.
Written by the indexing model from the issue text.
Description
Add a fourth CLI build lane — Python (CPython → wasip2) — and use it to attempt the cloud CLIs (awscli, gcloud), which are themselves Python programs.
Why a Python lane
ADR #26 defined three language lanes (Rust/C → wasip2, Go → wasip3). awscli and gcloud are both Python, so they collapse into one new lane rather than three bespoke efforts. eryx has already done the hard part: eryx-wasm-runtime is built on componentize-py with a prebuilt libpython3.14.so + a python-stdlib.tar.zst bundle and Python pre-initialization. That runtime is directly cribbable as the foundation for this lane.
Hard truths (per ADR #26 — candidates are hypotheses, not a catalog)
- Outbound HTTPS is the real blocker for cloud CLIs, not Python itself: wasi-sockets/wasi-http + TLS + DNS + CA certs. The
ghdemo already established a sandbox pattern (mise run setup-gh-sandbox). - awscli v2 is a compiled bundle — target v1 (pip-installable, ~pure Python: awscli + botocore + s3transfer).
- gcloud shells out heavily to its own bundled interpreter → couples to the subprocess executor epic #49. It's also large.
- Every candidate needs a real compile/run spike before it's "supported".
Work
- #74 ADR/spike: Python lane via componentize-py (CPython→wasip2)
- #75 Add
lang = pythonto the build manifest + driver (depends on #51) - #76 Spike: outbound HTTPS from a Python component (shared blocker)
- #77 Spike: awscli v1 as a Python-lane component
- #78 Spike: gcloud (Cloud SDK) as a Python-lane component
Related C-lane networked candidate (tracked under #46): #79 curl.
Relates to #46 (CLI component distribution), ADR #26, #51 (manifest/driver), #49 (subprocess).
- Dominant language
- Rust
- Stars
- 9
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from sd2k/conch
-
demo documentation
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Difficulty 4/5 3-5 days Newbie friendliness 55/100
-
enhancement gh-demo
Difficulty 4/5 3-5 days Newbie friendliness 55/100
-
enhancement gh-demo
Difficulty 4/5 3-5 days Newbie friendliness 48/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
enhancement remote
Difficulty 2/5 1-3 hours Newbie friendliness 68/100