Conda-press, or Reinventing the Wheel
summary
Conda-press claims to create wheels from conda packages by walking conda-forge artifacts, producing skinny or fat wheels, and even merging many wheels into one. Demo builds a numpy wheel in ~30 seconds with the skip-python option, pip-installs it into a fresh virtualenv and imports numpy successfully. Code is ~2k lines of xsh, handles prefix redirection at runtime, targets many platforms, and exposes issues: file overwrites, name-mapping between conda and PyPI, prefix rewriting, and a symlink unzip limitation on pip.
AI-written summary · about
chapters (16)
- 0:00Conda-press intro
- 1:07Conda to wheels
- 4:22Multi-platform packaging
- 9:00Wheel creation problems
- 10:24Optimize with skip Python
- 11:51Test numpy wheel
- 14:35Skinny vs fat wheels
- 19:09Merge wheels into package
- 22:41How Conda-press works
- 24:12Limitations and ABI
- 26:29Prefix substitution
- 29:44Live: Rust wheel
- 31:42Live: PI MC wheel
- 35:23Q&A: PyPI compat
- 36:46Cross-platform wheels
- 37:29Future work
related talks
30mConda: a cross-platform, python-agnostic binary package manager.
40mMaking packages and packaging "just work"
45mConda: a cross-platform package manager for any binary distribution
40mBuilding a binary extension
37mEmbrace conda packages.
24mA tale of Python C extensions and cross-platform wheels
32mA New Way to Manage Python Environments
28mAll package managers suck, conda sucks less
