chore: integrate ruff and mypy for CI/CD modernization #9896
+92
−9
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
This PR modernizes the project's CI/CD pipeline by integrating
rufffor high-performance linting andmypyfor static type checking. It also includes an initial refactor of the core awscli/clidriver.py module to demonstrate these improvements, resolving legacy formatting issues and adding strict type hints.Key Changes
ruff) and type safety (mypy).ruffandmypyto requirements-check.txt.[tool.mypy]configuration to pyproject.toml that allows for incremental adoption (follow_imports = "silent").%string formatting with modern f-strings.CLIDriver.main().Motivation
To improve long-term code maintainability and prevent type-related runtime errors. Use of modern tooling (
ruff) ensures these checks remain fast, whilemypyintegration lays the groundwork for a fully typed codebase.Testing
ruffandmypychecks pass with 0 errors on the modified files.