← All tasks
pythonadrienverge/yamllint #387Repaired task

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.
Continue on GitHub ↗

04 / LABELS

Labels checked by running the task · needs human review

misspecification
Label 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.