Update to use HTTPX2#1
Merged
Merged
Conversation
Rename package and project name. Update README. Update dependencies - add pre-commit in a new 'dev' extra. Remove Python 3.9 support.
Update related dev tools' configuration. Run all dev tools and update code base for automatic fixes.
Utilized Claude Opus 4.8 to mitigate the pre-commit dev tool errors and update the test suite as well. Manually updated test suite's imports of httpx -> httpx2 and pytest_httpx -> pytest_httpx2.
Welcome to Codecov 🎉Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests. Thanks for integrating Codecov - We've got you covered ☂️ |
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.
AI Summary
This pull request migrates the codebase from
httpxtohttpx2, updates the package/module naming accordingly, and introduces several improvements to project configuration and developer tooling. The migration affects all authentication classes and AWS4Auth, ensuring compatibility withhttpx2and its API. Additionally, the pre-commit hooks and CI workflows are modernized, and documentation and licensing are updated.Key changes include:
Migration to httpx2 and Package Renaming
All authentication classes (
Basic,HeaderApiKey,QueryApiKey, etc.) and AWS4Auth are updated to usehttpx2instead ofhttpx, including type annotations, imports, and class inheritance. The package is renamed fromhttpx_authtohttpx2_auththroughout the codebase. (httpx2_auth/_authentication.py,httpx2_auth/_aws.py,httpx2_auth/__init__.py, [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]The main module and all import paths are renamed from
httpx_authtohttpx2_auth, and the test workflow and packaging scripts are updated to use the new name. (.github/workflows/test.yml, .github/workflows/test.ymlL3-R47)Developer Tooling and CI Enhancements
The pre-commit configuration is expanded to include general hygiene hooks,
pyupgrade,black,blacken-docs,ruff,bandit, andmypyfor improved code quality, security, and formatting. (.pre-commit-config.yaml, .pre-commit-config.yamlL2-R69)The GitHub Actions test workflow is updated to only run on pushes to
masterand pull requests, drops Python 3.9 support, and switches all references fromhttpx_authtohttpx2_auth. (.github/workflows/test.yml, .github/workflows/test.ymlL3-R47)Documentation and Licensing
Minor formatting improvements are made to
CONTRIBUTING.mdfor consistency in list formatting. (CONTRIBUTING.md, [1] [2]The license is updated to extend the copyright years to 2026. (
LICENSE, LICENSEL3-R3)The Jekyll theme setting is removed from
_config.yml, possibly to defer to a default or external configuration. (_config.yml, _config.ymlL1)