uv/crates
Charlie Marsh 67a09649f2
Support parsing --find-links, --index-url, and --extra-index-url in requirements.txt (#1146)
## Summary

This PR adds support for `--find-links`, `--index-url`, and
`--extra-index-url` arguments when specified in a `requirements.txt`.

It's a mostly-straightforward change. The only uncertain piece is what
to do when multiple files include these flags, and/or when we include
them on the CLI and in other files.

In general:

- If _anything_ specifies `--no-index`, we respect it.
- We combine all `--extra-index-url` and `--find-links` across all
sources, since those are just vectors.
- If we see multiple `--index-url` in requirements files, we error.
- We respect the `--index-url` from the command line over any provided
in a requirements file.

(`pip-compile` seems to just pick one semi-arbitrarily when multiple are
provided.)

Closes https://github.com/astral-sh/puffin/issues/1143.
2024-01-29 15:06:40 +00:00
..
bench Use Clippy lint table over Cargo config (#490) 2023-11-22 15:10:27 +00:00
cache-key Avoid storing absolute URLs for files (#944) 2024-01-17 09:15:21 -05:00
distribution-filename add initial rkyv support (#1135) 2024-01-28 12:14:59 -05:00
distribution-types Support parsing --find-links, --index-url, and --extra-index-url in requirements.txt (#1146) 2024-01-29 15:06:40 +00:00
gourgeist Windows launchers using posy trampolines (#1092) 2024-01-26 13:54:11 +00:00
install-wheel-rs Avoid re-creating directories in async unzip (#1155) 2024-01-28 14:30:38 +00:00
once-map Propagate cancellation errors in OnceMap (#1032) 2024-01-22 09:00:21 -05:00
pep440-rs add initial rkyv support (#1135) 2024-01-28 12:14:59 -05:00
pep508-rs Support parsing --find-links, --index-url, and --extra-index-url in requirements.txt (#1146) 2024-01-29 15:06:40 +00:00
platform-host Remove some unused dependencies (#1077) 2024-01-24 11:58:21 -05:00
platform-tags Add support for PyPy wheels (#1028) 2024-01-22 14:22:27 +00:00
puffin Support parsing --find-links, --index-url, and --extra-index-url in requirements.txt (#1146) 2024-01-29 15:06:40 +00:00
puffin-build Stream unpacking of source distribution downloads (#1157) 2024-01-28 20:09:24 -05:00
puffin-cache Remove cache purge methods to clean (#1159) 2024-01-28 21:15:11 -05:00
puffin-client puffin-client: add SimpleMetadataRaw (#1150) 2024-01-29 09:37:06 -05:00
puffin-dev Small instrumentation improvements (#1164) 2024-01-29 10:55:19 +00:00
puffin-dispatch Add support for disabling installation from pre-built wheels (#956) 2024-01-19 11:24:27 -06:00
puffin-distribution Small instrumentation improvements (#1164) 2024-01-29 10:55:19 +00:00
puffin-extract Use tokio_tar instead of async_tar (#1170) 2024-01-29 10:00:30 -05:00
puffin-fs Support parsing --find-links, --index-url, and --extra-index-url in requirements.txt (#1146) 2024-01-29 15:06:40 +00:00
puffin-git Re-add Cargo's known hosts checking (#1118) 2024-01-25 22:29:36 -05:00
puffin-installer Remove refresh checks from the install plan (#1119) 2024-01-25 22:48:16 -05:00
puffin-interpreter Add bootstrapping and isolation of development Python versions (#1105) 2024-01-26 12:12:48 -06:00
puffin-normalize add initial rkyv support (#1135) 2024-01-28 12:14:59 -05:00
puffin-resolver Small instrumentation improvements (#1164) 2024-01-29 10:55:19 +00:00
puffin-traits Add support for disabling installation from pre-built wheels (#956) 2024-01-19 11:24:27 -06:00
puffin-trampoline Windows launchers using posy trampolines (#1092) 2024-01-26 13:54:11 +00:00
puffin-warnings Migrate back to owo-colors (#824) 2024-01-08 08:54:57 +00:00
puffin-workspace Use Clippy lint table over Cargo config (#490) 2023-11-22 15:10:27 +00:00
pypi-types add initial rkyv support (#1135) 2024-01-28 12:14:59 -05:00
requirements-txt Support parsing --find-links, --index-url, and --extra-index-url in requirements.txt (#1146) 2024-01-29 15:06:40 +00:00
README.md Rename puffin-cli crate to puffin (#976) 2024-01-18 19:02:52 -05:00

Crates

bench

Functionality for benchmarking Puffin.

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.

gourgeist

A venv replacement to create virtual environments in Rust.

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.

puffin

Command-line interface for the Puffin package manager.

puffin-build

A PEP 517-compatible build frontend for Puffin.

puffin-cache

Functionality for caching Python packages and associated metadata.

puffin-client

Client for interacting with PyPI-compatible HTTP APIs.

puffin-dev

Development utilities for Puffin.

puffin-dispatch

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

puffin-distribution

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

puffin-extract

Utilities for extracting files from archives.

puffin-fs

Utilities for interacting with the filesystem.

puffin-git

Functionality for interacting with Git repositories.

puffin-installer

Functionality for installing Python packages into a virtual environment.

puffin-interpreter

Functionality for detecting and leveraging the current Python interpreter.

puffin-normalize

Normalize package and extra names as per Python specifications.

puffin-package

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

puffin-resolver

Functionality for resolving Python packages and their dependencies.

puffin-traits

Shared traits for Puffin, to avoid circular dependencies.

pypi-types

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

puffin-warnings

User-facing warnings for Puffin.

requirements-txt

Functionality for parsing requirements.txt files.