Skip to content

Commit

Permalink
Python 3.13 Support, 3.8 EOL
Browse files Browse the repository at this point in the history
Add support for Python 3.13.
Remove 3.8 because it is EOL as of Oct 2024.

Bump to pybind11 2.13.0+, which add Python 3.13 support in CI.
  • Loading branch information
ax3l committed Jan 8, 2025
1 parent ef9a7dc commit e1cc619
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 6 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ if(ImpactX_PYTHON)
impactx_enable_IPO(pyImpactX)
else()
# conditionally defined target in pybind11
# https://github.com/pybind/pybind11/blob/v2.12.0/tools/pybind11Common.cmake#L397-L403
# https://github.com/pybind/pybind11/blob/v2.13.0/tools/pybind11Common.cmake#L407-L413
target_link_libraries(pyImpactX PRIVATE pybind11::lto)
endif()
endif()
Expand Down
4 changes: 2 additions & 2 deletions cmake/dependencies/pybind11.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ function(find_pybind11)
mark_as_advanced(FETCHCONTENT_UPDATES_DISCONNECTED_FETCHEDpybind11)
endif()
else()
find_package(pybind11 2.12.0 CONFIG REQUIRED)
find_package(pybind11 2.13.0 CONFIG REQUIRED)
message(STATUS "pybind11: Found version '${pybind11_VERSION}'")
endif()
endfunction()
Expand All @@ -52,7 +52,7 @@ option(ImpactX_pybind11_internal "Download & build pybind11" ON)
set(ImpactX_pybind11_repo "https://github.com/pybind/pybind11.git"
CACHE STRING
"Repository URI to pull and build pybind11 from if(ImpactX_pybind11_internal)")
set(ImpactX_pybind11_branch "v2.12.0"
set(ImpactX_pybind11_branch "v2.13.6"
CACHE STRING
"Repository branch for ImpactX_pybind11_repo if(ImpactX_pybind11_internal)")

Expand Down
2 changes: 1 addition & 1 deletion docs/source/install/dependencies.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Optional dependencies include:
- see `optional I/O backends <https://github.com/openPMD/openPMD-api#dependencies>`__
- `CCache <https://ccache.dev>`__: to speed up rebuilds (For CUDA support, needs version 3.7.9+ and 4.2+ is recommended)
- `Ninja <https://ninja-build.org>`__: for faster parallel compiles
- `Python 3.8+ <https://www.python.org>`__
- `Python 3.9+ <https://www.python.org>`__

- `mpi4py <https://mpi4py.readthedocs.io>`__
- `numpy <https://numpy.org>`__
Expand Down
5 changes: 3 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ def build_extension(self, ext):
ext_modules=cxx_modules,
cmdclass=cmdclass,
zip_safe=False,
python_requires=">=3.8",
python_requires=">=3.8", # left for CI, truly ">=3.9"
tests_require=["numpy", "pandas", "pytest", "scipy"],
install_requires=install_requires,
# cmdclass={'test': PyTest},
Expand All @@ -278,10 +278,11 @@ def build_extension(self, ext):
"Topic :: Software Development :: Libraries",
"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",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
(
"License :: OSI Approved :: " "BSD License"
), # TODO: use real SPDX: BSD-3-Clause-LBNL
Expand Down

0 comments on commit e1cc619

Please sign in to comment.