uv/crates
Charlie Marsh eb1a630db2
Avoid hard-error for non-existent extras (#627)
## Summary

When resolving `transformers[tensorboard]`, the `[tensorboard]` extra
doesn't exist. Previously, we returned "unknown" dependencies for this
variant, which leads the resolution to try all versions, then fail. This
PR instead warns, but returns the base dependencies for the package,
which matches `pip`. (Poetry doesn't even warn, it just proceeds as
normal.)

Arguably, it would be better to return a custom incompatibility here and
then propagate... But this PR is better than the status quo, and I don't
know if we have support for that behavior yet...? (\cc @zanieb)

Closes #386.

Closes https://github.com/astral-sh/puffin/issues/423.
2023-12-13 17:36:27 +00:00
..
bench Use Clippy lint table over Cargo config (#490) 2023-11-22 15:10:27 +00:00
distribution-filename Impl Version debug as display (#606) 2023-12-11 16:38:14 +01:00
distribution-types Add a fast-path to skip resolution when installation is complete (#613) 2023-12-12 17:43:12 +00:00
gourgeist Activate venv before source dist build (#567) 2023-12-12 15:46:37 +01:00
install-wheel-rs Use rustc-hash instead of fxhash crate (#594) 2023-12-08 20:27:49 +00:00
pep440-rs Impl Version debug as display (#606) 2023-12-11 16:38:14 +01:00
pep508-rs Consistent Cargo.toml syntax (#483) 2023-11-22 08:34:08 +00:00
platform-host Error when ldd is not in path (#506) 2023-11-28 05:55:04 +00:00
platform-tags Use rustc-hash instead of fxhash crate (#594) 2023-12-08 20:27:49 +00:00
puffin-build Don't preserve tar mtime to work around tar-rs bug. (#634) 2023-12-13 15:11:02 +00:00
puffin-cache Download, build, and install in a single pipeline phase (#605) 2023-12-11 15:42:29 +00:00
puffin-cli Avoid hard-error for non-existent extras (#627) 2023-12-13 17:36:27 +00:00
puffin-client Fix incorrect unknown size marker in traces (#600) 2023-12-09 04:46:01 +00:00
puffin-dev Enable package overrides in pip-compile (#631) 2023-12-13 15:03:38 +00:00
puffin-dispatch Enable package overrides in pip-compile (#631) 2023-12-13 15:03:38 +00:00
puffin-distribution Proper unzip error type (#636) 2023-12-13 12:55:59 +00:00
puffin-fs Enable selective cache purging in puffin clean (#589) 2023-12-08 19:51:32 +00:00
puffin-git Restructure Git cache to include package name (#588) 2023-12-07 20:17:41 -05:00
puffin-installer Proper unzip error type (#636) 2023-12-13 12:55:59 +00:00
puffin-interpreter Activate venv before source dist build (#567) 2023-12-12 15:46:37 +01:00
puffin-normalize Make warnings user-facing (#628) 2023-12-12 21:24:38 -05:00
puffin-resolver Avoid hard-error for non-existent extras (#627) 2023-12-13 17:36:27 +00:00
puffin-traits Towards using prepare_metadata_for_build_wheel in the resolver (#616) 2023-12-12 20:45:37 +00:00
puffin-warnings Make warnings user-facing (#628) 2023-12-12 21:24:38 -05:00
puffin-workspace Use Clippy lint table over Cargo config (#490) 2023-11-22 15:10:27 +00:00
pypi-types Make warnings user-facing (#628) 2023-12-12 21:24:38 -05:00
requirements-txt Typo: editable -> editables (#637) 2023-12-13 13:24:28 +00:00
README.md Make warnings user-facing (#628) 2023-12-12 21:24:38 -05:00

Crates

bench

Functionality for benchmarking Puffin.

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.]

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

A PEP 517-compatible build frontend for Puffin.

puffin-cache

Functionality for caching Python packages and associated metadata.

puffin-cli

Command-line interface for the Puffin package manager.

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