-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Closed
Labels
metaMeta issues (rollouts, etc)Meta issues (rollouts, etc)
Description
Python 3.12 is going to have a release candidate soon, so we might as well test it out.
https://peps.python.org/pep-0693/
Apply a patch locally to test it out yourself.
Details
diff --git a/Dockerfile b/Dockerfile
index 0dd6db183..0ccc54548 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -36,7 +36,7 @@ RUN NODE_ENV=production npm run build
# We'll build a light-weight layer along the way with just docs stuff
-FROM python:3.11.5-slim-bookworm as docs
+FROM python:3.12-rc-slim-bookworm as docs
# By default, Docker has special steps to avoid keeping APT caches in the layers, which
# is good, but in our case, we're going to mount a special cache volume (kept between
@@ -105,7 +105,7 @@ USER docs
# Now we're going to build our actual application, but not the actual production
# image that it gets deployed into.
-FROM python:3.11.5-slim-bookworm as build
+FROM python:3.12-rc-slim-bookworm as build
# Define whether we're building a production or a development image. This will
# generally be used to control whether or not we install our development and
@@ -184,7 +184,7 @@ RUN --mount=type=cache,target=/root/.cache/pip \
# Now we're going to build our actual application image, which will eventually
# pull in the static files that were built above.
-FROM python:3.11.5-slim-bookworm
+FROM python:3.12-rc-slim-bookworm
# Setup some basic environment variables that are ~never going to change.
ENV PYTHONUNBUFFERED 1Notables:
- need
orjsonto release a 3.12 wheel, or we end up installing gcc/rust toolchains inbuildphase. They've already begun testing.
Released in 3.8.10 and we're already up to 3.9.1 - need
lxmlto release 4.9.3 with 3.12 support - lxml/lxml@da0c433 -
forcediphttpsadapter- Resolve DeprecationWarning: distutils Roadmaster/forcediphttpsadapter#14 - need
grpcioto add 3.12 support -Python 3.12 Support grpc/grpc#33063- [Python 3.12] Support Python 3.12 grpc/grpc#34398 -
greenlet- add 3.12 support - Fix #323: Support Python 3.12 python-greenlet/greenlet#327
- Release version 3.0.0 that includes 3.12 support, or wait until SQLAlchemy 2.1 makes it more optional. If they do, we should update our
main.into remove[asyncio]extras, since we don't use asyncio
- need
venusianto release a new version that doesn't usefind_modulePlease release 3.1.1 / 3.2.0 Pylons/venusian#85 -
passlib is usingNot a blocker, but opened a tracking issue for this.pkg_resources- https://foss.heptapod.net/python-libs/passlib/-/issues/185 (and may be unmaintained?) - update kombu to 5.3.2 or newer - Python3.12: fix imports in kombu/utils/objects.py celery/kombu#1756 Last time we tried, had a rough time, so might need to revisit once this is solved. Also now seeing Kombu may rely on locking in functools.cached_property that will be removed in Python 3.12 celery/kombu#1668
As of 2023-09-29, these packages are being built into wheels:
grpcio,
hiredis,
paginate,
psycopg-c,
pycurl,
pyqrcode,
zxcvbn,
psutil,
pyyaml,
restructuredtext-lint
I expect psycopg-c to always be built, since that's what we've opted into with this package, but the others should probably get built as wheels soon.
NyaMisty
Metadata
Metadata
Assignees
Labels
metaMeta issues (rollouts, etc)Meta issues (rollouts, etc)