Add three new functions called
retrieve_binary. These functions are derived from the
retrievefunction and are used to retrieve the text, JSON, or binary content of a response. They are meant to help with type hinting since they have only one return type instead of three different return types that the
Move all private functions to a new module called
utils. This makes the code-base more readable and easier to maintain.
Set the expiration time to never expire by default.
Add two new arguments to
retrievefor controlling caching. First,
delete_url_cachefor deleting caches for specific requests. Second,
expire_afterfor setting a custom expiration time.
sslargument for disabling the SSL certification verification (GH41).
Add a new option called
True, it temporarily disables caching requests and gets new responses. It defaults to
Add two new arguments,
retrieve. These two arguments gives the user more control for dealing with issues related to caching.
usjonfor converting responses to JSON.
Fix an issue with catching service error messages.
ujsonfor JSON parsing instead of
orjsononly serializes to
byteswhich is not compatible with
Add a new function,
clean_cache, for manually removing the expired responses from the cache database.
Handle all cache file related operations in the
The responses now are returned to the same order as the input URLs.
Add support for passing connection type, i.e., IPv4 only, IPv6, only or both via
familyargument. Defaults to
trust_env=Trueso the session can read system’s
netrcfiles. This can be useful for working with services such as EarthData service that read the user authentication info from a
_retrievefunction to increase readability and reduce overhead.
More robust handling of validating user inputs via a new class called
Move all if-blocks in
async_sessionto other functions to improve performance.
Make persistent caching dependencies required.
retrievewhich now accepts both lower and upper cases of
Refactor the entire code-base for more efficient handling of different request methods.
Check validity of inputs before sending requests.
Improve cache handling by removing the expired responses before returning the results.
Increase testing coverage to 100%.