-
-
Notifications
You must be signed in to change notification settings - Fork 386
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
Honor the PEP 621 requires-python
setting
#2016
Comments
Hi @freakboy3742, I'd like to work on this issue. I hope to have a PR up for it later today, but if you see this before I manage to get that up, can you confirm that the best place for me to add the check would be in The thing I'm somewhat unsure of is whether adding the check there mixes concerns. Perhaps |
@sarayourfriend No - There's two parts to the process of reading a configuration. The first is reading the configuration file; this involves a series of merges so that all the various parts of a configuration are pulled together into a single "flat" configuration dictionary for each app, no matter how complex your app's configuration is. This is where the Then, when you run a command, there's the There might be a need to modify the |
Brilliant, I hoped something like I'll have a PR up shortly, and will ask any further questions or clarification there. |
What is the problem or limitation you are having?
Although Briefcase is able to target a wide range of Python versions, the app being published may not be equally flexible. As an example, the Toga testbed requires the use of Python 3.10 as a result of the specific dependencies that have been pinned.
Describe the solution you'd like
Briefcase should honor the PEP 612
requires-python
configuration item. If a project definesrequires-python
setting, and the currently active Python doesn't meet the requirement defined by that setting, Briefcase should raise an error.Describe alternatives you've considered
Do nothing, and rely on project documentation to define acceptable deployment platforms.
Additional context
The
BaseCommand.verify_app()
method would be a reasonable place for this check.The text was updated successfully, but these errors were encountered: