Pygeoprocessing

Latest version: v2.4.7

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

Scan your dependencies

Page 7 of 11

1.1.0

------------------
* PyGeoprocessing now supports Python 2 and 3, and is tested on python 2.7
and 3.6 Testing across multiple versions is configured to be run via
``tox``.
* After testing (tox configuration included under ``tox-libcompat.ini``),
numpy requirement has been dropped to ``numpy>=1.10.0`` and scipy has been
modified to be ``scipy>=0.14.1,!=0.19.1``.
* A dependency on ``future`` has been added for compatibility between python
versions.
* Fixed a crash in ``pygeoprocessing.routing.flow_dir_mfd`` and
``flow_dir_d8`` if a base raster was passed in that did not have a power of
two blocksize.
* ``raster_calculator`` can now take numpy arrays and scalar values along with
raster path band tuples. Arrays and scalars are broadcast to the raster size
according to numpy array broadcasting rules.
* ``align_and_resize_raster_stack`` can now take a desired target projection
which causes all input rasters to be warped to that projection on output.

1.0.1

------------------
* Hotfix patch to remove upper bound on required numpy version. This was
causing a conflict with InVEST's looser requirement. Requirement is now
set to >=1.13.0.

1.0.0

------------------
* This release marks a feature-complete version of PyGeoprocessing with a
full suite of routing and geoprocessing capabilities.
* ``pygeoprocessing.routing`` module has a ``flow_dir_mfd`` function that
calculates a 32 bit multiple flow direction raster.
* ``pygeoprocessing.routing`` module has a ``flow_accumulation_mfd`` function
that uses the flow direction raster from
``pygeoprocessing.routing.flow_dir_mfd`` to calculate a per-pixel continuous
flow accumulation raster.
* ``pygeoprocessing.routing`` module has a ``distance_to_channel_mfd``
function that calculates distance to a channel raster given a
pygeoprocessing MFD raster.
* ``pygeoprocessing.routing`` module has a ``distance_to_channel_d8`` function
that calculates distance to a channel raster given a pygeoprocessing D8
raster.

0.7.0

------------------
* Versioning is now handled by ``setuptools_scm`` rather than
``natcap.versioner``. ``pygeoprocessing.__version__`` is now fetched from
the package metadata.
* Raster creation defaults now set "COMPRESS=LZW" for all rasters created in
PyGeoprocessing, including internal temporary rasters. This option was
chosen after profiling large raster creation runs on platter hard drives.
In many cases processing time was dominated by several orders of magnitude
as a write-to-disk. When compression is turned on overall runtime of very
large rasters is significantly reduced. Note this otherwise increases the
runtime small raster creation and processing by a small amount.
* ``pygeoprocessing.routing`` module now has a ``fill_pits``, function which
fills hydrological pits with a focus on runtime efficiency, memory space
efficiency, and cache locality.
* ``pygeoprocessing.routing`` module has a ``flow_dir_d8`` that uses largest
slope to determine the downhill flow direction.
* ``pygeoprocessing.routing`` module has a ``flow_accumulation_d8`` that uses
a pygeoprocessing D8 flow direction raster to calculate per-pixel flow
accumulation.
* Added a ``merge_rasters`` function to ``pygeoprocessing`` that will mosaic a
set of rasters in the same projection, pixel size, and band count.

0.6.0

------------------
* Added an optional parameter to ``iterblocks`` to allow the ``largest_block``
to be set something other than the PyGeoprocessing default. This in turn
allows the ``largest_block`` parameter in ``raster_calculator`` to be passed
through to ``iterblocks``.
* Upgraded PyGeoprocessing GDAL dependency to >=2.0.
* Added a ``working_dir`` optional parameter to ``zonal_statistics``,
``distance_transform_edt``, and ``convolve_2d`` which specifies a directory
in which temporary files will be created during execution of the function.
If set to ``None`` files are created in the default system temporary
directory.

0.5.0

------------------
* Fixed an issue where NETCDF files incorrectly raised Exceptions in
``raster_calculator`` and ``rasterize`` because they aren't filepaths.
* Added a NullHandler so that users wouldn't get an error that a logger
handler was undefined.
* Added ``ignore_nodata``, ``mask_nodata``, and ``normalize_kernel`` options
to ``convolve_2d`` which make this function capable of adapting the nodata
overlap with the kernel rather than zero out the result, as well as on
the fly normalization of the kernel for weighted averaging purposes. This
is in part to make this functionality more consistent with ArcGIS's
spatial filters.

Page 7 of 11

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.