Conversation
|
Can we drop cmake from the contributing guide then? |
|
Sure... Do you know if a C compiler is still "required"? The instructions seem sort of ancient. |
6e60f38 to
4f6b40d
Compare
|
On a |
|
Thanks @konstin. I'll restore the instructions around |
|
For me it's a question of who we're targeting: Anyone with dev experience will have |
4f6b40d to
f842395
Compare
|
I left it in for now, just seems unrelated to this change to remove it. |
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.6.3` -> `0.6.4` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>astral-sh/uv (astral-sh/uv)</summary> ### [`v0.6.4`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#064) [Compare Source](astral-sh/uv@0.6.3...0.6.4) ##### Enhancements - Upgrade pypy3.10 to v7.3.19 ([#​11814](astral-sh/uv#11814)) - Allow configuring log verbosity from the CLI (i.e., `-vvv`) ([#​11758](astral-sh/uv#11758)) - Warn when duplicate index names found in single file ([#​11824](astral-sh/uv#11824)) ##### Bug fixes - Always store registry index on resolution packages ([#​11815](astral-sh/uv#11815)) - Avoid error on relative paths in `uv tool uninstall` ([#​11889](astral-sh/uv#11889)) - Avoid silently dropping errors in directory enumeration ([#​11890](astral-sh/uv#11890)) - Disable interactive git terminal prompts during fetches ([#​11744](astral-sh/uv#11744)) - Discover Windows registry (PEP 514) Python versions across 32/64-bit ([#​11801](astral-sh/uv#11801)) - Don't panic on Ctrl-C in confirm prompt ([#​11706](astral-sh/uv#11706)) - Fix non-directory in workspace on Windows ([#​11833](astral-sh/uv#11833)) - Make interpreter caching robust to OS upgrades ([#​11875](astral-sh/uv#11875)) - Respect `include-system-site-packages` in layered environments ([#​11873](astral-sh/uv#11873)) - Suggest `uv tool update-shell` in PowerShell ([#​11846](astral-sh/uv#11846)) - Update code page to `65001` before setting environment variables in virtual environments ([#​11831](astral-sh/uv#11831)) - Use hash instead of full wheel name in wheels bucket ([#​11738](astral-sh/uv#11738)) - Fix version string truncation while generating cache_key ([#​11830](astral-sh/uv#11830)) - Explicitly handle ctrl-c in confirmation prompt instead of using a signal handler ([#​11897](astral-sh/uv#11897)) ##### Performance - Avoid cloning to string when creating cache path ([#​11772](astral-sh/uv#11772)) - Avoid redundant clones in version containment check ([#​11767](astral-sh/uv#11767)) - Avoid string allocation when enumerating tool names ([#​11910](astral-sh/uv#11910)) - Avoid using owned `String` for package name constructors ([#​11768](astral-sh/uv#11768)) - Avoid using owned `String` in deserializers ([#​11764](astral-sh/uv#11764)) - Migrate to `zlib-rs` (again) ([#​11894](astral-sh/uv#11894)) - Remove unnecessary clones when adding package names ([#​11771](astral-sh/uv#11771)) - Skip unquote allocation for non-quoted strings ([#​11813](astral-sh/uv#11813)) - Use `SmallString` for filenames and URLs ([#​11765](astral-sh/uv#11765)) - Use a Boxed slice for version specifiers ([#​11766](astral-sh/uv#11766)) - Use matches over contains for extra value parsing ([#​11770](astral-sh/uv#11770)) ##### Documentation - Avoid fallback to PyPI in mixed CPU/CUDA example ([#​11115](astral-sh/uv#11115)) - Docs: Clarify that setting cache-keys overrides defaults ([#​11895](astral-sh/uv#11895)) - Document our MSRV policy ([#​11898](astral-sh/uv#11898)) - Fix reference to macOS cache path ([#​11845](astral-sh/uv#11845)) - Fix typo in `no_default_groups` documentation and changelog ([#​11928](astral-sh/uv#11928)) - Update the "Locking and syncing" page ([#​11647](astral-sh/uv#11647)) - Update alternative indexes documentation to use new interface ([#​10826](astral-sh/uv#10826)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODUuMCIsInVwZGF0ZWRJblZlciI6IjM5LjE4NS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
uv no longer requires cmake; see astral-sh/uv#11894
Summary
I believe
zlib-rsis now a better choice on ARM and x86, so I'm just going to assume it's a better choice everywhere. It's much easier to build (removes our CMake dependency), and in my benchmarking, it's substantially faster on ARM and faster or ~exactly even on my x86 Windows machine.We migrated to
zlib-rsonce before (#9184); however, I later reverted it as I learned that they were only doing compile-time feature detection, and sozlib-rswas meaningfully slower on x86. They now perform runtime feature detection: https://trifectatech.org/blog/zlib-rs-is-faster-than-c/.To benchmark, I wrote a script to create a local Simple API-compliant registry (see the commit history) for a single package. Then I ran the
install-coldbenchmark against that registry to install NumPy.On ARM:
I benchmarked this about 100 times on my Windows machine and found it difficult to conclude anything beyond "They're nearly the same". Here's an example:
Closes #11885.