Skip to content

Commit 909cffe

Browse files
committed
Release Python v3.11.10
1 parent 0cb03a4 commit 909cffe

7 files changed

Lines changed: 414 additions & 6 deletions

File tree

‎base/.gitlab-ci.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.env:
22
variables:
3-
PYTHON_VERSION: "3.11.9"
4-
TAG_VERSION_MAJ_MIN: "false"
3+
PYTHON_VERSION: "3.11.10"
4+
TAG_VERSION_MAJ_MIN: "true"
55
TAG_VERSION_MAJ: "false"
66

77
.before-script-build: &before-script-build

‎base/3.11.10.Dockerfile‎

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
ARG BASE_IMAGE=debian
2+
ARG BASE_IMAGE_TAG=12
3+
ARG BUILD_ON_IMAGE=glcr.b-data.ch/python/ver
4+
ARG PYTHON_VERSION=3.11.10
5+
ARG NEOVIM_VERSION=0.10.1
6+
ARG GIT_VERSION=2.46.0
7+
ARG GIT_LFS_VERSION=3.5.1
8+
ARG PANDOC_VERSION=3.2
9+
10+
FROM glcr.b-data.ch/neovim/nvsi:${NEOVIM_VERSION} AS nvsi
11+
FROM glcr.b-data.ch/git/gsi/${GIT_VERSION}/${BASE_IMAGE}:${BASE_IMAGE_TAG} as gsi
12+
FROM glcr.b-data.ch/git-lfs/glfsi:${GIT_LFS_VERSION} as glfsi
13+
14+
FROM ${BUILD_ON_IMAGE}${PYTHON_VERSION:+:$PYTHON_VERSION}
15+
16+
ARG DEBIAN_FRONTEND=noninteractive
17+
18+
ARG BUILD_ON_IMAGE
19+
ARG NEOVIM_VERSION
20+
ARG GIT_VERSION
21+
ARG GIT_LFS_VERSION
22+
ARG PANDOC_VERSION
23+
ARG BUILD_START
24+
25+
ENV PARENT_IMAGE=${BUILD_ON_IMAGE}${PYTHON_VERSION:+:$PYTHON_VERSION} \
26+
NEOVIM_VERSION=${NEOVIM_VERSION} \
27+
GIT_VERSION=${GIT_VERSION} \
28+
GIT_LFS_VERSION=${GIT_LFS_VERSION} \
29+
PANDOC_VERSION=${PANDOC_VERSION} \
30+
BUILD_DATE=${BUILD_START}
31+
32+
## Install Neovim
33+
COPY --from=nvsi /usr/local /usr/local
34+
## Install Git
35+
COPY --from=gsi /usr/local /usr/local
36+
## Install Git LFS
37+
COPY --from=glfsi /usr/local /usr/local
38+
39+
RUN dpkgArch="$(dpkg --print-architecture)" \
40+
&& apt-get update \
41+
&& apt-get -y install --no-install-recommends \
42+
bash-completion \
43+
build-essential \
44+
curl \
45+
file \
46+
fontconfig \
47+
g++ \
48+
gcc \
49+
gfortran \
50+
gnupg \
51+
htop \
52+
info \
53+
jq \
54+
libclang-dev \
55+
man-db \
56+
nano \
57+
ncdu \
58+
procps \
59+
psmisc \
60+
screen \
61+
sudo \
62+
swig \
63+
tmux \
64+
vim-tiny \
65+
wget \
66+
zsh \
67+
## Neovim: Additional runtime recommendations
68+
ripgrep \
69+
## Git: Additional runtime dependencies
70+
libcurl3-gnutls \
71+
liberror-perl \
72+
## Git: Additional runtime recommendations
73+
less \
74+
ssh-client \
75+
## Python: Additional dev dependencies
76+
&& if [ -z "$PYTHON_VERSION" ]; then \
77+
apt-get -y install --no-install-recommends \
78+
python3-dev \
79+
## Install Python package installer
80+
## (dep: python3-distutils, python3-setuptools and python3-wheel)
81+
python3-pip \
82+
## Install venv module for python3
83+
python3-venv; \
84+
## make some useful symlinks that are expected to exist
85+
## ("/usr/bin/python" and friends)
86+
for src in pydoc3 python3 python3-config; do \
87+
dst="$(echo "$src" | tr -d 3)"; \
88+
if [ -s "/usr/bin/$src" ] && [ ! -e "/usr/bin/$dst" ]; then \
89+
ln -svT "$src" "/usr/bin/$dst"; \
90+
fi \
91+
done; \
92+
else \
93+
## Force update pip, setuptools and wheel
94+
curl -sLO https://bootstrap.pypa.io/get-pip.py; \
95+
python get-pip.py \
96+
pip \
97+
setuptools \
98+
wheel; \
99+
rm get-pip.py; \
100+
fi \
101+
## Git: Set default branch name to main
102+
&& git config --system init.defaultBranch main \
103+
## Git: Store passwords for one hour in memory
104+
&& git config --system credential.helper "cache --timeout=3600" \
105+
## Git: Merge the default branch from the default remote when "git pull" is run
106+
&& git config --system pull.rebase false \
107+
## Install pandoc
108+
&& curl -sLO https://github.com/jgm/pandoc/releases/download/${PANDOC_VERSION}/pandoc-${PANDOC_VERSION}-1-${dpkgArch}.deb \
109+
&& dpkg -i pandoc-${PANDOC_VERSION}-1-${dpkgArch}.deb \
110+
&& rm pandoc-${PANDOC_VERSION}-1-${dpkgArch}.deb \
111+
## Clean up
112+
&& rm -rf /tmp/* \
113+
&& rm -rf /var/lib/apt/lists/* \
114+
${HOME}/.cache

‎cuda/3.11.10.Dockerfile‎

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
ARG BUILD_ON_IMAGE
2+
3+
ARG CUDA_HOME=/usr/local/cuda
4+
ARG NVBLAS_CONFIG_FILE=/etc/nvblas.conf
5+
6+
FROM ${BUILD_ON_IMAGE}
7+
8+
## CUDA_IMAGE
9+
## ├── nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu22.04
10+
## └── nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04
11+
ARG LIBNVINFER_VERSION=8.5.3-1
12+
ARG LIBNVINFER_VERSION_MAJ=8
13+
14+
ARG CUDA_IMAGE_FLAVOR
15+
ARG CUPTI_AVAILABLE
16+
ARG BUILD_START
17+
18+
ARG CUDA_HOME
19+
ARG NVBLAS_CONFIG_FILE
20+
21+
ENV CUDA_HOME=${CUDA_HOME} \
22+
NVBLAS_CONFIG_FILE=${NVBLAS_CONFIG_FILE} \
23+
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}${LD_LIBRARY_PATH:+:}${CUDA_HOME}/lib:${CUDA_HOME}/lib64${CUPTI_AVAILABLE:+:${CUDA_HOME}/extras/CUPTI/lib64} \
24+
BUILD_DATE=${BUILD_START}
25+
26+
RUN cpuBlasLib="$(update-alternatives --query \
27+
libblas.so.3-$(uname -m)-linux-gnu | grep Value | cut -f2 -d' ')" \
28+
&& dpkgArch="$(dpkg --print-architecture)" \
29+
## Unminimise if the system has been minimised
30+
&& if [ ${CUDA_IMAGE_FLAVOR} = "devel" -a $(command -v unminimize) ]; then \
31+
yes | unminimize; \
32+
fi \
33+
## NVBLAS log configuration
34+
&& touch /var/log/nvblas.log \
35+
&& chown :users /var/log/nvblas.log \
36+
&& chmod g+rw /var/log/nvblas.log \
37+
## NVBLAS configuration using all compute-capable GPUs
38+
&& echo "NVBLAS_LOGFILE /var/log/nvblas.log" > $NVBLAS_CONFIG_FILE \
39+
&& echo "NVBLAS_CPU_BLAS_LIB $cpuBlasLib" >> $NVBLAS_CONFIG_FILE \
40+
&& echo "NVBLAS_GPU_LIST ALL" >> $NVBLAS_CONFIG_FILE \
41+
## Install TensorRT
42+
## libnvinfer is not yet available for Ubuntu 22.04 on sbsa (arm64)
43+
&& if [ ${dpkgArch} = "amd64" -o ! ${BASE_IMAGE} = "ubuntu:22.04" ]; then \
44+
## Install development libraries and headers
45+
## if devel-flavor of CUDA image is used
46+
if [ ${CUDA_IMAGE_FLAVOR} = "devel" ]; then dev="-dev"; fi; \
47+
CUDA_VERSION_MAJ_MIN=$(echo ${CUDA_VERSION} | cut -c 1-4); \
48+
apt-get update; \
49+
apt-get -y install --no-install-recommends \
50+
libnvinfer${dev:-${LIBNVINFER_VERSION_MAJ}}=${LIBNVINFER_VERSION}+cuda${CUDA_VERSION_MAJ_MIN} \
51+
libnvinfer-plugin${dev:-${LIBNVINFER_VERSION_MAJ}}=${LIBNVINFER_VERSION}+cuda${CUDA_VERSION_MAJ_MIN} \
52+
libnvinfer${LIBNVINFER_VERSION_MAJ}=${LIBNVINFER_VERSION}+cuda${CUDA_VERSION_MAJ_MIN} \
53+
libnvinfer-plugin${LIBNVINFER_VERSION_MAJ}=${LIBNVINFER_VERSION}+cuda${CUDA_VERSION_MAJ_MIN}; \
54+
## Keep apt from auto upgrading the libnvinfer packages
55+
apt-mark hold \
56+
libnvinfer${dev:-${LIBNVINFER_VERSION_MAJ}} \
57+
libnvinfer-plugin${dev:-${LIBNVINFER_VERSION_MAJ}} \
58+
libnvinfer${LIBNVINFER_VERSION_MAJ} \
59+
libnvinfer-plugin${LIBNVINFER_VERSION_MAJ}; \
60+
## TensorFlow versions < 2.12 expect TensorRT libraries version 7
61+
## Create symlink when only TensorRT libraries version > 7 are available
62+
trtRunLib=$(ls -d /usr/lib/$(uname -m)-linux-gnu/* | \
63+
grep 'libnvinfer.so.[0-9]\+$'); \
64+
trtPluLib=$(ls -d /usr/lib/$(uname -m)-linux-gnu/* | \
65+
grep 'libnvinfer_plugin.so.[0-9]\+$'); \
66+
if [ "$(echo $trtRunLib | sed -n 's/.*.so.\([0-9]\+\)/\1/p')" -gt "7" ]; then \
67+
ln -rs $trtRunLib /usr/lib/$(uname -m)-linux-gnu/libnvinfer.so.7; \
68+
ln -rs $trtPluLib /usr/lib/$(uname -m)-linux-gnu/libnvinfer_plugin.so.7; \
69+
fi \
70+
fi \
71+
## Clean up
72+
&& rm -rf /var/lib/apt/lists/*

‎scipy/.gitlab-ci.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
.env:
22
variables:
3-
PYTHON_VERSION: "3.11.9"
3+
PYTHON_VERSION: "3.11.10"
44
CTAN_REPO_BUILD_LATEST: "https://mirror.init7.net/ctan/systems/texlive/tlnet"
5-
TAG_VERSION_MAJ_MIN: "false"
5+
TAG_VERSION_MAJ_MIN: "true"
66
TAG_VERSION_MAJ: "false"
77

88
.before-script-build: &before-script-build

‎scipy/3.11.10.Dockerfile‎

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
ARG BUILD_ON_IMAGE=glcr.b-data.ch/python/base
2+
ARG PYTHON_VERSION=3.11.10
3+
ARG QUARTO_VERSION=1.5.57
4+
ARG CTAN_REPO=https://mirror.ctan.org/systems/texlive/tlnet
5+
6+
FROM ${BUILD_ON_IMAGE}${PYTHON_VERSION:+:$PYTHON_VERSION}
7+
8+
ARG DEBIAN_FRONTEND=noninteractive
9+
10+
ARG BUILD_ON_IMAGE
11+
ARG QUARTO_VERSION
12+
ARG CTAN_REPO
13+
ARG CTAN_REPO_BUILD_LATEST
14+
ARG BUILD_START
15+
16+
ENV PARENT_IMAGE=${BUILD_ON_IMAGE}${PYTHON_VERSION:+:$PYTHON_VERSION} \
17+
QUARTO_VERSION=${QUARTO_VERSION} \
18+
BUILD_DATE=${BUILD_START}
19+
20+
ENV PATH=/opt/TinyTeX/bin/linux:/opt/quarto/bin:$PATH
21+
22+
RUN dpkgArch="$(dpkg --print-architecture)" \
23+
&& apt-get update \
24+
&& apt-get install -y --no-install-recommends \
25+
fonts-roboto \
26+
ghostscript \
27+
librsvg2-bin \
28+
qpdf \
29+
texinfo \
30+
## Python: For h5py wheels (arm64)
31+
libhdf5-dev \
32+
## Install quarto
33+
&& curl -sLO https://github.com/quarto-dev/quarto-cli/releases/download/v${QUARTO_VERSION}/quarto-${QUARTO_VERSION}-linux-${dpkgArch}.tar.gz \
34+
&& mkdir -p /opt/quarto \
35+
&& tar -xzf quarto-${QUARTO_VERSION}-linux-${dpkgArch}.tar.gz -C /opt/quarto --no-same-owner --strip-components=1 \
36+
&& rm quarto-${QUARTO_VERSION}-linux-${dpkgArch}.tar.gz \
37+
## Remove quarto pandoc
38+
&& rm /opt/quarto/bin/tools/$(uname -m)/pandoc \
39+
## Link to system pandoc
40+
&& ln -s /usr/bin/pandoc /opt/quarto/bin/tools/$(uname -m)/pandoc \
41+
## Tell APT about the TeX Live installation
42+
## by building a dummy package using equivs
43+
&& apt-get install -y --no-install-recommends equivs \
44+
&& cd /tmp \
45+
&& wget https://github.com/scottkosty/install-tl-ubuntu/raw/master/debian-control-texlive-in.txt \
46+
&& equivs-build debian-* \
47+
&& mv texlive-local*.deb texlive-local.deb \
48+
&& dpkg -i texlive-local.deb \
49+
&& apt-get -y purge equivs \
50+
&& apt-get -y autoremove \
51+
## Admin-based install of TinyTeX
52+
&& CTAN_REPO_ORIG=${CTAN_REPO} \
53+
&& CTAN_REPO=${CTAN_REPO_BUILD_LATEST:-$CTAN_REPO} \
54+
&& export CTAN_REPO \
55+
&& wget -qO- "https://yihui.org/tinytex/install-unx.sh" \
56+
| sh -s - --admin --no-path \
57+
&& mv ${HOME}/.TinyTeX /opt/TinyTeX \
58+
&& sed -i "s|${HOME}/.TinyTeX|/opt/TinyTeX|g" \
59+
/opt/TinyTeX/texmf-var/fonts/conf/texlive-fontconfig.conf \
60+
&& ln -rs /opt/TinyTeX/bin/$(uname -m)-linux \
61+
/opt/TinyTeX/bin/linux \
62+
&& /opt/TinyTeX/bin/linux/tlmgr path add \
63+
&& tlmgr update --self \
64+
## TeX packages as requested by the community
65+
&& curl -sSLO https://yihui.org/gh/tinytex/tools/pkgs-yihui.txt \
66+
&& tlmgr install $(cat pkgs-yihui.txt | tr '\n' ' ') \
67+
&& rm -f pkgs-yihui.txt \
68+
## TeX packages as in rocker/verse
69+
&& tlmgr install \
70+
context \
71+
pdfcrop \
72+
## TeX packages as in jupyter/scipy-notebook
73+
&& tlmgr install \
74+
cm-super \
75+
dvipng \
76+
## TeX packages specific for nbconvert
77+
&& tlmgr install \
78+
oberdiek \
79+
titling \
80+
&& tlmgr path add \
81+
&& tlmgr option repository ${CTAN_REPO_ORIG} \
82+
&& chown -R root:${NB_GID} /opt/TinyTeX \
83+
&& chmod -R g+w /opt/TinyTeX \
84+
&& chmod -R g+wx /opt/TinyTeX/bin \
85+
## Make the TeX Live fonts available as system fonts
86+
&& cp /opt/TinyTeX/texmf-var/fonts/conf/texlive-fontconfig.conf \
87+
/etc/fonts/conf.d/09-texlive.conf \
88+
&& fc-cache -fsv \
89+
## Install Python packages
90+
&& export PIP_BREAK_SYSTEM_PACKAGES=1 \
91+
&& pip install \
92+
altair \
93+
beautifulsoup4 \
94+
bokeh \
95+
bottleneck \
96+
cloudpickle \
97+
cython \
98+
dask \
99+
dill \
100+
h5py \
101+
#ipympl \
102+
#ipywidgets \
103+
matplotlib \
104+
numba \
105+
numexpr \
106+
numpy \
107+
pandas \
108+
patsy \
109+
protobuf \
110+
scikit-image \
111+
scikit-learn \
112+
scipy \
113+
seaborn \
114+
sqlalchemy \
115+
statsmodels \
116+
sympy \
117+
tables \
118+
#widgetsnbextension \
119+
xlrd \
120+
## Install facets
121+
#&& cd /tmp \
122+
#&& git clone https://github.com/PAIR-code/facets.git \
123+
#&& jupyter nbextension install facets/facets-dist/ --sys-prefix \
124+
#&& cd / \
125+
## Clean up
126+
&& rm -rf /tmp/* \
127+
&& rm -rf /var/lib/apt/lists/* \
128+
${HOME}/.cache \
129+
${HOME}/.config \
130+
${HOME}/.local \
131+
${HOME}/.wget-hsts
132+
133+
ENV CTAN_REPO=${CTAN_REPO}

‎ver/.gitlab-ci.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
.env:
22
variables:
3-
PYTHON_VERSION: "3.11.9"
3+
PYTHON_VERSION: "3.11.10"
44
CUDA_VERSION: "11.8.0"
55
LIBNVINFER_VERSION: "8.5.3-1"
66
LIBNVINFER_VERSION_MAJ: "8"
7-
TAG_VERSION_MAJ_MIN: "false"
7+
TAG_VERSION_MAJ_MIN: "true"
88
TAG_VERSION_MAJ: "false"
99

1010
.before-script-all: &before-script-all

0 commit comments

Comments
 (0)