refactor: code simplification and v0.21.0 release#14
Merged
franccesco merged 8 commits intomainfrom Jan 10, 2026
Merged
Conversation
- Extract shared OptionalDatetime and OptionalFloat annotated types - Remove duplicate parse_optional_datetime validators from Todo, Issue, Goal - Merge HeadlineListItem into HeadlineDetails (type alias for backward compat) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Create goals_transform.py, meetings_transform.py, issues_transform.py - Create headlines_transform.py, todos_transform.py - Rename users.py to users_transform.py for consistency - Update mixins/__init__.py exports Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add _validate_bulk_item() to AbstractOperations - Add _process_bulk_sync() for sequential bulk processing - Add _process_bulk_async() with semaphore-based concurrency control Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update all operations to inherit from transformation mixins - Replace inline transformation logic with mixin method calls - Simplify create_many methods using generic bulk helpers - Standardize error handling with raise_for_status() - Remove redundant __init__ methods from async operations Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update test_async_todos_extra to expect HTTPStatusError - Update test_misc_coverage for renamed users_transform module Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add CHANGELOG entry for v0.21.0 with breaking changes - Update README with correct method names - Update CLAUDE.md with mixins architecture and patterns - Fix outdated examples in guide docs Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Major refactoring to reduce code duplication and improve maintainability. Net reduction of ~800 lines while maintaining 95% test coverage.
Breaking Changes
HeadlineListItemmerged intoHeadlineDetails(type alias maintained for backward compatibility)Changes
Models
OptionalDatetimeandOptionalFloatannotated types using Pydantic'sBeforeValidatorparse_optional_datetimevalidatorsOperations Architecture
_transformsuffix naming (goals_transform.py, etc.)create_manymethods using generic helpersraise_for_status()__init__methods from async operationsDocumentation
Commits
refactor(models): consolidate validators and merge identical modelsrefactor(mixins): add transformation mixins with _transform suffixrefactor(utils): add generic bulk operations helpersrefactor(operations): simplify using mixins and bulk helperstest: update tests for refactored error handlingdocs: update documentation for v0.21.0 refactoringchore: bump version to 0.21.0Test plan
🤖 Generated with Claude Code