Skip to content

Commit 0d5503c

Browse files
committed
fix(types): update type annotations for stevedore compatibility
Update type annotations in hooks.py and overrides.py to satisfy updated stevedore library type stubs. Changes: - Import EntryPoint from importlib.metadata - Update callback signatures to match stevedore's expected types - Change Exception to BaseException as required by type stubs - Use metadata.EntryPoint in overrides.py for consistency This fixes mypy type checking errors that appeared after updating to newer stevedore versions with stricter type annotations. Fixes: #861 Co-authored-by: AI Assistant (Claude) <assistant@anthropic.com> Signed-off-by: Ioannis Angelakopoulos <iangelak@redhat.com>
1 parent a7ee0f8 commit 0d5503c

2 files changed

Lines changed: 8 additions & 7 deletions

File tree

src/fromager/hooks.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import logging
44
import pathlib
55
import typing
6+
from importlib.metadata import EntryPoint
67

78
from packaging.requirements import Requirement
89
from stevedore import extension, hook
@@ -39,7 +40,7 @@ def _get_hooks(name: str) -> hook.HookManager:
3940
def log_hooks() -> None:
4041
# We load the hooks differently here because we want all of them when
4142
# normally we would load them by name.
42-
_mgr = extension.ExtensionManager(
43+
_mgr: extension.ExtensionManager = extension.ExtensionManager(
4344
namespace="fromager.hooks",
4445
invoke_on_load=False,
4546
on_load_failure_callback=_die_on_plugin_load_failure,
@@ -56,9 +57,9 @@ def log_hooks() -> None:
5657

5758

5859
def _die_on_plugin_load_failure(
59-
mgr: hook.HookManager,
60-
ep: extension.Extension,
61-
err: Exception,
60+
mgr: extension.ExtensionManager,
61+
ep: EntryPoint,
62+
err: BaseException,
6263
) -> typing.NoReturn:
6364
raise RuntimeError(f"failed to load overrides for {ep.name}") from err
6465

src/fromager/overrides.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
logger = logging.getLogger(__name__)
1616

1717

18-
_mgr = None
18+
_mgr: extension.ExtensionManager | None = None
1919

2020

2121
def _get_extensions() -> extension.ExtensionManager:
@@ -31,8 +31,8 @@ def _get_extensions() -> extension.ExtensionManager:
3131

3232
def _die_on_plugin_load_failure(
3333
mgr: extension.ExtensionManager,
34-
ep: extension.Extension,
35-
err: Exception,
34+
ep: metadata.EntryPoint,
35+
err: BaseException,
3636
) -> None:
3737
raise RuntimeError(f"failed to load overrides for {ep.name}") from err
3838

0 commit comments

Comments
 (0)