Implement NHL API integration with nhlpy library

Added complete implementation of NHL API data adapters:

Player Adapter:
- get_player_by_id: Retrieves player info from career stats
- get_players_by_team: Fetches full team roster (forwards, defensemen, goalies)
- get_skater_stats: Aggregates current season skater statistics from game logs
- get_goalie_stats: Aggregates current season goalie statistics from game logs
- Data transformation utilities for roster and player data

Team Adapter:
- get_all_teams: Retrieves all NHL teams with division/conference info
- get_team_by_id: Looks up team by ID or abbreviation
- get_teams_by_division: Filters teams by division
- get_teams_by_conference: Filters teams by conference
- Data transformation for team entities

Technical Details:
- Corrected package name from nhl-api-py to nhlpy in requirements
- Implemented proper error handling with logging
- Dynamic season calculation based on current date
- Stats aggregation from game log data for accurate totals
- Proper type transformations between API responses and domain entities

Note: Player search functionality marked as not implemented due to API limitations

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Michael Simard
2025-11-23 17:22:21 -06:00
parent 337a6377de
commit 6d8d51f698
2 changed files with 378 additions and 32 deletions

View File

@@ -10,7 +10,7 @@ asyncpg==0.30.0
alembic==1.14.0
# External APIs
nhl-api-py==1.1.0
nhlpy==1.0.3
yfpy==14.1.1
# Utilities