Compatibility of Python 3.10+ with latest Cylc 8.2.X releases

My user group is currently using python 3.9.x on our system and are being urged to upgrade to 3.10+ versions whenever it is possible to do so. Cylc 8 says it needs python 3.7 → 3.9. Installation — Cylc 8.2.5 documentation

On the current system we have python3 available as 3.6 and 3.9 so I used 3.9 to pip install cylc 8.2.3.

What is the current available range of python releases that are considered compatible?

cylc-flow (scheduler and CLI) is compatible with Python 3.7 to 3.11.

But for cylc-uiserver it’s 3.7 to 3.9, because of a package dependency that has not be upgraded for 3.10+ yet.

So, for installing cylc-flow and cylc-uiserver into the same environment we’re restricted to 3.7 - 3.9 for the moment.

The HPE/Cray software stack involved here last supported Python 3.9 under SLES15SP3. That stack is no longer supported. The current stack runs on SLES15SP5 providing python 3.11. The cylc-uiserver in question is running in this environment and will have to be upgraded in the near future.

Hillary,
What is the package dependency (package) that needs to be upgraded in the UIServer tree that needs to be upgraded in order for movement to 3.10+?

Correction: it’s 3.8 to 3.9.

werkzeug 0.12 (a transitive dependency of graphene-tornado 2.6) can be patched manually with a 1-line change - see Python 3.10 support · Issue #388 · cylc/cylc-uiserver · GitHub