https://github.com/njsmith/pybi-tools
https://github.com/njsmith/pybi-tools
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/njsmith/pybi-tools
- Owner: njsmith
- Created: 2021-07-02T08:51:46.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2022-11-20T03:08:42.000Z (over 3 years ago)
- Last Synced: 2025-04-09T18:05:45.942Z (over 1 year ago)
- Language: Python
- Homepage:
- Size: 33.2 KB
- Stars: 21
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# What is this
"Pybi" is a new format for distributing Python interpreters. For more
details, [see this draft
spec](https://github.com/njsmith/posy/blob/main/pybi/README.md).
While working on it, I've made some preliminary pybis for most
versions of CPython 3.6+ on Windows/macOS/Linux, and they're available
here: https://pybi.vorpus.org
This repo has the hacky tools I used to make those preliminary pybis.
Parts of this are pretty sophisticated. Other parts are duct tape and
chicken wire to that will only work for the exact pipeline I used.
# Overview
The Windows pybis are repacks of the official nuget packages
maintained by Steve Dower; `do-win.py` uses the nuget API to find them
all and repack them.
The macOS pybis are repacks for the official macOS framework builds
from https://python.org/downloads, munged by [Greg Neagle's
scripts](https://github.com/gregneagle/relocatable-python) to make
them relocatable. `do-macos.py` scrapes python.org to automatically
find these builds.
The Linux pybis are build by hand, but reusing most of the manylinux
docker image build scripts, with [a few
tweaks](https://github.com/pypa/manylinux/compare/main...njsmith:pybi).
Then `linux_vendor.py` does some hacky stuff to trick auditwheel into
working on an unpacked pybi.
# Notes to self
To add new pybis:
- on sidra, add to built/ directory
- on sidra, run `python3 regen-simple.py`
- go to the $web container in azure portal and get a SAS token
- on sidra, *in built/ directory*, run:
```
az storage blob sync -s . --account-name pybi --container '$web' --sas-token [token]
```