packaging
packaging copied to clipboard
Core utilities for Python packages
I'm imagining this would help users hit by #631 and friends. Pyodide seems like the right tool for the job. /cc @rth in case he has thoughts on how we...
Given the example, `Requirement('enlighten >= 1.10.2')` The string output of this is `'enlighten>=1.10.2'` rather than `'enlighten >= 1.10.2'` I believe the lack of spaces between the specifier operators and versions...
Heya, This module takes a `pyproject.toml` dict (pre-parsed by a TOML library) and parses/validates the `[project]` table, according to PEP 621. I feel this could be generically useful, for packaging...
Currently comparing two marker string is legal in PEP 508, but fails in packaging 22.0: ```python from packaging.requirements import Requirement Requirement('numpy; "a"
This is possibly similar to #448, but I think it's a different use case. I'm not completely clear on what "operations" #448 is meant to cover, so apologies if I...
Discussions as a part of https://github.com/pypa/packaging/issues/578 showed a desire for a higher-level API for `packaging.tags`. This issue is to discuss what people want and what the API could then look...
Currently `Requirement.marker` is of type `Optional[Marker]`, and the following code is needed to check whether a requirement needs to be resolved: ```python def needs_resolution(r: Requirement) -> bool: if not r.marker:...
Marker comparisons silently switch from version number comparison to stringly, lexicographical comparison, e.g. on python 3.10 and packaging 22.0: ```python >>> from packaging.requirements import Requirement >>> Requirement('numpy; python_version >= "3.9."').marker.evaluate()...
Following this [past week's issue](https://pypi.org/project/wheel/#history) with `wheel==0.38`, this adds slightly more testing to help guard against a similar issue in this package. While its somewhat duplicative of what might already...