Skip to content

Commit 702191a

Browse files
committed
Add experimental support for Python 3.13t
Signed-off-by: Michał Szołucha <[email protected]>
1 parent 262f821 commit 702191a

File tree

5 files changed

+10
-6
lines changed

5 files changed

+10
-6
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ if (NOT BUILD_PYTHON AND PYTHON_VERSIONS)
199199
message(WARNING "The BUILD_PYTHON option is set to off and the PYTHON_VERSIONS variable is
200200
provided. The latter will be ignored.")
201201
elseif (BUILD_PYTHON AND "${PYTHON_VERSIONS}" STREQUAL "")
202-
set(PYTHON_VERSIONS "3.9;3.10;3.11;3.12;3.13")
202+
set(PYTHON_VERSIONS "3.9;3.10;3.11;3.12;3.13;3.13t")
203203
endif ()
204204

205205
if (BUILD_PYTHON)

dali/python/nvidia/dali/backend.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ def deprecation_warning(what):
7979
"Please update your environment to use Python 3.9, "
8080
"or newer."
8181
)
82-
# py3.13 warning
82+
# py3.13 warning. Handles both 3.13 and 3.13t.
8383
if sys.version_info[0] == 3 and sys.version_info[1] == 13:
8484
deprecation_warning("Python 3.13 support is experimental and not officially tested.")
8585

docker/Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ ENV PYVER=${PYVER} \
1313
PYTHONPATH=/opt/python/v \
1414
PYBIN=${PYTHONPATH}/bin \
1515
PYLIB=${PYTHONPATH}/lib \
16-
PATH=/opt/python/cp${PYV}-cp${PYV}/bin:/opt/python/cp39-cp39/bin:${PYBIN}:/opt/python/cp310-cp310/bin:/opt/python/cp311-cp311/bin:${PYBIN}:/opt/python/cp312-cp312/bin:/opt/python/cp313-cp313/bin:${PYBIN}:${PATH} \
17-
LD_LIBRARY_PATH=/opt/python/cp${PYV}-cp${PYV}/lib:/usr/local/lib:/opt/dali/${DALI_BUILD_DIR}:/opt/python/cp39-cp39/lib:/opt/python/cp310-cp310/lib:/opt/python/cp311-cp311/lib:${PYLIB}:/opt/python/cp312-cp312/lib:/opt/python/cp313-cp313/lib:${PYLIB}:${LD_LIBRARY_PATH} \
18-
LIBRARY_PATH=/opt/python/cp${PYV}-cp${PYV}/lib:/usr/local/lib:/opt/dali/${DALI_BUILD_DIR}:/opt/python/cp39-cp39/lib:/opt/python/cp310-cp310/lib:/opt/python/cp311-cp311/lib:${PYLIB}:/opt/python/cp312-cp312/lib:/opt/python/cp313-cp313/lib:${PYLIB}:${LIBRARY_PATH}
16+
PATH=/opt/python/cp${PYV}-cp${PYV}/bin:/opt/python/cp39-cp39/bin:${PYBIN}:/opt/python/cp310-cp310/bin:/opt/python/cp311-cp311/bin:${PYBIN}:/opt/python/cp312-cp312/bin:/opt/python/cp313-cp313/bin:${PYBIN}:/opt/python/cp313-cp313t/bin:${PYBIN}:${PATH} \
17+
LD_LIBRARY_PATH=/opt/python/cp${PYV}-cp${PYV}/lib:/usr/local/lib:/opt/dali/${DALI_BUILD_DIR}:/opt/python/cp39-cp39/lib:/opt/python/cp310-cp310/lib:/opt/python/cp311-cp311/lib:${PYLIB}:/opt/python/cp312-cp312/lib:/opt/python/cp313-cp313t/lib:${PYLIB}:/opt/python/cp313t-cp313t/lib:${PYLIB}:${LD_LIBRARY_PATH} \
18+
LIBRARY_PATH=/opt/python/cp${PYV}-cp${PYV}/lib:/usr/local/lib:/opt/dali/${DALI_BUILD_DIR}:/opt/python/cp39-cp39/lib:/opt/python/cp310-cp310/lib:/opt/python/cp311-cp311/lib:${PYLIB}:/opt/python/cp312-cp312/lib:/opt/python/cp313-cp313t/lib:${PYLIB}:/opt/python/cp313t-cp313t/lib:${PYLIB}:${LIBRARY_PATH}
1919

2020
RUN ln -s /opt/python/cp${PYV}* /opt/python/v
2121

docker/Dockerfile.build.aarch64-linux

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/
3131
python3.10 python3.10-dev \
3232
python3.11 python3.11-dev \
3333
python3.12 python3.12-dev \
34-
python3.13 python3.13-dev && \
34+
python3.13 python3.13-dev python3.13-nogil && \
3535
apt-key adv --fetch-key http://repo.download.nvidia.com/jetson/jetson-ota-public.asc && \
3636
add-apt-repository 'deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/cross-linux-aarch64/ /' && \
3737
apt-get update && \
@@ -97,6 +97,7 @@ RUN /bin/bash -c 'DALI_DEPS_VERSION_SHA=${DALI_DEPS_VERSION_SHA:-$(cat /tmp/DALI
9797
/tmp/dali_deps/build_scripts/build_deps.sh && rm -rf /tmp/dali_deps && rm -rf /tmp/DALI_DEPS_VERSION'
9898

9999
# hack - install cross headers in the default python paths, so host python3-config would point to them
100+
# free-threaded sources are included in 3.13.0
100101
RUN export PYVERS="3.8.5 3.9.0 3.10.0 3.11.0 3.12.0 3.13.0" && \
101102
for PYVER in ${PYVERS}; do \
102103
cd /tmp && (curl -L https://www.python.org/ftp/python/${PYVER}/Python-${PYVER}.tgz | tar -xzf - || exit 1) && \

docker/build_helper.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,9 @@ export BUNDLE_PATH_PREFIX=${BUNDLE_PATH_PREFIX}
7676
export TEST_BUNDLED_LIBS=${TEST_BUNDLED_LIBS:-YES}
7777
export PYTHON_VERSIONS=${PYTHON_VERSIONS}
7878
# use all available pythons
79+
if [[ "$PYTHON_VERSIONS" == *"t"* ]]; then
80+
export PYTHON_GIL=0
81+
fi
7982

8083
cmake ../ -DCMAKE_INSTALL_PREFIX=. \
8184
-DARCH=${ARCH} \

0 commit comments

Comments
 (0)