You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#2029 added support for PEP 621 requires-python declarations. However, these version checks appear to always fail if the Python version is a prerelease.
Steps to reproduce
Use a prerelease Python (e.g. 3.13.0.rc2, or 3.14.0a1)
Run the Briefcase test suite.
In this CI run, using Python 3.14.0a1, there are 4 test failures:
=========================== short test summary info ============================
FAILED tests/commands/base/test_verify_requires_python.py::test_requires_python_met[!= 3.2] - briefcase.exceptions.UnsupportedPythonVersion: Unable to run Briefcase command. The project configuration requires Python versions != 3.2, but the environment's Python version is 3.14.0a0. Please run Briefcase using a Python version that satisfies the project's requirements.
FAILED tests/commands/base/test_verify_requires_python.py::test_requires_python_met[>= 3.2] - briefcase.exceptions.UnsupportedPythonVersion: Unable to run Briefcase command. The project configuration requires Python versions >= 3.2, but the environment's Python version is 3.14.0a0. Please run Briefcase using a Python version that satisfies the project's requirements.
FAILED tests/commands/base/test_verify_requires_python.py::test_requires_python_met[> 3.2] - briefcase.exceptions.UnsupportedPythonVersion: Unable to run Briefcase command. The project configuration requires Python versions > 3.2, but the environment's Python version is 3.14.0a0. Please run Briefcase using a Python version that satisfies the project's requirements.
FAILED tests/commands/base/test_verify_requires_python.py::test_requires_python_met[< 3.100] - briefcase.exceptions.UnsupportedPythonVersion: Unable to run Briefcase command. The project configuration requires Python versions < 3.100, but the environment's Python version is 3.14.0a0. Please run Briefcase using a Python version that satisfies the project's requirements.
Expected behavior
3.14.0a1 should pass requires-python checks that require !=3.2, >3.2, and <3.100.
Screenshots
No response
Environment
Operating System: Any
Python version: Any pre-release version (3.14.0a1 tested)
Software versions:
Briefcase: 0.3.20+
Logs
Additional context
This came up in the context of trying to add Python 3.14 to Briefcase's CI matrix.
The text was updated successfully, but these errors were encountered:
It's somewhat different for Briefcase's requires-python check because it isn't trying to resolve a particular version of a dependency, rather just checking that the active one matches the specifier. In that case, "accept already installed pre-releases for all version specifiers" from the set of default behaviours makes sense to follow.
Describe the bug
#2029 added support for PEP 621
requires-python
declarations. However, these version checks appear to always fail if the Python version is a prerelease.Steps to reproduce
In this CI run, using Python 3.14.0a1, there are 4 test failures:
Expected behavior
3.14.0a1 should pass
requires-python
checks that require!=3.2
,>3.2
, and<3.100
.Screenshots
No response
Environment
Logs
Additional context
This came up in the context of trying to add Python 3.14 to Briefcase's CI matrix.
The text was updated successfully, but these errors were encountered: