Hello here, If you have not noticed - we have a little bit of drama because in the latest `uv` version, Astral unilaterally decided to make the `~=3.10` de-facto invalid specification.
The `~=3.10` is a perfectly valid specification widely recognized as `>=3.10,<4` and specified like that (named "Compatible Release") in https://peps.python.org/pep-0440/#compatible-release and even if the wording in the PEP is slightly ambiguous for the semantics of it - it is widely recognized, quite heavily used and all Python tooling properly interpret it in the way described above. Yet the Astral team decided - unilaterally, that this is an ambiguous and misleading specification and started issuing a warning about it. Initially, the warning was pretty mysterious for workspace, because it did not tell which pyproject.toml it came from (we had it in all providers and breeze) - so after they implemented a fix, this turned into about a 100 unsilenceable warnings every time you run `uv sync`. This happened after I complained about this in the PR and proposed that there should be both - better message and a way to silence the warning for maintainers that they know what they are doing) - yet uv 7.9.19 just made the situation worse by ballooning the number of warnings and still not allowing to silence it. We are still waiting on a decision what Astral team will do in https://github.com/astral-sh/uv/issues/14422, Unfortunately there is no community to make decisions there - this is a unilateral decision of Astral team what they do, even if ~=3.10 is perfectly valid and recognized specification, that IMHO is not up to Astral team to make people change their way. So for now we are literally being forced by Astral to change the way we declare python compatibility - PR is here https://github.com/apache/airflow/pull/52967 . The way how `uv` workflow works makes it impossible to keep `~=3.10` - because every time you run `uv sync` - in our case literally several times a day you have 1.5 pages of warnings in your terminal. So it's not a "recommendation" - we are forced to change it. I do not particularly like being forced like that - for the "PEP compliant" and "standard" feature by the Astral team - but for now I created the temporary fix - and hopefully the decision will be reversed and we will be able to silence the warning - if we choose to do so. Speaking of which: Assuming that we have a choice (we do not have it now) - what would be your preference: * Should we continue using ~3.10 ? * Or should we switch to >=3.10,<4 ? I'd love to hear - regardless of the forceful change now - what is the preference of the community members. I have no "strong" preferences, I slightly prefer the `~3.10` as it is more concise. But I know others might have a different preference. And assuming that the Astral team will stop forcing us to "voluntarily choose" the latter, I would love that our community makes that choice on their own. What do you prefer? J.