Skip to content

Commit

Permalink
CI fixes and documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
franzpoeschel committed Jun 21, 2024
1 parent 951cedb commit 5d41f83
Show file tree
Hide file tree
Showing 8 changed files with 26 additions and 15 deletions.
15 changes: 13 additions & 2 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,13 @@ jobs:
- name: Install
run: |
sudo apt update
# Remove the default Python and link python3.11 in its stead to avoid
# compatibility issues between the two versions.
sudo apt -y autoremove python3
sudo apt install clang-14 cmake gfortran libhdf5-dev python3.11 python3.11-dev wget
python="$(which python3.11)"
sudo ln -s "$python" "${python%.11}"
sudo ln -s "$python" "${python%3.11}"
wget https://bootstrap.pypa.io/get-pip.py
python3.11 get-pip.py
python3.11 -m pip install numpy pandas
Expand Down Expand Up @@ -271,17 +277,22 @@ jobs:
run: |
apk update
apk add hdf5-dev
python3.10 -m pip install numpy
# Use a virtual environment in order to avoid compatibility issues
# between the various Python installations in this image.
python3.10 -m venv /opt/python_env
. /opt/python_env/bin/activate
python -m pip install numpy
- name: Build
env: {CXXFLAGS: -Werror}
run: |
. /opt/python_env/bin/activate
share/openPMD/download_samples.sh build
cmake -S . -B build \
-DopenPMD_USE_PYTHON=ON \
-DopenPMD_USE_MPI=OFF \
-DopenPMD_USE_HDF5=ON \
-DopenPMD_USE_INVASIVE_TESTS=ON \
-DPython_EXECUTABLE=$(which python3.10)
-DPython_EXECUTABLE=$(which python)
cmake --build build --parallel 2
cd build
ctest --output-on-failure
Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Changes to "0.15.0"
Features
""""""""

- pybind11: require version 2.11.1+ #1220 #1322
- pybind11: require version 2.12.0+ #1220 #1322 #1637

Bug Fixes
"""""""""
Expand Down
8 changes: 4 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -408,9 +408,9 @@ if(openPMD_USE_PYTHON STREQUAL AUTO)
if(openPMD_USE_INTERNAL_PYBIND11)
add_subdirectory("${openPMD_SOURCE_DIR}/share/openPMD/thirdParty/pybind11")
set(openPMD_HAVE_PYTHON TRUE)
message(STATUS "pybind11: Using INTERNAL version 2.11.1")
message(STATUS "pybind11: Using INTERNAL version 2.12.0")
else()
find_package(pybind11 2.11.1 CONFIG)
find_package(pybind11 2.12.0 CONFIG)
if(pybind11_FOUND)
set(openPMD_HAVE_PYTHON TRUE)
message(STATUS "pybind11: Found version '${pybind11_VERSION}'")
Expand All @@ -426,9 +426,9 @@ elseif(openPMD_USE_PYTHON)
if(openPMD_USE_INTERNAL_PYBIND11)
add_subdirectory("${openPMD_SOURCE_DIR}/share/openPMD/thirdParty/pybind11")
set(openPMD_HAVE_PYTHON TRUE)
message(STATUS "pybind11: Using INTERNAL version 2.11.1")
message(STATUS "pybind11: Using INTERNAL version 2.12.0")
else()
find_package(pybind11 2.11.1 REQUIRED CONFIG)
find_package(pybind11 2.12.0 REQUIRED CONFIG)
set(openPMD_HAVE_PYTHON TRUE)
message(STATUS "pybind11: Found version '${pybind11_VERSION}'")
endif()
Expand Down
2 changes: 1 addition & 1 deletion NEWS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Please transition to ADIOS2.
For reading legacy ADIOS1 BP3 files, either use an older version of openPMD-api or the BP3 backend in ADIOS2.
Note that ADIOS2 does not support compression in BP3 files.

pybind11 2.11.1 is now the minimally supported version for Python support.
pybind11 2.12.0 is now the minimally supported version for Python support.


0.15.0
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ Required:

Shipped internally in `share/openPMD/thirdParty/`:
* [Catch2](https://github.com/catchorg/Catch2) 2.13.10+ ([BSL-1.0](https://github.com/catchorg/Catch2/blob/master/LICENSE.txt))
* [pybind11](https://github.com/pybind/pybind11) 2.11.1+ ([new BSD](https://github.com/pybind/pybind11/blob/master/LICENSE))
* [pybind11](https://github.com/pybind/pybind11) 2.12.0+ ([new BSD](https://github.com/pybind/pybind11/blob/master/LICENSE))
* [NLohmann-JSON](https://github.com/nlohmann/json) 3.9.1+ ([MIT](https://github.com/nlohmann/json/blob/develop/LICENSE.MIT))
* [toml11](https://github.com/ToruNiina/toml11) 3.7.1+ ([MIT](https://github.com/ToruNiina/toml11/blob/master/LICENSE))

Expand All @@ -116,7 +116,7 @@ while those can be built either with or without:
Optional language bindings:
* Python:
* Python 3.8 - 3.12
* pybind11 2.11.1+
* pybind11 2.12.0+
* numpy 1.15+
* mpi4py 2.1+ (optional, for MPI)
* pandas 1.0+ (optional, for dataframes)
Expand Down Expand Up @@ -267,7 +267,7 @@ The following options allow to switch to external installs:
| CMake Option | Values | Library | Version |
|---------------------------------|------------|---------------|----------|
| `openPMD_USE_INTERNAL_CATCH` | **ON**/OFF | Catch2 | 2.13.10+ |
| `openPMD_USE_INTERNAL_PYBIND11` | **ON**/OFF | pybind11 | 2.11.1+ |
| `openPMD_USE_INTERNAL_PYBIND11` | **ON**/OFF | pybind11 | 2.12.0+ |
| `openPMD_USE_INTERNAL_JSON` | **ON**/OFF | NLohmann-JSON | 3.9.1+ |
| `openPMD_USE_INTERNAL_TOML11` | **ON**/OFF | toml11 | 3.7.1+ |

Expand Down
2 changes: 1 addition & 1 deletion docs/source/dev/buildoptions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ The following options allow to switch to external installs of dependencies:
CMake Option Values Installs Library Version
================================= =========== ======== ============= ========
``openPMD_USE_INTERNAL_CATCH`` **ON**/OFF No Catch2 2.13.10+
``openPMD_USE_INTERNAL_PYBIND11`` **ON**/OFF No pybind11 2.11.1+
``openPMD_USE_INTERNAL_PYBIND11`` **ON**/OFF No pybind11 2.12.0+
``openPMD_USE_INTERNAL_JSON`` **ON**/OFF No NLohmann-JSON 3.9.1+
``openPMD_USE_INTERNAL_TOML11`` **ON**/OFF No toml11 3.7.1+
================================= =========== ======== ============= ========
Expand Down
4 changes: 2 additions & 2 deletions docs/source/dev/dependencies.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Shipped internally
The following libraries are shipped internally in ``share/openPMD/thirdParty/`` for convenience:

* `Catch2 <https://github.com/catchorg/Catch2>`_ 2.13.10+ (`BSL-1.0 <https://github.com/catchorg/Catch2/blob/master/LICENSE.txt>`__)
* `pybind11 <https://github.com/pybind/pybind11>`_ 2.11.1+ (`new BSD <https://github.com/pybind/pybind11/blob/master/LICENSE>`_)
* `pybind11 <https://github.com/pybind/pybind11>`_ 2.12.0+ (`new BSD <https://github.com/pybind/pybind11/blob/master/LICENSE>`_)
* `NLohmann-JSON <https://github.com/nlohmann/json>`_ 3.9.1+ (`MIT <https://github.com/nlohmann/json/blob/develop/LICENSE.MIT>`_)
* `toml11 <https://github.com/ToruNiina/toml11>`_ 3.7.1+ (`MIT <https://github.com/ToruNiina/toml11/blob/master/LICENSE>`__)

Expand All @@ -39,7 +39,7 @@ Optional: language bindings
* Python:

* Python 3.8 - 3.12
* pybind11 2.11.1+
* pybind11 2.12.0+
* numpy 1.15+
* mpi4py 2.1+ (optional, for MPI)
* pandas 1.0+ (optional, for dataframes)
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ requires = [
"wheel",
"cmake>=3.15.0,<4.0.0",
"packaging>=23",
"pybind11>=2.11.1,<3.0.0"
"pybind11>=2.12.0,<3.0.0"
]
build-backend = "setuptools.build_meta"

0 comments on commit 5d41f83

Please sign in to comment.