Skip to content

Conversation

@lengau
Copy link
Contributor

@lengau lengau commented Feb 10, 2025

Summary

This adds NO_BINARY and NO_BINARY_PACKAGE environment variables to the uv CLI, allowing the user to specify packages to build from source using environment variables. Its not a complete fix for #4291 as it does not handle the pip subcommand.

Test Plan

This was tested by running uv sync with various UV_NO_BINARY and UV_NO_BINARY_PACKAGE environment variables set and checking that the correct set of packages were compiled rather than taken from pre-built wheels.

This adds `NO_BINARY` and `NO_BINARY_PACKAGE` environment variables to
the uv CLI, allowing the user to specify packages to build from source
using environment variables. It only works for the sync command.
@lengau lengau force-pushed the 4291/no-binary-env-vars branch from 5c90e01 to 98f4e8e Compare February 10, 2025 20:12
@lengau
Copy link
Contributor Author

lengau commented Feb 10, 2025

(Sorry for the force-push - it fixed the linting error)

@zanieb zanieb changed the title feat: add NO_BINARY and NO_BINARY_PACKAGE environment variables Add NO_BINARY and NO_BINARY_PACKAGE environment variables Feb 10, 2025
@zanieb zanieb enabled auto-merge (squash) February 10, 2025 21:05
@zanieb zanieb merged commit ac06e13 into astral-sh:main Feb 10, 2025
73 checks passed
@lengau lengau deleted the 4291/no-binary-env-vars branch February 10, 2025 22:20
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Feb 11, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.5.29` -> `0.5.30` |

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.5.30`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0530)

[Compare Source](astral-sh/uv@0.5.29...0.5.30)

##### Python

The managed PyPy distributions have been updated for PyPy v7.3.18, which includes:

-   PyPy3.10, which updates the standard library from Python 3.10.14 to 3.10.19
-   PyPy3.11, which adds beta support for Python 3.11.11

See the [PyPy release](https://pypy.org/posts/2025/02/pypy-v7318-release.html) for more details.

##### Enhancements

-   Add `uv sync --dry-run` ([#&#8203;11299](astral-sh/uv#11299))
-   Ignore `#egg` fragment in HTML Simple API response ([#&#8203;11340](astral-sh/uv#11340))

##### Configuration

-   Add `NO_BINARY` and `NO_BINARY_PACKAGE` environment variables ([#&#8203;11399](astral-sh/uv#11399))

##### Performance

-   Avoid re-cloning name when populating ambiguous set ([#&#8203;11401](astral-sh/uv#11401))
-   Optimize flattening in large workspaces ([#&#8203;11313](astral-sh/uv#11313))

##### Bug fixes

-   Allow dynamic packages to be overloaded ([#&#8203;11400](astral-sh/uv#11400))
-   Fix credential caching for index roots when URL ends in `simple/` ([#&#8203;11336](astral-sh/uv#11336))
-   Fix marker merging for requirements.txt for psycopg ([#&#8203;11298](astral-sh/uv#11298))
-   Set 777 permissions on locked files ([#&#8203;11328](astral-sh/uv#11328))
-   Support extras in `@` requests for tools ([#&#8203;11335](astral-sh/uv#11335))
-   Upgrade `astral-tokio-tar` to v0.5.1 ([#&#8203;11359](astral-sh/uv#11359))
-   Avoid missing logging for no-op upgrade events ([#&#8203;11301](astral-sh/uv#11301))
-   Use refined specifiers when logging narrowed Python range ([#&#8203;11334](astral-sh/uv#11334))
-   Don't use popup-generating `eprintln` in trampoline warnings ([#&#8203;11295](astral-sh/uv#11295))
-   Patch pkg-config files to be relocatable ([#&#8203;11291](astral-sh/uv#11291))
-   Fix a case of duplicate `torch` packages when using conflicting extras ([#&#8203;11323](astral-sh/uv#11323))

##### Documentation

-   Add docs for `uv tool install --editable` ([#&#8203;11280](astral-sh/uv#11280))
-   Fix broken anchors in README and docs index ([#&#8203;11338](astral-sh/uv#11338))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNjQuMSIsInVwZGF0ZWRJblZlciI6IjM5LjE2NC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
loic-lescoat pushed a commit to loic-lescoat/uv that referenced this pull request Mar 2, 2025
…-sh#11399)

<!--
Thank you for contributing to uv! To help us out with reviewing, please
consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->

## Summary

This adds `NO_BINARY` and `NO_BINARY_PACKAGE` environment variables to
the uv CLI, allowing the user to specify packages to build from source
using environment variables. Its not a complete fix for astral-sh#4291 as it does
not handle the `pip` subcommand.

## Test Plan

This was tested by running `uv sync` with various `UV_NO_BINARY` and
`UV_NO_BINARY_PACKAGE` environment variables set and checking that the
correct set of packages were compiled rather than taken from pre-built
wheels.

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
lengau added a commit to lengau/uv that referenced this pull request Mar 5, 2025
Similar to astral-sh#11399

This adds `UV_NO_BUILD` and `UV_NO_BUILD_PACKAGE` environment variables for non-pip commands.

Signed-off-by: Alex Lowe <alex@lowe.dev>
zanieb pushed a commit that referenced this pull request Mar 5, 2025
<!--
Thank you for contributing to uv! To help us out with reviewing, please
consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->

## Summary

<!-- What's the purpose of the change? What does it do, and why? -->
Similar to #11399

This adds `UV_NO_BUILD` and `UV_NO_BUILD_PACKAGE` environment variables
for non-pip commands.

## Test Plan

<!-- How was it tested? -->
Tested manually and with snapshot tests.


Fixes #11963

Signed-off-by: Alex Lowe <alex@lowe.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

configuration Settings and such

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants