refactor: migrate Dict and List to native types across codebase#106
Open
rashmiraghunandan wants to merge 1 commit intoroostorg:mainfrom
Open
refactor: migrate Dict and List to native types across codebase#106rashmiraghunandan wants to merge 1 commit intoroostorg:mainfrom
rashmiraghunandan wants to merge 1 commit intoroostorg:mainfrom
Conversation
040a2de to
abc74dd
Compare
Migrate from typing.List/Dict to Python 3.9+ native list/dict types across the entire codebase. This includes: - Updating type annotations in all modules - Fixing type helpers to handle native generic types - Updating test expectations to reflect new type display strings - Fixing issubclass() calls to work with subscripted generics Fixes roostorg#25 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
abc74dd to
98b36eb
Compare
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.
Migrated from deprecated typing.Dict and typing.List to native dict and list types across the entire codebase as part of Python 3.9+ modernization effort (74 files total).
Changes
Type Migrations
typing.List/Dictto nativelist/dictListandDictimports from 70+ filesCore Fixes
list: Listnormalization mapping, updatedis_list()to use nativelisttype_is_acceptable_candidate()to extract origin types beforeissubclass()calls (subscripted generics likelist[str]cannot be used withissubclass())_is_single_arg_invariant_generic()to check for nativelistinstead oftyping.ListTest Updates
list[...]instead ofList[...]test_type_evaluator.py: RemovedUnion[list[str], str]and barelistfrom unsupported types (now supported with native types)Migration Approach
Files Changed (74 total)
All type checking (mypy), linting (ruff), and integration tests pass.
Fixes #25