Skip to content

Releases: hyriver/async-retriever

v0.19.1

18 Jan 03:53
Compare
Choose a tag to compare

Release Notes

Internal Changes

  • Replace max_connection argument in all retrieve* functions with limit_per_host. This uses the aiohttp argument limit_per_host to limit the number of connections per host which prevents the server from being overwhelmed with too many connections. The default value is set to 5.
  • Add aiofiles as a new dependency for writing responses to a file in the stream_write function. This should speed up the writing process and make it more efficient.

Bug Fixes

  • Fix an issue with running the library inside IPython terminal. (50{.interpreted-text role="issue_async"})

Breaking Changes

  • Move stream_write function to its own module called streaming. This is to separate the streaming functionality from the main module and make it easier to maintain.
  • Simplify the stream_write function to only accept a list of URLs and a directory path to save the files. It no longer accepts passing keyword arguments and assumes that the user has added the necessary arguments to the URLs itself and is encoded correctly. Additionally, the chunk size by default is set to 1 MB.

v0.19.0

18 Jan 02:13
Compare
Choose a tag to compare

Release Notes

Internal Changes

  • Replace max_connection argument in all retrieve* functions with limit_per_host. This uses the aiohttp argument limit_per_host to limit the number of connections per host which prevents the server from being overwhelmed with too many connections. The default value is set to 5.
  • Add aiofiles as a new dependency for writing responses to a file in the stream_write function. This should speed up the writing process and make it more efficient.

Bug Fixes

  • Fix an issue with running the library inside IPython terminal. (50{.interpreted-text role="issue_async"})

Breaking Changes

  • Move stream_write function to its own module called streaming. This is to separate the streaming functionality from the main module and make it easier to maintain.
  • Simplify the stream_write function to only accept a list of URLs and a directory path to save the files. It no longer accepts passing keyword arguments and assumes that the user has added the necessary arguments to the URLs itself and is encoded correctly. Additionally, the chunk size by default is set to 1 MB.

v0.18.0

05 Oct 14:41
Compare
Choose a tag to compare

Release Notes

Bug Fixes

  • Pin the minimum version of aiohttp-client-cache to 0.12.3 to an issue with the latest version of aiohttp. (48{.interpreted-text role="issue_async"})

Breaking Changes

  • Drop support for Python 3.8 since its end-of-life date is October 2024.
  • Remove all exceptions from the main module and raise them from the exceptions module. This is to declutter the main module and make it easier to maintain.

Internal Changes

  • Make nest_asyncio a required dependency since most users will need it to run the package in Jupyter notebooks.

v0.17.1

14 Sep 16:40
Compare
Choose a tag to compare

Release Notes

Internal Changes

  • Drop support for Python 3.8 since its end-of-life date is October 2024.

v0.17.0

05 Jul 18:32
Compare
Choose a tag to compare

Release Notes

Internal Changes

  • Add the exceptions module to the high-level API to declutter the main module. In the future, all exceptions will be raised from this module and not from the main module. For now, the exceptions are raised from both modules for backward compatibility.
  • Switch to using the src layout instead of the flat layout for the package structure. This is to make the package more maintainable and to avoid any potential conflicts with other packages.
  • Add artifact attestations to the release workflow.

v0.16.1

25 Apr 02:44
Compare
Choose a tag to compare

Release Notes

New Features

  • When a request fails with encoding error, it gets retried with the encoding set to latine1. This is to handle cases where the server sends a response with an encoding that is not supported by the client. (120{.interpreted-text role="issue_hydro"})

v0.16.0

03 Jan 18:43
Compare
Choose a tag to compare

Release Notes

New Features

  • Add a new environmental variable called "HYRIVER_SSL_CERT" for setting the path to a SSL certificate file other than the default one. You can do this like so:
import os

os.environ["HYRIVER_SSL_CERT"] = "path/to/file.pem"

v0.15.2

22 Sep 14:17
Compare
Choose a tag to compare

Release Notes

Bug Fixes

  • Fix an issue with getting all valid keywords that aiohttp accepts by using aiohttp.ClientSession()._request directly.

v0.15.0

07 May 22:05
Compare
Choose a tag to compare

Release Notes

From release 0.15 onward, all minor versions of HyRiver packages will be pinned. This ensures that previous minor versions of HyRiver packages cannot be installed with later minor releases. For example, if you have py3dep==0.14.x installed, you cannot install pydaymet==0.15.x. This is to ensure that the API is consistent across all minor versions.

Bug Fixes

  • When raise_status is False, responses for failed requests used to return as None but their requests ID was not returned, so sorting would have failed. Now request IDs are returned for all requests regardless of whether they were successful or not.
  • Give precedence to non-default arguments for caching related arguments instead of directly getting them from env variables. This is to avoid the case where the user sets the env variables but then passes different arguments to the function. In this case, the function should use the passed arguments instead of the env variables.

v0.14.0

05 Mar 16:11
Compare
Choose a tag to compare

Release Notes

New Features

  • Add a new option to all functions called raise_status. If False no exception will be raised and instead None is returned for those requests that led to exceptions. This will allow for returning all responses that were successful and ignoring the ones that failed. This option defaults to True for retaining backward compatibility.
  • Set the cache expiration time to one week from never expire. To ensure all users have a smooth transition, cache files that were created before the release of this version will be deleted, and a new cache will be created.

Internal Changes

  • Sync all minor versions of HyRiver packages to 0.14.0.