Closed matthewfeickert closed 1 year ago
Thanks for your work on this, @matthewfeickert. Indeed, the release of hepdata_lib
0.10.0 removed support for Python 2.7 by introducing a dependence hepdata-validator>=0.3.2
. Looking at the comments of issue #187 and PR #189, it was a deliberate decision to remove Python 2.7 support from hepdata_lib
, but I guess it was not done in a clean way. Issue #187 suggests that pure Python 3 features were used in the hepdata_lib
code even before the 0.10.0 release, so you might need to go further back to find a version that works with Python 2.7. For example, check not only that hepdata_lib
can be installed in a Python 2.7 environment, but that the tests pass. I'm not sure if this is worth spending time on.
Thank you very much for investigating this, @matthewfeickert !
I agree with @GraemeWatt that since we broke things too long ago, it's not worth the effort to fix things now just for the sake of supporting some Python 2 edge cases. Let's just forget about Python 2. altogether now. I wouldn't even yank the 0.10.0
and later releases from PyPI. Nobody has complained in the recent past.
Sounds good to me. Thanks both!
The motivation for Issue #222 comes too late, as the problems that I outlined with not setting a lower bound to avoid breaking old versions have actually already happened. PR #189 broke all Python 2 releases forever for
hepdata_lib
v0.10.0+
when it addedhttps://github.com/HEPData/hepdata_lib/blob/42238e14c8f005ed3f2aa2d8161e2516e09d58cf/requirements.txt#L5
as the last release of
hepdata-validator
to support Python 2 washepdata-validator
v0.2.3
.There is no way to unbreak these releases, but as there haven't been too many releases since
v0.10.0
it would be feasible to finish following the outline of https://github.com/HEPData/hepdata_lib/pull/222#issuecomment-1441355145, resulting in a release
v0.12.0
and then to yank releases:0.10.0
0.10.1
0.11.0
0.11.1
from PyPI. This would still allow for these releases to be installed by exactly requesting them with
==
but it would then unbreak a Python 2.7 install likeas this would then be the equivalent of
which is a valid Python 2.7 install
_Originally posted by @matthewfeickert in https://github.com/HEPData/hepdata_lib/issues/222#issuecomment-1447512101_