uv/crates
konsti 9db6644be6
Test requirements script (#382)
This script can compare different requirements between pip(-compile) and
puffin across python versions, with debug and release builds.

Examples:
```shell
scripts/compare_with_pip/compare_with_pip.py
scripts/compare_with_pip/compare_with_pip.py -p 3.10
scripts/compare_with_pip/compare_with_pip.py --release -p 3.9 --target 'transformers[deepspeed-testing,dev-tensorflow]'
```

It found a bunch of fixed bugs, e.g. the lack of yanked package handling
and source dist handling, as well as #423, which is currently most of
the output.

Example output:
https://gist.github.com/konstin/9ccf8dc7c2dcca737bf705429ced4892

#443 should be merged first
2023-11-17 18:26:55 +00:00
..
bench distribution-filename: speed up is_compatible (#367) 2023-11-09 09:01:03 -05:00
distribution-filename Choose most-compatible wheel in resolver and installer (#422) 2023-11-15 18:22:11 +00:00
gourgeist Use `sys.executable` as python root path (#431) 2023-11-16 12:16:49 +01:00
install-wheel-rs Use `temp_dir` casing everywhere (#440) 2023-11-16 21:04:10 +00:00
pep440-rs Filter out incompatible dists (#398) 2023-11-13 17:14:07 +01:00
pep508-rs pep508-rs: remove \x20 trailing whitespace hack (#400) 2023-11-10 15:11:29 -05:00
platform-host fix platform detection on Linux (#359) 2023-11-07 11:39:35 -05:00
platform-tags Choose most-compatible wheel in resolver and installer (#422) 2023-11-15 18:22:11 +00:00
puffin-build Use `sys.executable` as python root path (#431) 2023-11-16 12:16:49 +01:00
puffin-cache Use `temp_dir` casing everywhere (#440) 2023-11-16 21:04:10 +00:00
puffin-cli Use `UnusableDependencies` for URL dependency conflicts (#425) 2023-11-17 08:28:12 -06:00
puffin-client Improve PEP 691 compatibility (#428) 2023-11-16 19:03:44 +01:00
puffin-dev Test requirements script (#382) 2023-11-17 18:26:55 +00:00
puffin-dispatch Add a `warn_user_once!` macro (#442) 2023-11-17 02:34:06 +00:00
puffin-distribution Add a `warn_user_once!` macro (#442) 2023-11-17 02:34:06 +00:00
puffin-git Refactor distribution types to adhere to a clear hierarchy (#369) 2023-11-10 02:45:41 +00:00
puffin-installer Always¹ clear temporary directories (#437) 2023-11-16 20:49:48 +00:00
puffin-interpreter Use `sys.executable` as python root path (#431) 2023-11-16 12:16:49 +01:00
puffin-macros Add a `warn_user_once!` macro (#442) 2023-11-17 02:34:06 +00:00
puffin-normalize Split `puffin-package` into requirements.txt parser and `pypi-types` (#341) 2023-11-06 18:19:49 +00:00
puffin-resolver Test requirements script (#382) 2023-11-17 18:26:55 +00:00
puffin-traits Add a `warn_user_once!` macro (#442) 2023-11-17 02:34:06 +00:00
puffin-workspace Update pyproject-toml to 0.8.0 (#329) 2023-11-06 13:16:36 +00:00
pypi-types Option to resolve at a fixed timestamp with `pip-compile --exclude-newer YYYY-MM-DD` (#434) 2023-11-16 19:46:17 +00:00
requirements-txt Split `puffin-package` into requirements.txt parser and `pypi-types` (#341) 2023-11-06 18:19:49 +00:00
README.md Add a `warn_user_once!` macro (#442) 2023-11-17 02:34:06 +00:00

README.md

Crates

bench

Functionality for benchmarking Puffin.

distribution-filename

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

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

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

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

Reusable procedural macros for Puffin.

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.

requirements-txt

Functionality for parsing requirements.txt files.