uv/crates
Charlie Marsh a81fb92ee6
Respect existing `.egg-link` files in site packages (#4082)
## Summary

As with other `.egg-info` and `.egg-link` distributions, it's easy to
support _existing_ `.egg-link` files. Like pip, we refuse to uninstall
these, since there's no way to know which files are part of the
distribution.

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

## Test Plan

Verify that `vtk` is included here, which is installed as a `.egg-link`
file:

```
> conda create -c conda-forge -n uv-test python h5py vtk pyside6 cftime psutil

> cargo run pip freeze --python /opt/homebrew/Caskroom/miniforge/base/envs/uv-test/bin/python
aiohttp @ file:///Users/runner/miniforge3/conda-bld/aiohttp_1713964997382/work
aiosignal @ file:///home/conda/feedstock_root/build_artifacts/aiosignal_1667935791922/work
attrs @ file:///home/conda/feedstock_root/build_artifacts/attrs_1704011227531/work
cached-property @ file:///home/conda/feedstock_root/build_artifacts/cached_property_1615209429212/work
cftime @ file:///Users/runner/miniforge3/conda-bld/cftime_1715919201099/work
frozenlist @ file:///Users/runner/miniforge3/conda-bld/frozenlist_1702645558715/work
h5py @ file:///Users/runner/miniforge3/conda-bld/h5py_1715968397721/work
idna @ file:///home/conda/feedstock_root/build_artifacts/idna_1713279365350/work
loguru @ file:///Users/runner/miniforge3/conda-bld/loguru_1695547410953/work
msgpack @ file:///Users/runner/miniforge3/conda-bld/msgpack-python_1715670632250/work
multidict @ file:///Users/runner/miniforge3/conda-bld/multidict_1707040780513/work
numpy @ file:///Users/runner/miniforge3/conda-bld/numpy_1707225421156/work/dist/numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl
pip==24.0
psutil @ file:///Users/runner/miniforge3/conda-bld/psutil_1705722460205/work
pyside6==6.7.1
setuptools==70.0.0
shiboken6==6.7.1
vtk==9.2.6
wheel==0.43.0
wslink @ file:///home/conda/feedstock_root/build_artifacts/wslink_1716591560747/work
yarl @ file:///Users/runner/miniforge3/conda-bld/yarl_1705508643525/work
```
2024-06-06 01:00:00 +00:00
..
bench Make target Python version an optional field (#4000) 2024-06-03 22:37:15 +00:00
cache-key Remove some unused `pub use` exports (#3930) 2024-05-30 22:26:52 -04:00
distribution-filename Incorporate build tag into wheel prioritization (#3781) 2024-05-23 21:12:53 +00:00
distribution-types Respect existing `.egg-link` files in site packages (#4082) 2024-06-06 01:00:00 +00:00
install-wheel-rs Support x86 windows (#3873) 2024-05-28 16:07:39 +00:00
once-map Avoid race condition in `OnceMap` (#3987) 2024-06-03 12:25:58 -04:00
pep440-rs Default to current Python minor if `Requires-Python` is absent (#4070) 2024-06-05 20:45:50 +00:00
pep508-rs uv-resolver: normalize marker expressions (#4017) 2024-06-04 13:45:54 -04:00
platform-tags fix: add missing ppc64le alias for powerpc64le (#3963) 2024-06-02 13:15:24 -04:00
pypi-types Avoid building packages with dynamic versions (#4058) 2024-06-05 18:11:58 +00:00
requirements-txt Bias towards local directories for bare editable requirements (#3995) 2024-06-04 19:37:05 +00:00
uv Respect existing `.egg-link` files in site packages (#4082) 2024-06-06 01:00:00 +00:00
uv-auth Increase verbosity of credential fetch logs (#3550) 2024-05-13 15:55:57 +00:00
uv-build Add support for `tool.uv` into distribution building (#3904) 2024-05-31 02:42:03 +00:00
uv-cache Remove special-casing for editable requirements (#3869) 2024-05-28 15:49:34 +00:00
uv-client Log transient network request failures (#3933) 2024-06-04 15:39:16 +02:00
uv-configuration Add support for `tool.uv` into distribution building (#3904) 2024-05-31 02:42:03 +00:00
uv-dev Move `uv-interpreter::managed::*` modules into crate top-level (#4020) 2024-06-05 07:27:30 -05:00
uv-dispatch Make target Python version an optional field (#4000) 2024-06-03 22:37:15 +00:00
uv-distribution Default to current Python minor if `Requires-Python` is absent (#4070) 2024-06-05 20:45:50 +00:00
uv-extract Fix nightly cfg checker warnings (#3932) 2024-05-31 09:35:52 +00:00
uv-fs Add support for `tool.uv` into distribution building (#3904) 2024-05-31 02:42:03 +00:00
uv-git Remove some `anyhow` usages (#3962) 2024-06-01 20:11:23 +00:00
uv-installer Respect existing `.egg-link` files in site packages (#4082) 2024-06-06 01:00:00 +00:00
uv-interpreter Default to current Python minor if `Requires-Python` is absent (#4070) 2024-06-05 20:45:50 +00:00
uv-normalize Improve JSON Schema and add export script (#3461) 2024-05-08 16:15:16 +00:00
uv-requirements Avoid building packages with dynamic versions (#4058) 2024-06-05 18:11:58 +00:00
uv-resolver Enforce `Requires-Python` when syncing (#4068) 2024-06-05 16:22:08 -04:00
uv-state Add persistent storage of installed toolchains (#3797) 2024-05-27 03:54:49 +00:00
uv-trampoline Support x86 windows (#3873) 2024-05-28 16:07:39 +00:00
uv-types Add Git resolver in lieu of static hash map (#3954) 2024-05-31 22:44:42 -04:00
uv-version Bump version to 0.2.8 (#4076) 2024-06-05 21:09:05 +00:00
uv-virtualenv Rewrite Python interpreter discovery (#3266) 2024-05-21 14:37:23 -05: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
uv-workspace Add override namespace to pyproject.toml/uv.toml (#3839) 2024-06-03 12:15:51 +02:00
README.md Rename `uv-traits` and split into separate modules (#2674) 2024-03-26 15:39:43 -05:00

README.md

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-interpreter

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.