Bulk improvements#26
Merged
Merged
Conversation
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.
Architecture Improvements: Enhanced Resiliency, Efficiency, and Documentation
Overview
This PR implements improvements to the pyUSPTO client library, enhancing connection management, retry behavior, session handling, and download performance. README examples have also been updated.
Key Improvements
1. Connection Lifecycle Management
All clients now support Python's
withstatement for automatic resource cleanup and explicitclose()method.2. Enhanced Retry Behavior
POST requests now retry on transient failures (429, 500, 502, 503, 504).
3. Session Sharing/Injection
Multiple clients can share a single
requests.Sessionfor better connection reuse and resource efficiency.4. Configurable Download Chunk Size
Adjust download chunk size via
HTTPConfig.download_chunk_sizeorUSPTO_DOWNLOAD_CHUNK_SIZEenvironment variable.5. POST Support in Pagination
All
paginate_*()methods now acceptpost_bodyparameter, supporting both flat and nested pagination structures.6. README Examples Update
All README examples now use code from the
examples/directory.Testing
Files Changed
base.py(+208),http_config.py(+26),config.py(+7)README.md(265 changes), example files