Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is it necessary to set the "require_python" upper bound to <3.13 #176

Closed
tyong920 opened this issue Aug 30, 2023 · 5 comments · Fixed by #178
Closed

Is it necessary to set the "require_python" upper bound to <3.13 #176

tyong920 opened this issue Aug 30, 2023 · 5 comments · Fixed by #178
Labels
enhancement New feature or request

Comments

@tyong920
Copy link

Downstream libraries or programs are limited by this ...

@mondeja
Copy link
Owner

mondeja commented Aug 31, 2023

And that's correct, we don't know yet if the library works in Python3.13. If you are very concerned about that, switch from poetry to hatch.

@mondeja mondeja closed this as completed Aug 31, 2023
@mondeja mondeja added the question Further information is requested label Aug 31, 2023
@GabDug
Copy link

GabDug commented Sep 7, 2023

While hatch is a great tool, it's not suitable for all use-cases: due to the absence of a standard lockfile format, there is no reproducibility. PDM or Poetry are reasonable choices when this is a requirement.

I've read your arguments in #135, and one of your point is that it's supposed to indicate versions that are guaranteed compatible, as per the Core metadata specifications. While I agree that there is no guarantee it works on Python 3.13, I think it's okay to assume forward compatibility between Python versions.
Moreover, this is what the majority of packages do, and it's also what the specifications indicates in its example. Even PyPA, the maintainers of the specification, do not specify upper-bounds on their projects like setuptools or pip.

I agree that removing the upper-bound also removes information that is easily parseable. However, the ecosystem use alternative ways, and instead convey this kind of information through standard, parseable classifiers, and to humans with badges and documentation.

Finally, if compatibility with future versions is a concern, simply adding a warning and disclaimer when running on a an unsupported-version of Python may be a fair approach.

I'll hope you'll reconsider :)

Have a great day, and thanks for this really useful package!

@mondeja
Copy link
Owner

mondeja commented Sep 7, 2023

However, the ecosystem use alternative ways, and instead convey this kind of information through standard, parseable classifiers

I haven't considered to use classifiers as a way to parse the upper version bound. Thanks. Seems feasible but I need to make some changes in the tool that I use to standarize the configuration across projects. Reopening this issue... expect it to be acomplished in a few weeks.

@mondeja mondeja reopened this Sep 7, 2023
@mondeja mondeja added enhancement New feature or request and removed question Further information is requested labels Sep 7, 2023
@tyong920
Copy link
Author

While hatch is a great tool, it's not suitable for all use-cases: due to the absence of a standard lockfile format, there is no reproducibility. PDM or Poetry are reasonable choices when this is a requirement.

I've read your arguments in #135, and one of your point is that it's supposed to indicate versions that are guaranteed compatible, as per the Core metadata specifications. While I agree that there is no guarantee it works on Python 3.13, I think it's okay to assume forward compatibility between Python versions. Moreover, this is what the majority of packages do, and it's also what the specifications indicates in its example. Even PyPA, the maintainers of the specification, do not specify upper-bounds on their projects like setuptools or pip.

I agree that removing the upper-bound also removes information that is easily parseable. However, the ecosystem use alternative ways, and instead convey this kind of information through standard, parseable classifiers, and to humans with badges and documentation.

Finally, if compatibility with future versions is a concern, simply adding a warning and disclaimer when running on a an unsupported-version of Python may be a fair approach.

I'll hope you'll reconsider :)

Have a great day, and thanks for this really useful package!

Could't agree more! 👍

@mondeja
Copy link
Owner

mondeja commented Oct 12, 2023

The new version 6.0.2 does not include a maximum Python upper version as requirement.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants