diff --git a/.github/workflows/CI-wheels.yaml b/.github/workflows/CI-wheels.yaml index d15f086d..4aaf90c9 100644 --- a/.github/workflows/CI-wheels.yaml +++ b/.github/workflows/CI-wheels.yaml @@ -7,7 +7,7 @@ on: - main env: - LIBZIM_DL_VERSION: "9.8.1" + LIBZIM_DL_VERSION: "9.8.2" MACOSX_DEPLOYMENT_TARGET: "13.0" CIBW_ENVIRONMENT_PASS_LINUX: "LIBZIM_DL_VERSION" CIBW_BUILD_VERBOSITY: "3" @@ -22,7 +22,7 @@ jobs: os: [macos-14, windows-2022, ubuntu-24.04] steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: Set up QEMU if: runner.os == 'Linux' @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v3.4 + uses: pypa/cibuildwheel@v4.2 - uses: actions/upload-artifact@v7 with: @@ -42,7 +42,7 @@ jobs: name: Build source distribution runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: Build sdist run: pipx run build --sdist diff --git a/.github/workflows/Publish.yaml b/.github/workflows/Publish.yaml index bf243883..41c2d01f 100644 --- a/.github/workflows/Publish.yaml +++ b/.github/workflows/Publish.yaml @@ -6,7 +6,7 @@ on: - published env: - LIBZIM_DL_VERSION: "9.8.1" + LIBZIM_DL_VERSION: "9.8.2" MACOSX_DEPLOYMENT_TARGET: "13.0" CIBW_ENVIRONMENT_PASS_LINUX: "LIBZIM_DL_VERSION" # APPLE_SIGNING_KEYCHAIN_PATH set in prepare keychain step @@ -25,7 +25,7 @@ jobs: os: [ubuntu-24.04, macos-14, windows-2022] steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: Set up QEMU if: runner.os == 'Linux' @@ -68,7 +68,7 @@ jobs: security unlock-keychain -p mysecretpassword ${APPLE_SIGNING_KEYCHAIN_PATH} - name: Build wheels - uses: pypa/cibuildwheel@v3.4 + uses: pypa/cibuildwheel@v4.2 - name: Cleanup Apple Keychain if: matrix.os == 'macos-14' @@ -87,7 +87,7 @@ jobs: name: Build source distribution runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: Build sdist run: pipx run build --sdist @@ -120,7 +120,7 @@ jobs: name: wheels-windows-2022 path: dist - - uses: pypa/gh-action-pypi-publish@v1.13.0 + - uses: pypa/gh-action-pypi-publish@v1.14.2 with: user: __token__ # password: ${{ secrets.PYPI_TEST_API_TOKEN }} diff --git a/.github/workflows/QA.yaml b/.github/workflows/QA.yaml index 00765c9b..a614b92b 100644 --- a/.github/workflows/QA.yaml +++ b/.github/workflows/QA.yaml @@ -2,17 +2,17 @@ name: QA on: [push] env: - LIBZIM_DL_VERSION: "9.8.1" + LIBZIM_DL_VERSION: "9.8.2" MACOSX_DEPLOYMENT_TARGET: "13.0" jobs: lint: runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: Set up Python - uses: actions/setup-python@v6 + uses: actions/setup-python@v7 with: python-version: "3.14" architecture: x64 diff --git a/.github/workflows/Tests.yaml b/.github/workflows/Tests.yaml index 479feb18..2c47894c 100644 --- a/.github/workflows/Tests.yaml +++ b/.github/workflows/Tests.yaml @@ -2,7 +2,7 @@ name: Tests on: [push] env: - LIBZIM_DL_VERSION: "9.8.1" + LIBZIM_DL_VERSION: "9.8.2" MACOSX_DEPLOYMENT_TARGET: "13.0" # we want cython traces for coverage PROFILE: "1" @@ -16,10 +16,10 @@ jobs: python: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.14t"] steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: Set up Python ${{ matrix.python }} - uses: actions/setup-python@v6 + uses: actions/setup-python@v7 with: python-version: ${{ matrix.python }} @@ -40,7 +40,7 @@ jobs: - name: Upload coverage report to codecov if: matrix.os == 'ubuntu-24.04' && matrix.python == '3.14' - uses: codecov/codecov-action@v5 + uses: codecov/codecov-action@v7 with: fail_ci_if_error: true token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a6186d79..e6118eeb 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,20 +2,20 @@ # See https://pre-commit.com/hooks.html for more hooks repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.6.0 + rev: v6.0.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer - repo: https://github.com/psf/black - rev: "25.1.0" + rev: "26.5.1" hooks: - id: black - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.9.5 + rev: v0.16.5 hooks: - id: ruff - repo: https://github.com/RobertCraigie/pyright-python - rev: v1.1.393 + rev: v1.1.411 hooks: - id: pyright name: pyright (system) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c9be8d4..06a2d476 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +- Upgrade to libzim 9.8.2 and upgrade other Python dependencies, especially Cython 3.3.0 (#265) + ## [3.12.0] - 2026-07-20 ### Changed diff --git a/pyproject.toml b/pyproject.toml index 25fb59eb..fe5cc9ab 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,8 +1,8 @@ [build-system] requires = [ - "setuptools == 83.0.0", - "wheel == 0.47.0", - "cython == 3.2.8", + "setuptools == 84.0.0", + "wheel == 0.48.0", + "cython == 3.3.0", # https://github.com/pypa/cibuildwheel/blob/v2.22/cibuildwheel/resources/constraints.txt "delocate == 0.13.0 ; platform_system=='Windows'", ] @@ -50,7 +50,7 @@ scripts = [ ] lint = [ "black==26.5.1", - "ruff==0.15.21", + "ruff==0.16.5", "libzim", "libzim[build]", ] @@ -63,29 +63,29 @@ check = [ ] test = [ "pytest==9.1.1", - "coverage==7.15.2", + "coverage==7.15.4", # for cython coverage plugin "libzim[build]", ] build = [ - "setuptools == 83.0.0", - "wheel == 0.47.0", - "cython == 3.2.8", + "setuptools == 84.0.0", + "wheel == 0.48.0", + "cython == 3.3.0", "delocate == 0.13.0 ; platform_system=='Windows'", ] docs = [ "mkdocs==1.6.1", - "mkdocstrings-python==2.0.5", - "mkdocs-material==9.7.6", - "pymdown-extensions==11.0.1", + "mkdocstrings-python==2.0.7", + "mkdocs-material==9.7.7", + "pymdown-extensions==11.0.2", "mkdocs-gen-files==0.6.1", "mkdocs-literate-nav==0.6.3", "mkdocs-include-markdown-plugin==7.3.0", - "griffe==2.1.0", + "griffe==2.2.0", ] dev = [ - "pre-commit==4.6.0", - "ipython==9.15.0", + "pre-commit==4.6.2", + "ipython==9.17.0", "types-setuptools", "libzim[scripts]", "libzim[lint]", @@ -285,7 +285,7 @@ ignore = [ # Ignore warnings on subprocess.run / popen "S603", # Ignore complexity - "C901", "PLR0911", "PLR0912", "PLR0913", "PLR0915", + "C901", "PLR0911", "PLR0912", "PLR0913", "PLR0915", "PLR0917", ] unfixable = [ # Don't touch unused imports diff --git a/setup.py b/setup.py index 4cd8474d..73ad0a3d 100755 --- a/setup.py +++ b/setup.py @@ -31,7 +31,7 @@ class Config: - libzim_dl_version: str = os.getenv("LIBZIM_DL_VERSION", "9.8.1") + libzim_dl_version: str = os.getenv("LIBZIM_DL_VERSION", "9.8.2") use_system_libzim: bool = bool(os.getenv("USE_SYSTEM_LIBZIM") or False) download_libzim: bool = not bool(os.getenv("DONT_DOWNLOAD_LIBZIM") or False) diff --git a/tests/test_libzim_reader.py b/tests/test_libzim_reader.py index 82cc95bd..7f5b9649 100644 --- a/tests/test_libzim_reader.py +++ b/tests/test_libzim_reader.py @@ -136,15 +136,19 @@ "suggestion_string": "Free", "suggestion_count": 1, "suggestion_result": [ - "FreedomBox for Communities_Offline Wikipedia " - "- Wikibooks, open books for an open world.html" + ( + "FreedomBox for Communities_Offline Wikipedia " + "- Wikibooks, open books for an open world.html" + ) ], "search_string": "main", "search_count": 2, "search_result": [ "Wikibooks.html", - "FreedomBox for Communities_Offline Wikipedia " - "- Wikibooks, open books for an open world.html", + ( + "FreedomBox for Communities_Offline Wikipedia " + "- Wikibooks, open books for an open world.html" + ), ], "test_path": "FreedomBox for Communities_Offline Wikipedia - Wikibooks, " "open books for an open world.html",