Commit 1d5706a
python: switch from bundled CLI wheels to download-at-first-use
Replace the platform-specific fat wheel approach (6 × ~90MB wheels per release)
with a single slim pure-Python wheel that downloads the CLI binary from GitHub
Releases on first use and caches it locally.
Key changes:
- New _cli_version.py: platform asset mapping, version sentinel (injected at
publish time by inject-cli-version.mjs)
- New _cli_download.py: download, SHA-256 verify, extract, atomic cache logic
- New __main__.py: 'python -m copilot download-cli' pre-download command
- Updated client.py resolution chain: explicit > env var > downloaded (removed
bundled binary fallback entirely)
- Updated publish.yml: single 'uv build --wheel' instead of build-wheels.mjs
- Removed build-wheels.mjs (old fat wheel builder)
- Updated docs to reflect Python's new download model
The cache directory is shared with the Rust SDK:
Linux: ~/.cache/github-copilot-sdk/cli/{version}/copilot
macOS: ~/Library/Caches/github-copilot-sdk/cli/{version}/copilot
Windows: %LOCALAPPDATA%\github-copilot-sdk\cli\{version}\copilot.exe
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent d15cfcb commit 1d5706a
13 files changed
Lines changed: 598 additions & 409 deletions
File tree
- .github/workflows
- docs
- setup
- python
- copilot
- scripts
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
214 | 214 | | |
215 | 215 | | |
216 | 216 | | |
217 | | - | |
218 | | - | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
219 | 221 | | |
220 | 222 | | |
221 | 223 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
4 | 12 | | |
5 | 13 | | |
6 | 14 | | |
7 | 15 | | |
8 | 16 | | |
9 | | - | |
| 17 | + | |
10 | 18 | | |
11 | 19 | | |
12 | 20 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
169 | 169 | | |
170 | 170 | | |
171 | 171 | | |
172 | | - | |
173 | | - | |
174 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
23 | 50 | | |
24 | 51 | | |
25 | 52 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
0 commit comments