value of `python_requires` does not comply with PEP 345/440
envgap__adrienverge__yamllint-387
01 / FAILURE SIGNATURE
Captured in a clean container
error: subprocess-exited-with-error
02 / ENVIRONMENT RECIPE
- Base commit
85ccd625a382423edd988fcb796c4dd5897886fb- Manifest
setup.cfg- Reproduce
python3 -m pip install .- Run under trace
python3 -c " import importlib, importlib.metadata as md mods = set() for dist in md.distributions(): if 'file:///work' not in (dist.read_text('direct_url.json') or ''): continue top = (dist.read_text('top_level.txt') or '').split() if not top: top = [str(f).split('/')[0].removesuffix('.py') for f in (dist.files or []) if str(f).endswith('.py') and not str(f).startswith(('..', '_'))] mods.update(t for t in top if t.isidentifier() and not t.startswith('_')) assert mods, 'the project itself is not installed' for name in sorted(mods): importlib.import_module(name) print('imported', sorted(mods)) "
Reference environment fix used for admission
diff --git a/setup.cfg b/setup.cfg index c5adb55..6dd9ce8 100644 --- a/setup.cfg +++ b/setup.cfg @@ -46,7 +46,7 @@ project_urls = [options] packages = find: -python_requires = >=3.5.* +python_requires = >=3.5 include_package_data = True install_requires =
03 / ORIGINAL ISSUE TEXT
adrienverge/yamllint #387 · read the original issue
https://github.com/adrienverge/yamllint/blob/85ccd625a382423edd988fcb796c4dd5897886fb/setup.cfg#L49 According to [PEP 345 Requires-Python](https://www.python.org/dev/peps/pep-0345/#requires-python), the value of this field must be a valid [Version Specifier](https://www.python.org/dev/peps/pep-0345/#version-specifiers). Which in turn expects this to comply with [PEP 440](https://www.python.org/dev/peps/pep-0440/). While not an issue for those that directly use `pip`, this will cause issues for `poetry` users in the next release (if their current stance is maintained). Discussion of the issue and there stance can be found here: https://github.com/python-poetry/poetry/issues/4095.
04 / LABELS
Labels checked by running the task · needs human review
misspecificationLabel rules and the text that matched
[
{
"category": "misspecification",
"rule": "diff.changes_existing_manifest_line",
"source": "manifest_diff:setup.cfg",
"excerpt": "-python_requires = >=3.5.*\n+python_requires = >=3.5"
}
]Mined from a merged pull request linked to the issue whose changed files are all environment files.
The base commit is the pull request's base, not the dated default-branch commit; the registry is pinned to the merge date so the pull request's own pins resolve.
Default commands from envgap default-recipe synthesizer v1; gold_files are the pull request's environment diff.
Preparation uses current registries. Historical package availability is not enforced here; execution metadata records this limitation separately from the oracle's date-bounding policy.