Bug 223603

Summary: pylint-2.7.2 fails to autoinstall on Py3
Product: WebKit Reporter: Sam Sneddon [:gsnedders] <gsnedders>
Component: Tools / TestsAssignee: Jonathan Bedard <jbedard>
Status: ASSIGNED ---    
Severity: Normal CC: bfan2, jbedard, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=261073

Description Sam Sneddon [:gsnedders] 2021-03-22 15:01:48 PDT
Registering pylint-2.7.2 leads to:

Traceback (most recent call last):
  File "/Volumes/gsnedders/projects/Safari/OpenSource/Tools/Scripts/webkitpy/test/main.py", line 356, in <module>
    sys.exit(main())
  File "/Volumes/gsnedders/projects/Safari/OpenSource/Tools/Scripts/webkitpy/test/main.py", line 111, in main
    return not tester.run()
  File "/Volumes/gsnedders/projects/Safari/OpenSource/Tools/Scripts/webkitpy/test/main.py", line 184, in run
    return self._run_tests(names)
  File "/Volumes/gsnedders/projects/Safari/OpenSource/Tools/Scripts/webkitpy/test/main.py", line 191, in _run_tests
    AutoInstall.install_everything()
  File "/Volumes/gsnedders/projects/Safari/OpenSource/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py", line 555, in install_everything
    package.install()
  File "/Volumes/gsnedders/projects/Safari/OpenSource/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py", line 259, in install
    raise ValueError('No archives for {}-{} found'.format(self.pypi_name, self.version))
ValueError: No archives for pylint-2.7.2 found

This is surprising, given https://pypi.org/project/pylint/2.7.2/#files looks no different to https://pypi.org/project/pylint/2.6.2/#files which works fine?
Comment 1 Radar WebKit Bug Importer 2021-03-29 15:02:15 PDT
<rdar://problem/75974953>
Comment 2 Sam Sneddon [:gsnedders] 2023-10-03 10:31:56 PDT
This is because the index has 'data-requires-python': '~=3.6', and webkitcorepy.version.Version doesn't support PEP 440 and doesn't support the compatible release operator (https://peps.python.org/pep-0440/#compatible-release).