From e65c8f06df1b47c24c7a49341ff82b3d451e0926 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 12 Oct 2026 16:57:51 +0000 Subject: [PATCH 1/5] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.16.9 → v0.17.0](https://github.com/astral-sh/ruff-pre-commit/compare/v0.16.9...v0.17.0) - [github.com/pre-commit/mirrors-mypy: v2.3.1 → v2.4.0](https://github.com/pre-commit/mirrors-mypy/compare/v2.3.1...v2.4.0) --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6532e54..b6b03c9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,7 +1,7 @@ exclude: 'test_hookman_generator/.*' repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.16.9 + rev: v0.17.0 hooks: - id: ruff-check args: ["--fix"] @@ -21,7 +21,7 @@ repos: language: python additional_dependencies: [pygments, restructuredtext_lint] - repo: https://github.com/pre-commit/mirrors-mypy - rev: v2.3.1 + rev: v2.4.0 hooks: - id: mypy files: ^(src/) From 21a6e86a513e3157e0af6b0093a96e32d8c53f92 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 12 Oct 2026 16:58:31 +0000 Subject: [PATCH 2/5] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/hookman/dll_diagnostics.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/hookman/dll_diagnostics.py b/src/hookman/dll_diagnostics.py index 2836335..ebe6fa9 100644 --- a/src/hookman/dll_diagnostics.py +++ b/src/hookman/dll_diagnostics.py @@ -16,8 +16,7 @@ from collections.abc import Sequence from dataclasses import dataclass from pathlib import Path - -from typing_extensions import Self +from typing import Self #: Directories explicitly registered via `os.add_dll_directory` by this process, #: in registration order. `os` provides no API to enumerate them, so callers that add From 09bad8bfcb1bbb0a12c30c1db65985805a643875 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Tue, 13 Oct 2026 08:21:14 -0300 Subject: [PATCH 3/5] Drop Python 3.10 --- .github/workflows/main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 9313cf4..3d33468 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.10", "3.11", "3.12"] + python-version: ["3.11", "3.12"] os: [ubuntu-latest, windows-latest] steps: From 165e4b1e80394bdaee7dcc254458dc534a640feb Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Tue, 13 Oct 2026 08:21:54 -0300 Subject: [PATCH 4/5] Drop Python 3.10 --- setup.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/setup.py b/setup.py index c7d5974..05cf154 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,6 @@ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", ], @@ -36,7 +35,7 @@ include_package_data=True, keywords="hookman", name="python-hookman", - python_requires=">=3.10", + python_requires=">=3.11", packages=find_packages("src", include=["hookman"]), package_dir={"": "src"}, url="https://github.com/esss/hookman", From e8d15d5a4f80b5c8f570bc79e9cf673f25a11d33 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Tue, 13 Oct 2026 08:22:17 -0300 Subject: [PATCH 5/5] Drop Python 3.10 --- CHANGELOG.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 1e32bdd..ccdcdd2 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -5,6 +5,7 @@ History UNRELEASED ========== +- Dropped support for Python 3.10 (EOL). - Added full type annotations and exported types (via ``py.typed``). - Suppress the Windows hard-error dialog that ``LoadLibraryW`` would raise when a plugin DLL has unresolved imports (e.g. a conflicting dependency version bundled inside the