uv/crates
konsti 4adaa9a700
Wheel filename distribution package name (#278)
The normalized name abstractions were not consistently, this PR uses
them where they were previously missing:
* `WheelFilename::distribution`
* `Requirement::name`
* `Requirement::extras`
* `Metadata21::name`
* `Metadata21::provides_dist`

With `puffin-package` depending on `pep508_rs` this would be cyclical
crate dependency, so `puffin-normalize` gets split out from
`puffin-package`.

`DistInfoName` has the same task and semantics as `PackageName`, so it's
merged into the latter.

`PackageName` and `ExtraName` documentation is moved onto the type and
their constructors are called `new` instead of `normalize`. We now use
these constructors rarely enough the implicit allocation by
`to_string()` shouldn't matter anymore, while more actual cloning
becomes visible.
2023-11-02 11:15:27 +00:00
..
distribution-filename Wheel filename distribution package name (#278) 2023-11-02 11:15:27 +00:00
gourgeist Fix musl compilation (#234) 2023-10-30 18:10:17 +01:00
install-wheel-rs Wheel filename distribution package name (#278) 2023-11-02 11:15:27 +00:00
pep440-rs Add support for pre-release versions (#216) 2023-10-29 14:31:55 -04:00
pep508-rs Wheel filename distribution package name (#278) 2023-11-02 11:15:27 +00:00
platform-host Fix musl compilation (#234) 2023-10-30 18:10:17 +01:00
platform-tags Store all distributions rather than compatible wheels (#114) 2023-10-17 17:09:31 -04:00
puffin-build Implement mixed PEP 517 and setup.py build 2023-10-30 19:11:52 +01:00
puffin-cache Add stable hash crate (#281) 2023-11-01 23:41:45 +00:00
puffin-cli Wheel filename distribution package name (#278) 2023-11-02 11:15:27 +00:00
puffin-client Wheel filename distribution package name (#278) 2023-11-02 11:15:27 +00:00
puffin-dev Add docker builder (#238) 2023-11-02 12:03:56 +01:00
puffin-dispatch Move distribution abstraction in shared crate (#258) 2023-10-31 15:30:06 -04:00
puffin-distribution Wheel filename distribution package name (#278) 2023-11-02 11:15:27 +00:00
puffin-installer Wheel filename distribution package name (#278) 2023-11-02 11:15:27 +00:00
puffin-interpreter Fail gracefully when invalid markers are stored (#230) 2023-10-30 04:02:51 +00:00
puffin-normalize Wheel filename distribution package name (#278) 2023-11-02 11:15:27 +00:00
puffin-package Wheel filename distribution package name (#278) 2023-11-02 11:15:27 +00:00
puffin-resolver Wheel filename distribution package name (#278) 2023-11-02 11:15:27 +00:00
puffin-traits Add script to check the top 8k pypi packages (#198) 2023-10-26 12:03:59 +00:00
puffin-workspace Wheel filename distribution package name (#278) 2023-11-02 11:15:27 +00:00
README.md Add source distribution filename abstraction (#154) 2023-10-20 17:45:57 +02:00

Crates

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

Command-line interface for the Puffin package manager.

puffin-client

Client for interacting with PyPI-compatible HTTP APIs.

puffin-installer

Functionality for installing Python packages into a virtual environment.

puffin-interpreter

Functionality for detecting and leveraging the current Python interpreter.

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.

distribution-filename

Functionality for parsing wheel filenames as per PEP 427.