-
-
Notifications
You must be signed in to change notification settings - Fork 41
Set min version to Python 3.13 #378
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR updates the minimum Python version requirement from 3.12 to 3.13 across the project. The main changes involve adopting Python 3.13 features and improving type safety throughout the codebase.
- Updates minimum Python version from 3.12 to 3.13 in project configuration files
- Replaces
TypeGuardwithTypeIsfor improved type narrowing - Adds explicit typing for loguru handler configurations using
BasicHandlerConfig
Reviewed changes
Copilot reviewed 16 out of 18 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| pyproject.toml | Updates Python version requirements, adds "ty" keyword, removes 3.12 classifier |
| .github/workflows/on_push.yml | Removes Python 3.12 from CI test matrix |
| scripts/release.py | Updates requires-python to 3.13 |
| scripts/ci.py | Updates requires-python to 3.13 |
| scripts/integration.py | Adds BasicHandlerConfig typing for logger configuration |
| scripts/check_output.py | Adds BasicHandlerConfig typing for logger configuration |
| mypy_boto3_builder/logger.py | Adds BasicHandlerConfig typing for logger configuration |
| mypy_boto3_builder/utils/type_checks.py | Replaces TypeGuard with TypeIs in type checking functions |
| mypy_boto3_builder/cli_parser.py | Renames parameter from value to values, adds deprecated parameter |
| mypy_boto3_builder/parsers/shape_parser.py | Improves variable scoping and null safety in resource method parsing |
| mypy_boto3_builder/boto3_ports/model.py | Changes ResourceModel definition parameter to Mapping for immutability |
| tests/structures/test_paginator.py | Adds isinstance check for return_type |
| tests/parsers/test_shape_parser.py | Adds isinstance check and removes duplicate assertions |
| tests/import_helpers/test_internal_import_record.py | Simplifies test to use actual enum instead of mock |
| vulture_whitelist.txt | Adds option_string to whitelist |
| Taskfile.yml | Adds task automation configuration |
| .python-version | Confirms Python 3.13 version |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| request_operation_model = self._get_operation(operation_name) | ||
| operation_model = request_operation_model |
Copilot
AI
Dec 3, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The variable request_operation_model is immediately assigned to operation_model without any intermediate processing. This introduces unnecessary duplication. Consider directly assigning to operation_model instead.
TypeIs,argparse)tysupportintegration