Pydaymet

Latest version: v0.19.3

Safety actively analyzes 722491 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 7

0.19.3

-------------------

New Features
~~~~~~~~~~~~
- Improve the performance of ``get_bycoords`` function by using
the single-pixel API of the Daymet server.
- Add a new argument to both ``get_bygeom`` and ``get_bycoords``
functions called ``conn_timeout`` for setting the connection
timeout in seconds. The default value is 5 minutes.
- Add a new argument to both ``get_bygeom`` and ``get_bycoords`` functions
called ``validate_filesize``. When set to ``True``, the
function checks the file size of the previously
cached files and will re-download if the local filesize does not match
that of the remote. Defaults to ``False``. Setting this to ``False``
can be useful when you are sure that the cached files are not corrupted and just
want to get the combined dataset more quickly. This is faster because it avoids
web requests that are necessary for getting the file sizes.

Internal Changes
~~~~~~~~~~~~~~~~
- Use [TinyRetriever](https://github.com/cheginit/tiny-retriever) for
all server requests. It offers the same functionalities as the previous
``_streaming`` module and has the same dependencies. It has a more robust
handling of async threads and is more efficient.

0.19.1

-------------------

This release is a major refactoring of the package to make it more lightweight
and independent. The package now uses ``aiohttp`` and ``aiofiles`` with a limit
on the number of simulnatious connections to the host, for handling
all server requests. This avoids hammering the server with multiple requests and
improves the performance and reliability of the package. The package no longer
depends on other HyRiver libraries, making it more lightweight and faster to load.

New Features
~~~~~~~~~~~~
- Add a new function to get Daymet tile IDs for a given geometry called
``daymet_tiles``.

Internal Changes
~~~~~~~~~~~~~~~~
- Remove dependency on other HyRiver libraries to make the package more
lightweight and independent.
- Use ``aiohttp`` and ``aiofiles`` for handling all server requests.
This avoids hammering the server with multiple requests and improves
the performance and reliability of the package.
- Remove dependency on ``geopandas`` and use ``shapely`` only for handling
geometries. This makes the package more lightweight and faster.

Breaking Changes
~~~~~~~~~~~~~~~~
- Use a more efficient and reliable approach for adding elevation data
to the climate dataset for computing PET. We now directly use 30-m
elevation data from 3DEP and resample it to the climate data resolution
by averaging each cell within a 1-km window.
- Remove the option to disable SSL in all functions. Now, SSL verification
is always enabled.

0.18.0

-------------------

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 public API and make
it easier to maintain.

0.17.1

-------------------

Internal Changes
~~~~~~~~~~~~~~~~
- A release without change to match the version of other HyRiver packages.

0.16.3

-------------------

Bug Fixes
~~~~~~~~~
- In ``get_bystac`` function, only three variables were being returned regardless
of the input variables. This version fixes this issue by returning all the
requested variables.

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.

0.16.1

-------------------

New Features
~~~~~~~~~~~~
- Add a new function for getting Daymet data from Microsoft's
`Planetary Computer <https://planetarycomputer.microsoft.com/dataset/group/daymet>`__
called ``get_bystac``. Although this function can be much faster than
``get_bygeom``, currently, it gives access to Daymet v4.2 from 1980
to 2020. As discussed
`here <https://github.com/microsoft/PlanetaryComputer/discussions/311>`__,
the Daymet v4.5 will be added to the Planetary Computer in the future.
Until then, for accessing the latest version of Daymet (v4.5) you need to
use ``get_bygeom``. Additionally, this function requires ``fsspec``,
``dask``, ``zarr``, and ``pystac-client`` packages.
- Make ``separate_snow`` a standalone, pure, and public function.
Now, it can be used like so: ``pydaymet.separate_snow``.
- Change the length unit from ``km`` to ``m`` for ``get_bygeom``.

Internal Changes
~~~~~~~~~~~~~~~~
- The ``potential_et`` function uses ``py3dep.add_elevation`` function
but the CRS info gets lost in the process for the new ``elevation``
variable. This version fixes this issue by adding the CRS info to
the ``elevation`` variable.
- Change ``PetParams`` class from ``NamedTuple`` to ``dataclass``
for better performance and consistency. Now, it has a new
``classmethod`` called ``fields`` that returns a list of
the four fields of the class.

Page 1 of 7

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.