jupyterhub/repo2docker

Python 3.11 and beyond

mjpieters opened this issue · 3 comments

Proposed change

Support Python 3.11, and perhaps automatically support future Python releases?

Python 3.11.0 was released in October 2022 but unfortunately I can’t yet use it in mybinder.org.

While it looks like you only need to run a simple script to add the conda environment file for new Python versions, you’ll need to do this manually once every 12 months. Is there any way this could be automated a bit or have the environment generated on the fly by periodically checking for newer Python versions on conda forge?

Alternative options

File a request for every new 3.x Python release, yearly.

Who would use this feature?

Anyone wanting to use features in newer Python releases.

How much effort will adding it take?

Adding 3.11: update conda/freeze.py to add 3.11 to the defaults, generate the environment files, commit.

Adding automated updates based on conda forge version info: hard to say, but a few days perhaps, depending on how well understood the GitHub Action environment is and how you’d commit updated environment files.

Who can do this work?

The base 3.11 work: most anyone, if the #1175 PR is typical.

Automatic detection of new Python versions: requires conda forge API familiarity plus experience with GH actions to automate commits or PRs.

minrk commented

I believe the changes in #1239 will make it easier for us to keep up with new Python versions.

We were held back by the fact that it was hard to upgrade things for old Pythons other than Python 2, but #1239 makes our 'too-old Python' support more generic, and extends it to Python 3.6, which should generally make this upgrade process easier. It will be very easy to shift 3.7 to the kernel-only set when it starts to be a hindrance.

We don't have anything automated for this, but it should be a lot easier now to just:

  1. add '3.12' to freeze.py
  2. run freeze.py 3.12
  3. update docs

and be done

Any progress on this? Thanks!

Just came across this as I was surprised to hit the following error via mybinder.org

Building conda environment for python=3.12
Error during build: Python version 3.12 on linux-64 is not supported!`