Proposal to fix python < 3.5 compatibility issues introduced in version 2.8.24 #599
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
In release 2.8.24 type hinting was introduced (#533) to
allure-python-common
package, and nopython_requires
directive has been added tosetup.py
script. It lead to failures on new python <3.5 installations, with package managers installing the newest version 2.9.43 which won't work on those python versions.I feel like pip should install latest compatible version without needing of user to dig into code and see what the problem is, as, i think, majority of allure-python integration users is QA engineers, who might not have a solid python background to understand what the issue is and how to resolve it.
What is the motivation / use case for changing the behavior?
Provide a better UX for users of deprecated python versions (python2.7 is not the only version which won't work with newest package release, typing module was introduced in 3.5)
Proposal to resolve the issue.
Currently I can see a three ways of dealing with the problem:
1.1 Add
python_requires='>=3.5'
directive tosetup.py
script ofallure-python-commons
package1.2 Fix classifiers of all packages removing python2 support and adding Python 3 Only classifiers.
1.3 Release 2.9.44 which contains fixed metadata.
1.4 Re-release 2.8.22 version as 2.9.43.1
This way:
This way:
README.MD
to make it clear that latest release to work on python < 3.5 is 2.8.22. Maybe add an exception in setup.py script which will be raised if minimal python version doesn't satsified.PR Is for ways 1 and 2.
Checklist
Unittest are not needed as there were no code changes.