From 5372279cfe24e95c13d8bc8a7e79cc8d6b81e567 Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Mon, 28 Sep 2026 17:06:50 +0200 Subject: [PATCH 01/22] [FIX] Fix object type problem in dask --- pixcdust/converters/zarr.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/pixcdust/converters/zarr.py b/pixcdust/converters/zarr.py index d69a5d2..fdbe38b 100644 --- a/pixcdust/converters/zarr.py +++ b/pixcdust/converters/zarr.py @@ -100,9 +100,20 @@ def database_from_nc(self, path_out: str | Path, mode: str = "w") -> None: orbit_info=True, ) - zc_ds = zcollection.Dataset.from_xarray( - xr_ds.to_xarray().drop_vars(self.__cst.default_added_points_name), - ) + + # Convert time from object type to datetime type to avoid problem with dask + xr_ds_xarray = xr_ds.to_xarray().drop_vars(self.__cst.default_added_points_name) + + time = xr_ds_xarray["time"].values + import pandas + import xarray + time2 = pandas.DatetimeIndex(time).tz_localize(None).to_numpy() + xr_ds_xarray["time"] = xarray.DataArray(time2, dims=("points",)) + zc_ds = zcollection.Dataset.from_xarray(xr_ds_xarray) + +# zc_ds = zcollection.Dataset.from_xarray( +# xr_ds.to_xarray().drop_vars(self.__cst.default_added_points_name), +# ) zc_ds.block_size_limit = self.__chunk_size zc_ds.chunks = {next(iter(zc_ds.dimensions.keys())): self.__chunk_size} From 93de6bacd433b65198045b10f39c08164d8c199e Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Mon, 28 Sep 2026 17:07:37 +0200 Subject: [PATCH 02/22] [TEST] Fix polygon in test --- pixcdust/tests/test_converters.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/pixcdust/tests/test_converters.py b/pixcdust/tests/test_converters.py index 95211f1..ccb3d33 100644 --- a/pixcdust/tests/test_converters.py +++ b/pixcdust/tests/test_converters.py @@ -15,13 +15,22 @@ from pixcdust.readers.netcdf import NcSimpleReader from pixcdust.readers.zarr import ZarrReader +#LIM_AREA_POL = Polygon( +# [ +# (-1.50580, 43.39543), +# (-1.36597, 43.39543), +# (-1.36597, 43.56471), +# (-1.50580, 43.56471), +# (-1.50580, 43.39543), +# ] +#) LIM_AREA_POL = Polygon( [ - (-1.50580, 43.39543), - (-1.36597, 43.39543), - (-1.36597, 43.56471), - (-1.50580, 43.56471), - (-1.50580, 43.39543), + (-52.90580, 4.49543), + (-52.76597, 4.49543), + (-52.76597, 4.66471), + (-52.90580, 4.66471), + (-52.90580, 4.49543), ] ) LIM_AREA_GEOM = gpd.GeoDataFrame(index=[0], crs="epsg:4326", geometry=[LIM_AREA_POL]) @@ -77,7 +86,7 @@ def validate_conversion_to_nc( """ ncsimple = NcSimpleReader(str(first_file)) ncsimple.open_dataset() - validate_conversion(read_data, converted_vars, ncsimple.data, is_longer=True) + validate_conversion(read_data, converted_vars, ncsimple.data, is_longer=False) def validate_conversion( From 606be0129b1c4555790d2a7440d9cce65e00d1ef Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Mon, 28 Sep 2026 17:08:12 +0200 Subject: [PATCH 03/22] [TEST] Add coverage analysis --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 015823f..1ef50fb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,4 +34,4 @@ jobs: run: ruff format --check . - name: Run tests - run: pytest + run: pytest pixcdust/tests --realdata -v -rs --cov=pixcdust --cov-report=term-missing --cov-report=html From e3606fc8f01edf6a1338e7d14e938444647b99cb Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Mon, 28 Sep 2026 17:13:59 +0200 Subject: [PATCH 04/22] [TEST] Add coverage analysis --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1ef50fb..3ba60fa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,6 +5,8 @@ on: branches: ["**"] pull_request: branches: ["**"] + workflow_dispatch: + jobs: lint-and-test: From 0e49367d9e4f6c400d62b47fb7e1a742c8264e56 Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Mon, 28 Sep 2026 17:25:39 +0200 Subject: [PATCH 05/22] [Ruff] Format code with Ruff --- pixcdust/converters/zarr.py | 12 +++++++----- pixcdust/tests/test_converters.py | 4 ++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/pixcdust/converters/zarr.py b/pixcdust/converters/zarr.py index fdbe38b..3a7b68f 100644 --- a/pixcdust/converters/zarr.py +++ b/pixcdust/converters/zarr.py @@ -100,20 +100,22 @@ def database_from_nc(self, path_out: str | Path, mode: str = "w") -> None: orbit_info=True, ) - # Convert time from object type to datetime type to avoid problem with dask - xr_ds_xarray = xr_ds.to_xarray().drop_vars(self.__cst.default_added_points_name) + xr_ds_xarray = xr_ds.to_xarray().drop_vars( + self.__cst.default_added_points_name + ) time = xr_ds_xarray["time"].values import pandas import xarray + time2 = pandas.DatetimeIndex(time).tz_localize(None).to_numpy() xr_ds_xarray["time"] = xarray.DataArray(time2, dims=("points",)) zc_ds = zcollection.Dataset.from_xarray(xr_ds_xarray) -# zc_ds = zcollection.Dataset.from_xarray( -# xr_ds.to_xarray().drop_vars(self.__cst.default_added_points_name), -# ) + # zc_ds = zcollection.Dataset.from_xarray( + # xr_ds.to_xarray().drop_vars(self.__cst.default_added_points_name), + # ) zc_ds.block_size_limit = self.__chunk_size zc_ds.chunks = {next(iter(zc_ds.dimensions.keys())): self.__chunk_size} diff --git a/pixcdust/tests/test_converters.py b/pixcdust/tests/test_converters.py index ccb3d33..8afc772 100644 --- a/pixcdust/tests/test_converters.py +++ b/pixcdust/tests/test_converters.py @@ -15,7 +15,7 @@ from pixcdust.readers.netcdf import NcSimpleReader from pixcdust.readers.zarr import ZarrReader -#LIM_AREA_POL = Polygon( +# LIM_AREA_POL = Polygon( # [ # (-1.50580, 43.39543), # (-1.36597, 43.39543), @@ -23,7 +23,7 @@ # (-1.50580, 43.56471), # (-1.50580, 43.39543), # ] -#) +# ) LIM_AREA_POL = Polygon( [ (-52.90580, 4.49543), From 6ab4a00edfc4501aaf41543680ab85e0da1e1372 Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Tue, 29 Sep 2026 08:33:57 +0200 Subject: [PATCH 06/22] [TEST] Add coverage to dev dependencies --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 364e36c..0cdaf48 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,6 +47,7 @@ dev = [ "black>=26.5.1,<27.0.0", "flake8>=7.3.0,<8.0.0", "ruff>=0.16.5,<0.17.5", + "pytest-cov>=7.1", ] doc = [ "gitpython", From 2f7e5ab6eb2fe9adae6026ae92dd1cc3ed05e537 Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Tue, 29 Sep 2026 08:47:36 +0200 Subject: [PATCH 07/22] [ENH] Fix xarray version dependencies --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 0cdaf48..7fc043c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,7 +17,7 @@ dependencies = [ "h3>=3.7.6,<4.0.0", "astropy>=8.0.0,<9.0.0", "astropy-healpix>=1.1.0,<2.0.0", - "xarray>=2024.2.0,<2025.0.0", + "xarray>=2025.3.0,<2026.7.0", "shapely>=2.0.3,<3.0.0", "click>=8.1.7,<9.0.0", "zcollection>=2026.6.0,<2027.0.0", From 609387b9a3f95837089371456c07bf3df9ca8bf5 Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Tue, 29 Sep 2026 09:02:37 +0200 Subject: [PATCH 08/22] [TEST] Add --dl tests --- .github/workflows/ci.yml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3ba60fa..2be2e91 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,6 +6,12 @@ on: pull_request: branches: ["**"] workflow_dispatch: + inputs: + download-test: + description: "Run download from hydroweb.next tests" + require: true + type: boolean + default: false jobs: @@ -36,4 +42,12 @@ jobs: run: ruff format --check . - name: Run tests - run: pytest pixcdust/tests --realdata -v -rs --cov=pixcdust --cov-report=term-missing --cov-report=html + env: + HYDROWEB_API_KEY: ${{ secrets.HYDROWEB_API_KEY }} + EODAG__HYDROWEB_NEXT__AUTH__CREDENTIALS__APIKEY: ${{ secrets.EODAG__HYDROWEB_NEXT__AUTH__CREDENTIALS__APIKEY }} + run: | + if [ "${{ inputs.download-test }}" = "true" ]; the + pytest pixcdust/tests --dl --realdata -v -rs --cov=pixcdust --cov-report=term-missing --cov-report=html + else + pytest pixcdust/tests --realdata -v -rs --cov=pixcdust --cov-report=term-missing --cov-report=html + fi From af4ef6855d1a39c39eeceb113d38047e61728bb5 Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Tue, 29 Sep 2026 09:08:24 +0200 Subject: [PATCH 09/22] [TEST] Add --dl tests --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2be2e91..7f7abf1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -46,7 +46,7 @@ jobs: HYDROWEB_API_KEY: ${{ secrets.HYDROWEB_API_KEY }} EODAG__HYDROWEB_NEXT__AUTH__CREDENTIALS__APIKEY: ${{ secrets.EODAG__HYDROWEB_NEXT__AUTH__CREDENTIALS__APIKEY }} run: | - if [ "${{ inputs.download-test }}" = "true" ]; the + if [ "${{ inputs.download-test }}" = "true" ]; then pytest pixcdust/tests --dl --realdata -v -rs --cov=pixcdust --cov-report=term-missing --cov-report=html else pytest pixcdust/tests --realdata -v -rs --cov=pixcdust --cov-report=term-missing --cov-report=html From b12c2fda13325469d6016aca2f674581e6906d80 Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Tue, 29 Sep 2026 09:34:51 +0200 Subject: [PATCH 10/22] [FIX] Remove + Z --- pixcdust/downloaders/hydroweb_next.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pixcdust/downloaders/hydroweb_next.py b/pixcdust/downloaders/hydroweb_next.py index 7b65cbe..1316bfe 100644 --- a/pixcdust/downloaders/hydroweb_next.py +++ b/pixcdust/downloaders/hydroweb_next.py @@ -307,10 +307,10 @@ def setup(self) -> None: def define_query(self) -> dict: if self.dates is not None: self.query_args["start_datetime"] = { - "gte": self.dates[0].isoformat(timespec="milliseconds") + "Z" + "gte": self.dates[0].isoformat(timespec="milliseconds") } self.query_args["end_datetime"] = { - "lte": self.dates[1].isoformat(timespec="milliseconds") + "Z" + "lte": self.dates[1].isoformat(timespec="milliseconds") } return self.query_args From 12658d8d3dd4f8dda366e72c74fed008b20e4f1f Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Tue, 29 Sep 2026 09:35:44 +0200 Subject: [PATCH 11/22] [TEST] Change polygon --- pixcdust/tests/init_tests.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pixcdust/tests/init_tests.py b/pixcdust/tests/init_tests.py index dfd2e44..048ffa0 100644 --- a/pixcdust/tests/init_tests.py +++ b/pixcdust/tests/init_tests.py @@ -1,7 +1,7 @@ import argparse import json import os -from datetime import UTC, datetime +from datetime import UTC, datetime, timezone from pathlib import Path from pixcdust.downloaders.hydroweb_next import PixCDownloader @@ -84,13 +84,16 @@ def download_test_data(path_download: Path, backend: str) -> None: """ dates = ( # LOCALE timezone - datetime(2024, 8, 1, tzinfo=datetime.now(UTC).astimezone().tzinfo), - datetime(2024, 8, 15, tzinfo=datetime.now(UTC).astimezone().tzinfo), + datetime(2024, 8, 1, tzinfo=timezone.utc), + datetime(2024, 8, 3, tzinfo=timezone.utc), ) - geometry = "POLYGON((-1.50580 43.39543,-1.36597 43.39543,-1.36597 43.56471,-1.50580 43.56471,-1.50580 43.39543))" + # geometry = "POLYGON((-1.50580 43.39543,-1.36597 43.39543,-1.36597 43.56471,-1.50580 43.56471,-1.50580 43.39543))" + geometry = "POLYGON((-1.50580 43.49543,-1.49597 43.49543,-1.49597 43.50471,-1.50580 43.50471,-1.50580 43.49543))" + pixcdownloader = PixCDownloader( - geometry, dates, backend=backend, verbose=0, path_download=str(path_download) + geometry, dates, backend=backend, verbose=3, path_download=str(path_download) + # geometry, dates, backend=backend, verbose=0, path_download=str(path_download) ) pixcdownloader.search_download() From 3f82a79f2da0ae0fa7796b6a0873c133a00899ab Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Tue, 29 Sep 2026 10:14:51 +0200 Subject: [PATCH 12/22] [Ruff] Format code with Ruff --- pixcdust/tests/init_tests.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pixcdust/tests/init_tests.py b/pixcdust/tests/init_tests.py index 048ffa0..4b8f1e1 100644 --- a/pixcdust/tests/init_tests.py +++ b/pixcdust/tests/init_tests.py @@ -92,7 +92,11 @@ def download_test_data(path_download: Path, backend: str) -> None: geometry = "POLYGON((-1.50580 43.49543,-1.49597 43.49543,-1.49597 43.50471,-1.50580 43.50471,-1.50580 43.49543))" pixcdownloader = PixCDownloader( - geometry, dates, backend=backend, verbose=3, path_download=str(path_download) + geometry, + dates, + backend=backend, + verbose=3, + path_download=str(path_download), # geometry, dates, backend=backend, verbose=0, path_download=str(path_download) ) pixcdownloader.search_download() From d75e60761af1b9b08d02550540b8c5964426c62c Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Tue, 29 Sep 2026 10:21:32 +0200 Subject: [PATCH 13/22] [Ruff] Format code with Ruff --- pixcdust/tests/init_tests.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pixcdust/tests/init_tests.py b/pixcdust/tests/init_tests.py index 4b8f1e1..cff8442 100644 --- a/pixcdust/tests/init_tests.py +++ b/pixcdust/tests/init_tests.py @@ -1,7 +1,7 @@ import argparse import json import os -from datetime import UTC, datetime, timezone +from datetime import UTC, datetime from pathlib import Path from pixcdust.downloaders.hydroweb_next import PixCDownloader @@ -84,8 +84,8 @@ def download_test_data(path_download: Path, backend: str) -> None: """ dates = ( # LOCALE timezone - datetime(2024, 8, 1, tzinfo=timezone.utc), - datetime(2024, 8, 3, tzinfo=timezone.utc), + datetime(2024, 8, 1, tzinfo=UTC), + datetime(2024, 8, 3, tzinfo=UTC), ) # geometry = "POLYGON((-1.50580 43.39543,-1.36597 43.39543,-1.36597 43.56471,-1.50580 43.56471,-1.50580 43.39543))" From d4e67d8c163ffdd71cef0b84ff80df4c941c06c6 Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Tue, 29 Sep 2026 10:32:20 +0200 Subject: [PATCH 14/22] [TEST] Fix assert for the new polygon --- pixcdust/tests/test_downloaders.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pixcdust/tests/test_downloaders.py b/pixcdust/tests/test_downloaders.py index 9a2a8d0..c702add 100644 --- a/pixcdust/tests/test_downloaders.py +++ b/pixcdust/tests/test_downloaders.py @@ -17,8 +17,10 @@ def test_hydroweb_next(hydroweb_env, input_folder, tmp_folder): all_input_files = sorted(input_folder.glob("**/*.nc")) assert len(dl_files) == len(all_input_files) - for dl_f, input_f in zip(dl_files, all_input_files): - assert dl_f.stat().st_size == input_f.stat().st_size + # for dl_f, input_f in zip(dl_files, all_input_files): + # assert dl_f.stat().st_size == input_f.stat().st_size + for dl_f in dl_files: + assert dl_f.stat().st_size == 160376049 @pytest.mark.downloader @@ -36,5 +38,7 @@ def test_hydroweb_next_eodag(hydroweb_env, input_folder, tmp_folder): all_input_files = sorted(input_folder.glob("**/*.nc")) assert len(dl_files) == len(all_input_files) - for dl_f, input_f in zip(dl_files, all_input_files): - assert dl_f.stat().st_size == input_f.stat().st_size + # for dl_f, input_f in zip(dl_files, all_input_files): + # assert dl_f.stat().st_size == input_f.stat().st_size + for dl_f in dl_files: + assert dl_f.stat().st_size == 160376049 From 760f850e425c7d4482acb7a0d5c2abdde4c443f4 Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Tue, 29 Sep 2026 10:45:57 +0200 Subject: [PATCH 15/22] [TEST] Add coverage summary --- .github/workflows/ci.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7f7abf1..6ded56b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,7 +47,12 @@ jobs: EODAG__HYDROWEB_NEXT__AUTH__CREDENTIALS__APIKEY: ${{ secrets.EODAG__HYDROWEB_NEXT__AUTH__CREDENTIALS__APIKEY }} run: | if [ "${{ inputs.download-test }}" = "true" ]; then - pytest pixcdust/tests --dl --realdata -v -rs --cov=pixcdust --cov-report=term-missing --cov-report=html + pytest pixcdust/tests --dl --realdata -v -rs --cov=pixcdust --cov-report=term-missing --cov-report=html --cov-report=markdown-coverage.md else - pytest pixcdust/tests --realdata -v -rs --cov=pixcdust --cov-report=term-missing --cov-report=html + pytest pixcdust/tests --realdata -v -rs --cov=pixcdust --cov-report=term-missing --cov-report=html --cov-report=markdown-coverage.md fi + - name: Coverage summary + if: always() + run: | + echo "## Code coverage" >> "$GITHUB_STEP_SUMMARY" + cat markdown-coverage.md >> "$GITHUB_STEP_SUMMARY" From b8b63fe634331eb42187f45f0a27206ea73c2a21 Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Tue, 29 Sep 2026 10:52:10 +0200 Subject: [PATCH 16/22] [TEST] Add coverage summary --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6ded56b..9fa913f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,12 +47,12 @@ jobs: EODAG__HYDROWEB_NEXT__AUTH__CREDENTIALS__APIKEY: ${{ secrets.EODAG__HYDROWEB_NEXT__AUTH__CREDENTIALS__APIKEY }} run: | if [ "${{ inputs.download-test }}" = "true" ]; then - pytest pixcdust/tests --dl --realdata -v -rs --cov=pixcdust --cov-report=term-missing --cov-report=html --cov-report=markdown-coverage.md + pytest pixcdust/tests --dl --realdata -v -rs --cov=pixcdust --cov-report=term-missing --cov-report=html --cov-report=markdown:coverage.md else - pytest pixcdust/tests --realdata -v -rs --cov=pixcdust --cov-report=term-missing --cov-report=html --cov-report=markdown-coverage.md + pytest pixcdust/tests --realdata -v -rs --cov=pixcdust --cov-report=term-missing --cov-report=html --cov-report=markdown:coverage.md fi - name: Coverage summary if: always() run: | echo "## Code coverage" >> "$GITHUB_STEP_SUMMARY" - cat markdown-coverage.md >> "$GITHUB_STEP_SUMMARY" + cat coverage.md >> "$GITHUB_STEP_SUMMARY" From 23755f7398bf0a315f4d2299dbcbbc850854c0e1 Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Tue, 29 Sep 2026 18:34:24 +0200 Subject: [PATCH 17/22] [DOC] Fix readthedocs --- .readthedocs.yaml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 518cee7..2c76a06 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -3,7 +3,8 @@ version: 2 build: os: "ubuntu-22.04" tools: - python: "3.10" + python: "3.12" + pandoc: "3.1" jobs: post_install: # Install poetry @@ -15,5 +16,13 @@ build: # See https://github.com/readthedocs/readthedocs.org/pull/11152/ - VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH poetry install --with docs +python: + install: + - method: pip + path: . + extra_requirements: + - doc + + sphinx: - configuration: source/conf.py + configuration: doc/conf.py From 58edc4d2f399c09868bb384996b0d73a3567e273 Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Tue, 29 Sep 2026 18:39:16 +0200 Subject: [PATCH 18/22] [DOC] Fix readthedocs --- .readthedocs.yaml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 2c76a06..4efd0da 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -4,9 +4,10 @@ build: os: "ubuntu-22.04" tools: python: "3.12" - pandoc: "3.1" jobs: post_install: + - sudo apt-get update + - sudo apt-get install -y pandoc # Install poetry # https://python-poetry.org/docs/#installing-manually - pip install poetry @@ -16,13 +17,6 @@ build: # See https://github.com/readthedocs/readthedocs.org/pull/11152/ - VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH poetry install --with docs -python: - install: - - method: pip - path: . - extra_requirements: - - doc - sphinx: configuration: doc/conf.py From 03fdf4227ddec8871523a11406a28054c802d0d9 Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Tue, 29 Sep 2026 18:41:58 +0200 Subject: [PATCH 19/22] [DOC] Fix readthedocs --- .readthedocs.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 4efd0da..1d8c110 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -6,8 +6,7 @@ build: python: "3.12" jobs: post_install: - - sudo apt-get update - - sudo apt-get install -y pandoc + - pip install pypandoc_binary # Install poetry # https://python-poetry.org/docs/#installing-manually - pip install poetry From 74c639b56abaf854456c75166e752b5f4e488064 Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Tue, 29 Sep 2026 18:44:56 +0200 Subject: [PATCH 20/22] [DOC] Fix readthedocs --- .readthedocs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 1d8c110..8fbb944 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -14,7 +14,7 @@ build: # https://python-poetry.org/docs/managing-dependencies/#dependency-groups # VIRTUAL_ENV needs to be set manually for now. # See https://github.com/readthedocs/readthedocs.org/pull/11152/ - - VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH poetry install --with docs + - VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH poetry install --with doc sphinx: From d46018f390b7fdbd0f10183517bb876500554e4b Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Wed, 30 Sep 2026 11:58:49 +0200 Subject: [PATCH 21/22] [DOC] Fix readthedocs --- .readthedocs.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 8fbb944..aad8a88 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -14,8 +14,14 @@ build: # https://python-poetry.org/docs/managing-dependencies/#dependency-groups # VIRTUAL_ENV needs to be set manually for now. # See https://github.com/readthedocs/readthedocs.org/pull/11152/ - - VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH poetry install --with doc + #- VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH poetry install --with doc sphinx: configuration: doc/conf.py +python: + install: + - method: pip + path: . + extra_requirements: + - doc From 038b3cd2c88244fdaccf3358384783b24ae617f4 Mon Sep 17 00:00:00 2001 From: Cedric PENARD Date: Wed, 30 Sep 2026 13:47:15 +0200 Subject: [PATCH 22/22] [DOC] Fix sphinx_collections --- doc/conf.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/conf.py b/doc/conf.py index 053812f..5dd9323 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -15,10 +15,11 @@ # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration extensions = [ - "sphinx.ext.viewcode", + "sphinx.ext.autodoc", + "sphinx.ext.napoleon", "autoapi.extension", "nbsphinx", - "sphinxcontrib.collections", + "sphinx_collections", ] html_show_sourcelink = False