From ab992f733e4804bb4b5de6d37fa3afc98896bcf2 Mon Sep 17 00:00:00 2001 From: Vincenzo Eduardo Padulano Date: Sun, 9 Nov 2025 18:41:12 +0100 Subject: [PATCH 1/7] [build] Enable Davix in Python wheels --- pyproject.toml | 2 +- setup.py | 4 ++-- test/wheels/test_tutorials.py | 3 --- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 45753dd4ad054..4ab9280a3f80e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,4 +27,4 @@ manylinux-x86_64-image = "manylinux_2_28" # Install system libraries [tool.cibuildwheel.linux] -before-all = "dnf install -y epel-release && /usr/bin/crb enable && dnf install -y openssl-devel libX11-devel libXpm-devel libXft-devel libXext-devel libuuid-devel libjpeg-devel giflib-devel" +before-all = "dnf install -y epel-release && /usr/bin/crb enable && dnf install -y openssl-devel libX11-devel libXpm-devel libXft-devel libXext-devel libuuid-devel libjpeg-devel giflib-devel libxml2-devel" diff --git a/setup.py b/setup.py index 1a4205ce07ffa..55d3f2d8aaa0d 100644 --- a/setup.py +++ b/setup.py @@ -85,9 +85,9 @@ def run(self): # see https://peps.python.org/pep-0513/#libpythonx-y-so-1 # - thisroot_scripts: the thisroot.* scripts are broken if CMAKE_INSTALL_PYTHONDIR!=CMAKE_INSTALL_LIBDIR "-Dtmva-pymva=OFF -Dtpython=OFF -Dthisroot_scripts=OFF " - "-Dbuiltin_nlohmannjson=ON -Dbuiltin_tbb=ON -Dbuiltin_xrootd=ON " # builtins + "-Dbuiltin_nlohmannjson=ON -Dbuiltin_tbb=ON -Dbuiltin_xrootd=ON -Dbuiltin_davix=ON " # builtins "-Dbuiltin_lz4=ON -Dbuiltin_lzma=ON -Dbuiltin_zstd=ON -Dbuiltin_xxhash=ON " # builtins - "-Dpyroot=ON -Ddataframe=ON -Dxrootd=ON -Dssl=ON -Dimt=ON " + "-Dpyroot=ON -Ddataframe=ON -Dxrootd=ON -Ddavix=ON -Dssl=ON -Dimt=ON " "-Droofit=ON -Dmathmore=ON -Dbuiltin_fftw3=ON -Dbuiltin_gsl=ON " f"-DCMAKE_INSTALL_PREFIX={INSTALL_DIR} -B {BUILD_DIR} -S {SOURCE_DIR} " # Next paths represent the structure of the target binaries/headers/libs diff --git a/test/wheels/test_tutorials.py b/test/wheels/test_tutorials.py index a180b0b2fd5ac..a5fd770727f00 100644 --- a/test/wheels/test_tutorials.py +++ b/test/wheels/test_tutorials.py @@ -15,9 +15,6 @@ subdirs = ["analysis/dataframe", "analysis/tree", "hist", "io/ntuple", "roofit/roofit"] SKIP_TUTORIALS = { - "ntpl004_dimuon.C", # requires reading remote data via HTTP - "ntpl008_import.C", # requires reading remote data via HTTP - "ntpl011_global_temperatures.C", # requires reading remote data via HTTP "distrdf004_dask_lxbatch.py", # only works on lxplus "_SQlite", # requires SQLite, not supported yet in ROOT wheels "h1analysisProxy.C", # helper macro, not meant to run standalone From 2a801ee59a0350a01f7c23a1d0cd38a80b217ec2 Mon Sep 17 00:00:00 2001 From: Vincenzo Eduardo Padulano Date: Fri, 9 Jan 2026 11:32:41 +0100 Subject: [PATCH 2/7] [build] Increase wheel version --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 4ab9280a3f80e..733f9fdf9d80b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ requires = ["cmake", "setuptools<72", "wheel", "numpy"] [project] name = "ROOT" -version = "0.1a9" +version = "0.1a11" requires-python = ">=3.9" maintainers = [ {name = "Vincenzo Eduardo Padulano", email = "vincenzo.eduardo.padulano@cern.ch"} From 524bac45cec96943a0f98ac1b307ebcf26aededd Mon Sep 17 00:00:00 2001 From: Vincenzo Eduardo Padulano Date: Fri, 9 Jan 2026 11:34:16 +0100 Subject: [PATCH 3/7] [build] add Python 3.14 to wheel builds --- .github/workflows/python_wheel_build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python_wheel_build.yml b/.github/workflows/python_wheel_build.yml index 4412ac0806e07..66ae7d11c5f47 100644 --- a/.github/workflows/python_wheel_build.yml +++ b/.github/workflows/python_wheel_build.yml @@ -28,7 +28,7 @@ jobs: strategy: fail-fast: false matrix: - target: [cp310-manylinux_x86_64, cp311-manylinux_x86_64, cp312-manylinux_x86_64, cp313-manylinux_x86_64] + target: [cp310-manylinux_x86_64, cp311-manylinux_x86_64, cp312-manylinux_x86_64, cp313-manylinux_x86_64, cp314-manylinux_x86_64] name: ${{ matrix.target }} steps: - uses: actions/checkout@v4 @@ -42,7 +42,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.10", "3.11", "3.12", "3.13"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] name: test-wheel-cp${{ matrix.python-version }} steps: - uses: actions/checkout@v4 From 02f01dbb8a6cca9a0f19719c4764f81eef804d49 Mon Sep 17 00:00:00 2001 From: Vincenzo Eduardo Padulano Date: Fri, 9 Jan 2026 11:39:38 +0100 Subject: [PATCH 4/7] [build] Reflect recent minimum Python 3.10 requirement --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 733f9fdf9d80b..514e313b6bb94 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ requires = ["cmake", "setuptools<72", "wheel", "numpy"] [project] name = "ROOT" version = "0.1a11" -requires-python = ">=3.9" +requires-python = ">=3.10" maintainers = [ {name = "Vincenzo Eduardo Padulano", email = "vincenzo.eduardo.padulano@cern.ch"} ] From 472c40d9cc33d3eb08e5cd9a4f3b20bb9a6bc799 Mon Sep 17 00:00:00 2001 From: Vincenzo Eduardo Padulano Date: Fri, 9 Jan 2026 11:46:53 +0100 Subject: [PATCH 5/7] [build] Update cibuildwheel action version --- .github/workflows/cibuildwheel-impl/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cibuildwheel-impl/action.yml b/.github/workflows/cibuildwheel-impl/action.yml index 9e8d7825f4f98..5307c3e9b7f7d 100644 --- a/.github/workflows/cibuildwheel-impl/action.yml +++ b/.github/workflows/cibuildwheel-impl/action.yml @@ -9,7 +9,7 @@ runs: using: "composite" steps: - name: Build wheel - uses: pypa/cibuildwheel@v3.0.1 + uses: pypa/cibuildwheel@v3.3.1 env: CIBW_BUILD: ${{ inputs.build-tag }} From 86cde341147a91424e0db3bd160c9e693471062f Mon Sep 17 00:00:00 2001 From: Vincenzo Eduardo Padulano Date: Fri, 9 Jan 2026 15:53:11 +0100 Subject: [PATCH 6/7] [build] Install CA certificates for tutorials using Davix --- .github/workflows/python_wheel_build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/python_wheel_build.yml b/.github/workflows/python_wheel_build.yml index 66ae7d11c5f47..14a1e92833f00 100644 --- a/.github/workflows/python_wheel_build.yml +++ b/.github/workflows/python_wheel_build.yml @@ -58,6 +58,9 @@ jobs: with: python-version: ${{ matrix.python-version }} + - name: Install CA certificates for Davix + run: sudo apt-get install -y ca-certificates && sudo update-ca-certificates + - name: Install produced wheel run: | ls -R wheels From e8b7cfac5c5b31f25cf08e941949a1351cefc7c0 Mon Sep 17 00:00:00 2001 From: Vincenzo Eduardo Padulano Date: Mon, 16 Feb 2026 08:34:32 +0100 Subject: [PATCH 7/7] [build] Reintroduce veto for ntpl011 tutorial --- test/wheels/test_tutorials.py | 1 + 1 file changed, 1 insertion(+) diff --git a/test/wheels/test_tutorials.py b/test/wheels/test_tutorials.py index a5fd770727f00..d6c21b4d5d2ef 100644 --- a/test/wheels/test_tutorials.py +++ b/test/wheels/test_tutorials.py @@ -15,6 +15,7 @@ subdirs = ["analysis/dataframe", "analysis/tree", "hist", "io/ntuple", "roofit/roofit"] SKIP_TUTORIALS = { + "ntpl011_global_temperatures.C", # requires RCanvas, not supported yet in ROOT wheels "distrdf004_dask_lxbatch.py", # only works on lxplus "_SQlite", # requires SQLite, not supported yet in ROOT wheels "h1analysisProxy.C", # helper macro, not meant to run standalone