Skip to content

v1.3.0 - Migration to a dedicated asynchronous API client#6

Open
seanmccabe wants to merge 11 commits into
mainfrom
feat/seperate-api-concerns
Open

v1.3.0 - Migration to a dedicated asynchronous API client#6
seanmccabe wants to merge 11 commits into
mainfrom
feat/seperate-api-concerns

Conversation

@seanmccabe

Copy link
Copy Markdown
Owner
  • Created `BggClient` in `api.py` to handle all upstream API interactions.
  • Refactored `coordinator.py` to consume the new client.
  • Implemented robust XML parsing helpers to fix deprecation warnings.
  • Added comprehensive tests for all new code paths, achieving 100% coverage.

- Created a dedicated, fully asynchronous `BggClient` (in `api.py`) to handle all API logic, ensuring strict separation of concerns.
- The new `BggClient` handles login sessions securely and asynchronously, eliminating the need for blocking executor jobs.
- Updated test suite to provide robust coverage for the new API client structure.
@seanmccabe seanmccabe self-assigned this Jan 12, 2026
Major refactoring of BGG Sync integration to improve code quality and test coverage.

- **BggClient**: Consolidated all API interactions into , introducing robust  helper for cleaner XML parsing.
- **Coordinator**: Refactored  to use  and introduced  helper to DRY up game data processing logic and standardize subtypes.
- **Test Coverage**: Achieved 100% test coverage by adding comprehensive tests for  (including edge cases and helper methods) and updating coordinator tests.
- **Versioning**: Bumped version to v1.3.0-beta.1 in preparation for release.
@seanmccabe seanmccabe changed the title Migration to a dedicated asynchronous API client v1.3.0 - Migration to a dedicated asynchronous API client Jan 13, 2026
@seanmccabe seanmccabe force-pushed the feat/seperate-api-concerns branch from 22b9529 to d69d6e6 Compare January 16, 2026 05:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant