Python version End of Life

Hello! This is just a notice that Python 3.11 EOLs next October. Could you upgrade the script runner to 3.14?

PEP 664 – Python 3.11 Release Schedule | peps.python.org indicates EOL is in October 2027.

A lot of tracks including Python have tooling that likely needs to be investigated and upgraded (or replaced) in conjunction with the test runner so it’s not always straightforward to upgrade versions. The maintainer also needs to compare what versions are available on other platforms. It might not be practical to target the latest version if students will have trouble sourcing it easily. The Ubuntu LTS has Python 3.12 in its package repository while Fedora 41 isn’t EOL and has Python 3.13.

1 Like

For the Python maintainer, it’d likely be useful to know if there were specific language features that you wanted to use that you currently don’t have in 3.11.

There have been significant internal changes to pytest and several other key Python packages, which break the test runner, representer and analyzer used by the Python track when upgrading to 3.13 (and I’m guessing 3.14 is likely to be a bigger challenge).

The Python track maintainer has already invested a lot of time and nervous energy in rewriting our track tooling, and I’m afraid the rest of us just need to wait patiently and wish her well in completing this work. It’s surprisingly difficult.

5 Likes

String templates! And 3.13 let you do more with f-strings. I forget exactly how I ran afoul of the version change, but it was something pretty normal.
It’d be nice to have the version displayed to the user – I had to reach out for mentoring to find the version I had to write an answer for.

Exercism tests and tooling currently support 3.7 - 3.11.5 (tests) and Python 3.11.5 (tooling). Exceptions to this support are noted where they occur. Most of the exercises will work with Python 3.6+, or even earlier versions. But we don’t guarantee support for versions not listed under Active Python Releases.

2 Likes

Hi @ionFreeman,

Track maintainer here.

I’m sorry - but you will have to practice arbitrary quoting in f-strings and the use of t-strings locally on your computer for now. I think I saw Real Python announce some 3.14 tutorials, and I think Tre Hunner also has some stuff up. But the coding problems for both of those platforms are largely paid, and I am not sure if they offer an online env for testing.

A quick search shows me:

  • Hackerrank & Codecademy are on Python 3.12
  • Leetcode is on Python 3.11
  • Codewars uses Python 3.9, 3.10, and 3.11,
  • Coderbite is somewhere between 3.9 and 3.11
  • It looks like Topcoder uses a combo of 3.9, 3.6, 3.11.

There are of course more coding platforms out there - so one of them might be on Python 3.14.

As an important note: the JIT changes, free-threading, PDB, and RELP colorizing in 3.14 are highly unlikely to ever be supported in Exercism. We just don’t have the resources.



As @colinleach has mentioned, I’ve been in the process of upgrading to Python 3.13.x for a while now. The versioning leap in PyTest and PyLint, along with some mandatory bug fixes and related testing/test writing have complicated things. I’ve also had less free time to work on Exercism as of late.

I am hoping to be done before EOY. However, as @BNAndras has pointed out, Python 3.11.x is not EOL until 2027. Additionally, Python 3.14 was only officially released Oct 1st, 2025 so there are still bugs and issues and lagging tooling support. We’d want to do some significant testing before we deployed it in production.

Typically large projects wait 6 months or even a year before switching base language versions. Pybites - a paid platform that is similar to Exercism - was on Python 3.10 + 3.7 until last year. They are now on 3.12, but I don’t think they have plans to upgrade to 3.14 any time soon. Upgrading things is just complicated.

All that being said, if testing shows that the 3.13 changes also support 3.14, I might upgrade to 3.14 in the first half of 2026. Just don’t hold me to it. :sweat_smile:

Finally, as @IsaacG linked to, we clearly state our versioning in our docs on the site. We also state our versioning in the READMEs of the content repo, and the tooling repos.

I hope that helps clarify things.

3 Likes

Sorry. I get a report twice a week telling me that Python 3.11 EOLs in October of 2027 (Unexpectedly on the 24th,) I shouldn’t have made that mistake.

I’m just demonstrating interest in 3.14 on the theory that if nobody demonstrates interest, Exercism would never upgrade.

Thank you for all your work on 3.13! It just got into RedHat EPEL on October 15, so it still hasn’t pervaded.

1 Like

The track and tooling have now been upgraded to Python 3.13.5. :smile:

5 Likes

thanks so much!