Clarification on used Python version and software requirements #762
-
Hey, I'm currently engaged in the GSoC 2024 project where I'm tasked with adding type information and other enhancements. During my work, I noticed that our README.md does not specify the required Python version, both major and minor. From my observations, the project runs on Python 3, but I've identified remnants of Python 2 syntax (such as % formatting) which, while still compatible, could potentially obstruct future development. More critically, there are instances of non-compatible Python 2 syntax, like the use of the deprecated cmp function. Here is a screenshot illustrating the example: My question is: Are there specific Python versions that the software must support, or should we aim to support only the latest version? I recommend standardizing on Python 3.9, the next long-term stable release (current is 3.8), or Python3.10, the default interpreter for Ubuntu 22.04, as the development target. This would streamline our codebase by removing outdated compatibility code, which, I believe, is impeding development rather than enhancing it. This decision would also benefit the integration of type annotations, as the typing module has seen significant updates in recent Python versions (3.8, 3.9, 3.10). Fixing to a specific Python version would allow us to utilize the latest features of this module without compatibility concerns. Additionally, I suggest we address and document other software dependencies clearly in the README. This clarity will assist all contributors in setting up their development environments correctly. If agreed, I can add a badge indicating the targeted Python version to the README for clearer communication to all project contributors. Looking forward to your thoughts. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
I believe this discussion became more import after the #773 mentioning compatibility issues after a PR by me #768. |
Beta Was this translation helpful? Give feedback.
@omar-abdelgawad we will stick with python 3.8 for now. See @okahilak comment here #773 (comment)