Skip to content

Commit a9dc597

Browse files
dynamically import all catalog games and update __all__ accordingly
1 parent 37b1e2b commit a9dc597

1 file changed

Lines changed: 16 additions & 13 deletions

File tree

src/pygambit/catalog/__init__.py

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
1-
from .catalog import (
2-
PrisonersDilemma,
3-
PrisonersDilemmaTestgame,
4-
TwoStageMatchingPennies,
5-
games,
6-
)
7-
8-
__all__ = [
9-
"games",
10-
"PrisonersDilemma",
11-
"TwoStageMatchingPennies",
12-
"PrisonersDilemmaTestgame"
13-
]
1+
from .catalog import games
2+
3+
# Dynamically import all catalog games
4+
_all_games = games()
5+
_game_classes = {}
6+
7+
for game_name in _all_games:
8+
# Import each game class from catalog module
9+
from . import catalog
10+
_game_classes[game_name] = getattr(catalog, game_name)
11+
12+
# Add to module namespace
13+
globals().update(_game_classes)
14+
15+
# Build __all__ dynamically
16+
__all__ = ["games"] + list(_all_games) # type: ignore[assignment]

0 commit comments

Comments
 (0)