Skip to content

Commit 8b90b24

Browse files
committed
Python 3.9-3.13
Python 3.13 is released. Python 3.8 is EOL as of October 2024.
1 parent 4163ec1 commit 8b90b24

File tree

9 files changed

+25
-24
lines changed

9 files changed

+25
-24
lines changed

Dockerfile

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -112,21 +112,6 @@ RUN for whl in /opt/src/dist/*.whl; do \
112112
&& du -hs /opt/src/dist/* \
113113
&& du -hs /wheelhouse/*
114114

115-
# test in fresh env: Debian:Sid + Python 3.8
116-
FROM debian:sid
117-
ENV DEBIAN_FRONTEND noninteractive
118-
COPY --from=build-env /wheelhouse/openPMD_api-*-cp38-cp38-manylinux2010_x86_64.whl .
119-
RUN apt-get update \
120-
&& apt-get install -y --no-install-recommends python3.8 python3-distutils ca-certificates curl \
121-
&& rm -rf /var/lib/apt/lists/*
122-
RUN python3.8 --version \
123-
&& curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \
124-
&& python3.8 get-pip.py \
125-
&& python3.8 -m pip install openPMD_api-*-cp38-cp38-manylinux2010_x86_64.whl
126-
RUN python3.8 -c "import openpmd_api as io; print(io.__version__); print(io.variants)"
127-
RUN python3.8 -m openpmd_api.ls --help
128-
RUN openpmd-ls --help
129-
130115
# test in fresh env: Debian:Bullseye + Python 3.9
131116
FROM debian:bullseye
132117
ENV DEBIAN_FRONTEND noninteractive
@@ -187,6 +172,21 @@ RUN python3.12 -c "import openpmd_api as io; print(io.__version__); print
187172
RUN python3.12 -m openpmd_api.ls --help
188173
RUN openpmd-ls --help
189174

175+
# test in fresh env: Debian:Bullseye + Python 3.13
176+
FROM debian:bullseye
177+
ENV DEBIAN_FRONTEND noninteractive
178+
COPY --from=build-env /wheelhouse/openPMD_api-*-cp313-cp313-manylinux2010_x86_64.whl .
179+
RUN apt-get update \
180+
&& apt-get install -y --no-install-recommends python3.13 python3-distutils ca-certificates curl \
181+
&& rm -rf /var/lib/apt/lists/*
182+
RUN python3.13 --version \
183+
&& curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \
184+
&& python3.13 get-pip.py \
185+
&& python3.13 -m pip install openPMD_api-*-cp313-cp313-manylinux2010_x86_64.whl
186+
RUN python3.13 -c "import openpmd_api as io; print(io.__version__); print(io.variants)"
187+
RUN python3.13 -m openpmd_api.ls --help
188+
RUN openpmd-ls --help
189+
190190
# copy binary artifacts (wheels)
191191
FROM quay.io/pypa/manylinux2010_x86_64
192192
MAINTAINER Axel Huebl <[email protected]>

NEWS.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ Note that ADIOS2 does not support compression in BP3 files.
1515

1616
CMake 3.22.0 is now the minimally supported version for CMake.
1717
pybind11 2.13.0 is now the minimally supported version for Python support.
18+
Python 3.12 & 3.13 are now supported, Python 3.7 & 3.8 are removed.
1819

1920
The ``len(...)`` of many classes has been reworked for consistency and returns now the number of entries (iterations, record components, etc.).
2021
Previously, this sporadically returned the number of attributes, which is better queried via ``len(<object>.attributes)``.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ while those can be built either with or without:
115115

116116
Optional language bindings:
117117
* Python:
118-
* Python 3.8 - 3.12
118+
* Python 3.9 - 3.13
119119
* pybind11 2.13.0+
120120
* numpy 1.15+
121121
* mpi4py 2.1+ (optional, for MPI)

Singularity

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ Supported frontends are C++11 and Python3.
4242
-DopenPMD_USE_PYTHON=ON \
4343
-DopenPMD_BUILD_TESTING=OFF \
4444
-DCMAKE_INSTALL_PREFIX=/usr/local \
45-
-DCMAKE_INSTALL_PYTHONDIR=lib/python3.6/dist-packages
45+
-DCMAKE_INSTALL_PYTHONDIR=lib/python3.12/dist-packages
4646
make
4747
# make test
4848
make install

cmake/dependencies/pybind11.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,9 @@ set(openPMD_pybind11_branch "v2.13.6"
7878
"Repository branch for openPMD_pybind11_repo if(openPMD_USE_INTERNAL_PYBIND11)")
7979

8080
if(openPMD_USE_PYTHON STREQUAL AUTO)
81-
find_package(Python 3.7.0 COMPONENTS Interpreter Development.Module)
81+
find_package(Python 3.9.0 COMPONENTS Interpreter Development.Module)
8282
elseif(openPMD_USE_PYTHON)
83-
find_package(Python 3.7.0 COMPONENTS Interpreter Development.Module REQUIRED)
83+
find_package(Python 3.9.0 COMPONENTS Interpreter Development.Module REQUIRED)
8484
else()
8585
set(openPMD_HAVE_PYTHON FALSE)
8686
endif()

conda.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ dependencies:
3636
- pre-commit
3737
- pyarrow # for dask
3838
# - pybind11 # shipped internally
39-
- python>=3.8
39+
- python>=3.9
4040

4141
# just a note for later hackery, we could install pip packages inside the env, too:
4242
# - pip:

docs/source/dev/dependencies.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Optional: language bindings
3838

3939
* Python:
4040

41-
* Python 3.8 - 3.12
41+
* Python 3.9 - 3.13
4242
* pybind11 2.13.0+
4343
* numpy 1.15+
4444
* mpi4py 2.1+ (optional, for MPI)

docs/source/install/install.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ CMake will summarize the install paths for you before the build step.
192192
# Note that one some systems, /lib might need to be replaced with /lib64.
193193
194194
# change path to your python MAJOR.MINOR version
195-
export PYTHONPATH=$HOME/somepath/lib/python3.8/site-packages:$PYTHONPATH
195+
export PYTHONPATH=$HOME/somepath/lib/python3.12/site-packages:$PYTHONPATH
196196
197197
Adding those lines to your ``$HOME/.bashrc`` and re-opening your terminal will set them permanently.
198198

setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ def build_extension(self, ext):
196196
cmdclass=dict(build_ext=CMakeBuild),
197197
# scripts=['openpmd-ls'],
198198
zip_safe=False,
199-
python_requires='>=3.8',
199+
python_requires='>=3.9',
200200
# tests_require=['pytest'],
201201
install_requires=install_requires,
202202
# see: src/bindings/python/cli
@@ -225,11 +225,11 @@ def build_extension(self, ext):
225225
'Topic :: Database :: Front-Ends',
226226
'Programming Language :: C++',
227227
'Programming Language :: Python :: 3',
228-
'Programming Language :: Python :: 3.8',
229228
'Programming Language :: Python :: 3.9',
230229
'Programming Language :: Python :: 3.10',
231230
'Programming Language :: Python :: 3.11',
232231
'Programming Language :: Python :: 3.12',
232+
'Programming Language :: Python :: 3.13',
233233
('License :: OSI Approved :: '
234234
'GNU Lesser General Public License v3 or later (LGPLv3+)'),
235235
],

0 commit comments

Comments
 (0)