Skip to content

Conversation

@Mattsface
Copy link
Collaborator

Why

Migrate build system to Poetry for better dependency management, reproducible builds, and modernize CI. Also fix failing external tests due to new MLB API fields.

What

Convert from setuptools to Poetry
Update all CI workflows to use Poetry
Add Python 3.11, 3.12 to feature branch test matrix
Add missing MLB API fields:
Standings: roundrobin
AdvancedPitchingSplit: inningspitchedpergame, flyballpercentage
Skip flaky external 500 tests (API no longer returns 500, covered by mocks)

Tests

All 63 mock tests pass
External tests pass (118 passed, 2 skipped)

Risk and impact

Normal
Build system change affects how package is built/installed. Model changes are additive (optional fields). CI tested successfully on all Python versions.

- Convert pyproject.toml to Poetry format
- Add poetry.lock for reproducible builds
- Update CI workflows to use Poetry:
  - Use snok/install-poetry action
  - Update actions/checkout to v4, setup-python to v5
  - Add Python 3.11, 3.12 to feature branch test matrix
- Move requests-mock to dev dependencies

Build and publish to PyPI/TestPyPI unchanged.
- Add 'roundrobin' field to Standings model
- Add 'inningspitchedpergame' field to AdvancedPitchingSplit model
- Skip external 500 tests that depend on API behavior (covered by mocks)
@Mattsface Mattsface merged commit ecc3be0 into main Jan 12, 2026
3 checks passed
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.

2 participants