diff --git a/.appveyor.yml b/.appveyor.yml index febfd623ef..1a6a4346e9 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -1,14 +1,14 @@ environment: matrix: - TARGET_ARCH: x64 - CONDA_PY: 3.7 + CONDA_PY: 3.9 CONDA_INSTALL_LOCN: C:\\Miniconda37-x64 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 platform: x64 SHARED: OFF - TARGET_ARCH: x86 - CONDA_PY: 3.7 + CONDA_PY: 3.9 CONDA_INSTALL_LOCN: C:\\Miniconda37 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 platform: x86 diff --git a/Dockerfile b/Dockerfile index 3186001384..ac8b3000f7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -112,21 +112,6 @@ RUN for whl in /opt/src/dist/*.whl; do \ && du -hs /opt/src/dist/* \ && du -hs /wheelhouse/* -# test in fresh env: Debian:Sid + Python 3.8 -FROM debian:sid -ENV DEBIAN_FRONTEND noninteractive -COPY --from=build-env /wheelhouse/openPMD_api-*-cp38-cp38-manylinux2010_x86_64.whl . -RUN apt-get update \ - && apt-get install -y --no-install-recommends python3.8 python3-distutils ca-certificates curl \ - && rm -rf /var/lib/apt/lists/* -RUN python3.8 --version \ - && curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \ - && python3.8 get-pip.py \ - && python3.8 -m pip install openPMD_api-*-cp38-cp38-manylinux2010_x86_64.whl -RUN python3.8 -c "import openpmd_api as io; print(io.__version__); print(io.variants)" -RUN python3.8 -m openpmd_api.ls --help -RUN openpmd-ls --help - # test in fresh env: Debian:Bullseye + Python 3.9 FROM debian:bullseye ENV DEBIAN_FRONTEND noninteractive diff --git a/NEWS.rst b/NEWS.rst index c3abe97204..60d68e19a0 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -8,6 +8,9 @@ Upgrade Guide ADIOS 2.9.0 is now the minimally supported version for ADIOS2 support. +Python 3.8 support is EOL and removed. + + 0.16.0 ------ diff --git a/README.md b/README.md index ce7a2bd5fe..ebc8e5d0fd 100644 --- a/README.md +++ b/README.md @@ -115,7 +115,7 @@ while those can be built either with or without: Optional language bindings: * Python: - * Python 3.8 - 3.13 + * Python 3.9 - 3.13 * pybind11 2.13.0+ * numpy 1.15+ * mpi4py 2.1+ (optional, for MPI) diff --git a/Singularity b/Singularity index f58b39a2d5..5d77c6dd55 100644 --- a/Singularity +++ b/Singularity @@ -42,7 +42,7 @@ Supported frontends are C++11 and Python3. -DopenPMD_USE_PYTHON=ON \ -DopenPMD_BUILD_TESTING=OFF \ -DCMAKE_INSTALL_PREFIX=/usr/local \ - -DCMAKE_INSTALL_PYTHONDIR=lib/python3.6/dist-packages + -DCMAKE_INSTALL_PYTHONDIR=lib/python3.12/dist-packages make # make test make install diff --git a/cmake/dependencies/pybind11.cmake b/cmake/dependencies/pybind11.cmake index 70899de816..90d7a8d602 100644 --- a/cmake/dependencies/pybind11.cmake +++ b/cmake/dependencies/pybind11.cmake @@ -83,9 +83,9 @@ set(openPMD_pybind11_branch "v2.13.6" "Repository branch for openPMD_pybind11_repo if(openPMD_USE_INTERNAL_PYBIND11)") if(openPMD_USE_PYTHON STREQUAL AUTO) - find_package(Python 3.7.0 COMPONENTS Interpreter Development.Module) + find_package(Python 3.9.0 COMPONENTS Interpreter Development.Module) elseif(openPMD_USE_PYTHON) - find_package(Python 3.7.0 COMPONENTS Interpreter Development.Module REQUIRED) + find_package(Python 3.9.0 COMPONENTS Interpreter Development.Module REQUIRED) else() set(openPMD_HAVE_PYTHON FALSE) endif() diff --git a/conda.yml b/conda.yml index 70fc817bf6..a737fc425d 100644 --- a/conda.yml +++ b/conda.yml @@ -37,7 +37,7 @@ dependencies: - pre-commit - pyarrow # for dask # - pybind11 # shipped internally - - python>=3.8 + - python>=3.9 # just a note for later hackery, we could install pip packages inside the env, too: # - pip: diff --git a/docs/source/dev/dependencies.rst b/docs/source/dev/dependencies.rst index 9fa226f416..beb1c9f278 100644 --- a/docs/source/dev/dependencies.rst +++ b/docs/source/dev/dependencies.rst @@ -38,7 +38,7 @@ Optional: language bindings * Python: - * Python 3.8 - 3.13 + * Python 3.9 - 3.13 * pybind11 2.13.0+ * numpy 1.15+ * mpi4py 2.1+ (optional, for MPI) diff --git a/docs/source/install/install.rst b/docs/source/install/install.rst index a0268a2a99..08e56dba5b 100644 --- a/docs/source/install/install.rst +++ b/docs/source/install/install.rst @@ -192,7 +192,7 @@ CMake will summarize the install paths for you before the build step. # Note that one some systems, /lib might need to be replaced with /lib64. # change path to your python MAJOR.MINOR version - export PYTHONPATH=$HOME/somepath/lib/python3.8/site-packages:$PYTHONPATH + export PYTHONPATH=$HOME/somepath/lib/python3.12/site-packages:$PYTHONPATH Adding those lines to your ``$HOME/.bashrc`` and re-opening your terminal will set them permanently. diff --git a/setup.py b/setup.py index 1ef958e87d..366eb0413d 100644 --- a/setup.py +++ b/setup.py @@ -203,7 +203,7 @@ def build_extension(self, ext): cmdclass=dict(build_ext=CMakeBuild), # scripts=['openpmd-ls'], zip_safe=False, - python_requires='>=3.8', + python_requires='>=3.9', # tests_require=['pytest'], install_requires=install_requires, # see: src/bindings/python/cli @@ -232,7 +232,6 @@ def build_extension(self, ext): 'Topic :: Database :: Front-Ends', 'Programming Language :: C++', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11',