Skip to content

feat: Implement data models for deprecation entries#20

Merged
leblancfg merged 2 commits intomainfrom
feat/data-models
Aug 20, 2025
Merged

feat: Implement data models for deprecation entries#20
leblancfg merged 2 commits intomainfrom
feat/data-models

Conversation

@leblancfg
Copy link
Collaborator

@leblancfg leblancfg commented Aug 20, 2025

Summary

  • Implements Pydantic models for deprecation data handling
  • Adds RSS feed generation capabilities
  • Provides comprehensive validation and type safety

Changes

  • RawDeprecation model: Handles scraped data with validation for providers, dates, and URLs
  • DeprecationEntry model: Business logic layer with RSS serialization and active status checking
  • DeprecationFeed model: Manages collections of entries and generates RSS XML output
  • Comprehensive tests: Full test coverage using pytest-describe pattern

Implementation Details

  • All models use Pydantic v2 with strict type hints
  • Support for partial data (only provider and model_name required)
  • Date validation ensures retirement_date > deprecation_date when both present
  • RSS generation using feedgen library
  • Historical tracking support with created_at/updated_at timestamps

Testing

  • 32 tests passing
  • Type checking with mypy - no errors
  • Linting with ruff - all checks passed

Closes #2

leblancfg and others added 2 commits August 20, 2025 14:11
- Add RawDeprecation model for scraped data with validation
- Add DeprecationEntry model with RSS serialization support
- Add DeprecationFeed model for RSS feed generation
- Implement comprehensive test coverage using pytest-describe
- Support for partial data and historical tracking
- Type hints and mypy compliance throughout

Closes #2

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

Co-Authored-By: Claude <noreply@anthropic.com>
@leblancfg leblancfg merged commit 583f9d4 into main Aug 20, 2025
1 check 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.

Design data models for deprecation entries

1 participant