orchest / orchest

Build data pipelines, the easy way 🛠️

Home Page:https://orchest.readthedocs.io/en/stable/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Upgrade Python

astrojuanlu opened this issue · comments

In #450 @yannickperrenet said

For the time being we will stay on Python3.8 because of the base images we use for the orchest-api, auth-server, orchest-webserver and update-server: tiangolo/meinheld-gunicorn-flask, which does not yet have a Python3.9 version available.

For the record, looks like tiangolo/meinheld-gunicorn-flask supports Python 3.9 already https://hub.docker.com/r/tiangolo/meinheld-gunicorn-flask/tags?page=1&name=3.9

There is an open PR to support Python 3.10 that hasn't received much attention though tiangolo/meinheld-gunicorn-docker#52 (@/tiangolo is probably focused on FastAPI these days!). The good news is that the Dockerfile is quite simple https://github.com/tiangolo/meinheld-gunicorn-docker/blob/master/docker-images/python3.9.dockerfile so I don't think it should block us from deciding what Python version we want Orchest to run on.

Python 3.8 will be 3 years old this October, when 3.11 is released. I'd argue that it is positive to try to keep it up to date, to enjoy new language features (PEP 584 union operators to dict, PEP 585, type hinting generics in standard collections, PEP 615 zoneinfo, PEP 626 precise line numbers for debugging and other tools) and the upcoming performance improvements and improved tracebacks of Python 3.11.

image

Maybe worth revisiting when we restore the testing infrastructure.

75e1bb8 -> updates to Python 3.9

I don't think it should block us from deciding what Python version we want Orchest to run on.

Agreed. Although slightly more work is involved so I opted for the quick and easy upgrade path.