packaging
packaging copied to clipboard
Core utilities for Python packages
As https://packaging.pypa.io/en/latest/development/release-process/ points out, it's already mostly automated. I think if we added a PyPI token and then used https://github.blog/changelog/2020-07-06-github-actions-manual-triggers-with-workflow_dispatch/ with the version number to release as the sole input...
``` B904 Within an `except` clause, raise exceptions with `raise ... from err` or `raise ... from None` to distinguish them from errors in exception handling ``` https://docs.astral.sh/ruff/rules/raise-without-from-inside-except/ ``` B018...
``` UP030 Use implicit references for positional format fields ``` https://docs.astral.sh/ruff/rules/format-literals/ ``` UP031 Use format specifiers instead of percent format ``` https://docs.astral.sh/ruff/rules/printf-string-formatting/ ``` UP032 Use f-string instead of `format` call...
`packaging.tags.compatible_tags()` doesn't provide a way to ignore the `platform` argument such that you only get `py*-none-any` tags. Probably need a `pure_python_tags()`, `python_only_tags()`, or something.
The `SpecifierSet` constructor takes a string as input. But if you have a list of `Specifier` objects, there's no way to make a `SpecifierSet` from them without converting them back...
Hello, please excuse me barging in here, it was suggested in the issue I submitted in setuptools https://github.com/pypa/setuptools/issues/1049 that I should go upstream (i.e. here) with this. First of all,...
In a conversation on Mastodon, @kevinbowen777 [reported an error](https://fosstodon.org/@kevinbowen/111752319850691579) with a failing version comparison when installing [py5](https://py5coding.org/) with [pdm](https://pdm-project.org/latest/). With @py5coding and myself, we tracked the cause to markers like...
As discussed previously (https://github.com/pypa/packaging/issues/762), I am working on an exhaustive set of tests against the boundry conditions of SpecifierSet. I would make the assumption that the following would always be...
The following should not raise an `InvalidVersion` exception, and should return `False` instead. ```pytb ❯ python -c 'from packaging.specifiers import SpecifierSet; print(SpecifierSet("===foobar", prereleases=True).contains("foobar"))' Traceback (most recent call last): File "",...
As part of my question (https://github.com/pypa/packaging/issues/762) I am writing an exhaustive set of tests for if something is contained within a specifier set, however this confused me: ```python SpecifierSet('===1.a1', prereleases=True).contains("1.a1")...