uv/crates
samypr100 2288ff7bf4
feat: pythonw support on gui scripts (#4409)
## Summary

Closes https://github.com/astral-sh/uv/issues/2956

This changes the bootstrap launcher script to use `pythonw.exe` instead
of `python.exe` on `gui_scripts` via a helper fn both in the shebang and
the python exe path encoded before `UVUV` magic, that way
uv-trampoline's `find_python_exe` can use the right pythonw executable.

## Test Plan

New unit tests for the helper was added.
Tested on example from #2956 on Windows to make sure it works as
expected.

## Questions

I noticed the docs in `fn windows_script_launcher` says ```The launcher
will look for `python[w].exe` adjacent to it in the same directory to
start the embedded script.``` but I didn't find such functionality when
I looked in uv-trampoline.
I only saw `clear_app_starting_state` getting called when `is_gui` is
set.

Was the intention to do this in uv-trampoline at some point instead?

---------

Co-authored-by: konstin <konstin@mailbox.org>
2024-06-23 09:48:47 +00:00
..
bench Pin benchmark requirements (#4429) 2024-06-20 14:13:38 -04:00
cache-key Remove some unused pub use exports (#3930) 2024-05-30 22:26:52 -04:00
distribution-filename Represent build tag as u64 (#4253) 2024-06-11 21:40:08 +00:00
distribution-types Use separate path types for directories and files (#4285) 2024-06-12 15:59:21 -04:00
install-wheel-rs feat: pythonw support on gui scripts (#4409) 2024-06-23 09:48:47 +00:00
once-map Avoid race condition in OnceMap (#3987) 2024-06-03 12:25:58 -04:00
pep440-rs Enable workspace lint configuration in remaining crates (#4329) 2024-06-18 03:02:28 +00:00
pep508-rs Opt-out tool.uv.sources support for uv add (#4406) 2024-06-19 14:20:16 -04:00
platform-tags fix: add missing ppc64le alias for powerpc64le (#3963) 2024-06-02 13:15:24 -04:00
pypi-types Support unnamed requirements in uv add (#4326) 2024-06-14 13:42:39 -04:00
requirements-txt Add --no-build, --no-build-package, and binary variants (#4322) 2024-06-14 04:05:00 +00:00
uv Adjust deduplicated message in pip tree (#4448) 2024-06-22 14:53:01 +00:00
uv-auth Enable workspace lint configuration in remaining crates (#4329) 2024-06-18 03:02:28 +00:00
uv-build Create temporary environments in dedicated cache bucket (#4223) 2024-06-10 23:17:35 +00:00
uv-cache Represent build tag as u64 (#4253) 2024-06-11 21:40:08 +00:00
uv-client Respect .python-version files and fetch manged toolchains in uv project commands (#4361) 2024-06-18 09:43:52 -05:00
uv-configuration Add --no-build, --no-build-package, and binary variants (#4322) 2024-06-14 04:05:00 +00:00
uv-dev Add PythonEnvironment::find API (#4423) 2024-06-20 17:54:17 +00:00
uv-dispatch Rename Downloader for clarity (#4395) 2024-06-18 16:00:10 -05:00
uv-distribution Use correct lock path for workspace dependencies (#4421) 2024-06-20 13:28:47 +00:00
uv-extract Fix nightly cfg checker warnings (#3932) 2024-05-31 09:35:52 +00:00
uv-fs Use correct lock path for workspace dependencies (#4421) 2024-06-20 13:28:47 +00:00
uv-git Remove some anyhow usages (#3962) 2024-06-01 20:11:23 +00:00
uv-installer Treat mismatched directory and file urls as unsatisfied requirements (#4393) 2024-06-19 14:50:13 +00:00
uv-macros Enable workspace lint configuration in remaining crates (#4329) 2024-06-18 03:02:28 +00:00
uv-normalize Enable workspace lint configuration in remaining crates (#4329) 2024-06-18 03:02:28 +00:00
uv-requirements Enable workspace lint configuration in remaining crates (#4329) 2024-06-18 03:02:28 +00:00
uv-resolver Use correct lock path for workspace dependencies (#4421) 2024-06-20 13:28:47 +00:00
uv-settings Expose toolchain-preference as a CLI and configuration file option (#4424) 2024-06-20 13:42:09 -05:00
uv-state Add persistent storage of installed toolchains (#3797) 2024-05-27 03:54:49 +00:00
uv-toolchain Fix ordering of prefer-system toolchain preference (#4441) 2024-06-22 09:42:51 -05:00
uv-trampoline Support x86 windows (#3873) 2024-05-28 16:07:39 +00:00
uv-types Add BuildOptions for centralized combination of NoBuild and NoBinary (#4284) 2024-06-12 21:33:33 +00:00
uv-version Revert "Bump version to 0.2.14 (#4431)" (#4436) 2024-06-21 16:24:32 +00:00
uv-virtualenv Use relative path for lib64 symlink (#4268) 2024-06-12 09:36:27 -04:00
uv-warnings Fix a bug where no warning is output when parsing of workspace settings fails. (#4014) 2024-06-04 09:21:19 -04:00
README.md Rename uv-interpreter crate to uv-toolchain (#4120) 2024-06-07 13:59:14 -05:00

Crates

bench

Functionality for benchmarking uv.

cache-key

Generic functionality for caching paths, URLs, and other resources across platforms.

distribution-filename

Parse built distribution (wheel) and source distribution (sdist) filenames to extract structured metadata.

distribution-types

Abstractions for representing built distributions (wheels) and source distributions (sdists), and the sources from which they can be downloaded.

install-wheel-rs

Install built distributions (wheels) into a virtual environment.]

once-map

A waitmap-like concurrent hash map for executing tasks exactly once.

pep440-rs

Utilities for interacting with Python version numbers and specifiers.

pep508-rs

Utilities for interacting with PEP 508 dependency specifiers.

platform-host

Functionality for detecting the current platform (operating system, architecture, etc.).

platform-tags

Functionality for parsing and inferring Python platform tags as per PEP 425.

uv

Command-line interface for the uv package manager.

uv-build

A PEP 517-compatible build frontend for uv.

uv-cache

Functionality for caching Python packages and associated metadata.

uv-client

Client for interacting with PyPI-compatible HTTP APIs.

uv-dev

Development utilities for uv.

uv-dispatch

A centralized struct for resolving and building source distributions in isolated environments. Implements the traits defined in uv-types.

uv-distribution

Client for interacting with built distributions (wheels) and source distributions (sdists). Capable of fetching metadata, distribution contents, etc.

uv-extract

Utilities for extracting files from archives.

uv-fs

Utilities for interacting with the filesystem.

uv-git

Functionality for interacting with Git repositories.

uv-installer

Functionality for installing Python packages into a virtual environment.

uv-toolchain

Functionality for detecting and leveraging the current Python interpreter.

uv-normalize

Normalize package and extra names as per Python specifications.

uv-package

Types and functionality for working with Python packages, e.g., parsing wheel files.

uv-requirements

Utilities for reading package requirements from pyproject.toml and requirements.txt files.

uv-resolver

Functionality for resolving Python packages and their dependencies.

uv-types

Shared traits for uv, to avoid circular dependencies.

pypi-types

General-purpose type definitions for types used in PyPI-compatible APIs.

uv-virtualenv

A venv replacement to create virtual environments in Rust.

uv-warnings

User-facing warnings for uv.

requirements-txt

Functionality for parsing requirements.txt files.