Release History#
1.47.0 (2025-mm-dd)#
FIX: Fix
ci.assert_val
for xr.DataArrayCoordinates
1.46.4 (2025-04-04)#
ENH: Rewrite entirely the s3 module
FIX: Fix transform recomputation when downsampling a raster with coarsen method in
rasters.read
1.46.3 (2025-03-28)#
ENH: Read config and credentials from network drive X if existing
FIX: Size overrides resolution argument in
rasters(rio).read
(which makes way more sense)FIX: Don’t overwrite rasterio’s env in
s3.temp_s3
ands3.s3_env
(apart from s3 options of course)Fix: define_s3_client not reading endpoint_url from arguments fixed
1.46.2 (2025-03-15)#
ENH: Add some BigTiff optimizations in
snap.get_gpt_cli
FIX: Fix typo in nodata management in
rasters.collocate
FIX: Fill nan values with 0 in
rasters.read_uint8_array
andrasters.read_bit_array
before converting it to uint8FIX: Fix
rasters.write
with other drivers than the classic rasters ones (such asPNG
)
1.46.1 (2025-03-11)#
FIX: Set 512 as default blocksize for
rasters.write
when usingodc.geo.save_cog_with_dask
FIX: Fix error message in
ci.assert_xr_encoding_attrs
for missing encoding keyFIX: Set back encoding correctly in
rasters.read(as_type=...)
FIX: Fix nodata management in
rasters.collocate
1.46.0 (2025-03-03)#
ENH: Add two functions for converting degrees to and from meters:
rasters.from_deg_to_meters
andrasters.from_meters_to_deg
ENH: Add the ability to return a
dask.delayed
object inrasters.write
ENH: Save the path of the opened files in attributes in
rasters.read
FIX: Better manage default options in
rasters.write
, allowing to write easily with other drivers thanGTiff
orCOG
(such asZarr
)FIX: Don’t take nodata value into account in
ci.assert_raster_almost_equal_magnitude
1.45.2 (2025-02-17)#
FIX: Fix regression in
geometry.simplify_footprint
1.45.1 (2025-02-17)#
FIX: Add more tolerances in
geometry.simplify_footprint
to allow further simplification, and a warning in case of failureFIX: Force 2D geometries in
rasters.crop
asodc.geo.xr.crop
don’t work with 3D geometriesFIX: Fix nodata casting in
rasters_rio.rasterize
for float values casted into integersOPTIM: Only write rasters on disk with
windowed=True
in case of big rasters (w/h > 20,00020,000 pixels)DEPR: Remove mention to DS2 in Unistra (keep only the mounting points for legacy purposes)
CI: Refactor
.gitlab-ci.yml
file with new GitLab templates
1.45.0 (2025-01-27)#
ENH: Use
odc.geo.xr.crop
instead ofrio.clip
to makerasters.crop
dask-compatible (#27)ENH: Allow passing the version number as a string to
misc.compare_versions
FIX: Fixes when trying to write COGs with dask in
rasters.write
FIX: Correctly propagate kwargs when writing COGs with dask in
rasters.write
1.44.6 (2025-01-13)#
DEPS: Only ask for
cloudpathlib[s3]
as a dependency (and not cloudpathlib[all])
1.44.5 (2025-01-10)#
ENH: Add the ability to round rasters values in
ci.assert_raster_max_mismatch
FIX: Fix regression in
rasters.collocate
whereodc.geo.xr_reproject
was not used correctly.FIX: Fix when trying to pop non-existing
nodata
keyword inrasters.collocate
1.44.4 (2025-01-07)#
FIX: Fix regression in
rasters.any_raster_to_xr_ds
(rightException
not thrown,UnboundLocalError
thrown instead when trying to return non-existing variable)
1.44.3 (2025-01-06)#
FIX: Manage case where we have a
pd.Dataframe
instead of agpd.GeoDataFrame
invectors.read
(reading a.dbf
file for instance)FIX: Simplify decorator function of
rasters.read
, to better check the input types and to have a clearer function name and clearer exceptionsFIX: Simplify decorators
rasters.any_raster_to_xr_ds
andrasters_rio.any_raster_to_rio_ds
to better check the input types and to have clearer exceptions
1.44.2 (2024-12-23)#
ENH: Drop
isort
,black
andflake8
and useruff
ENH: Use
pyproject.toml
instead ofsetup.py
FIX: Fix too broad exception in case of
geopandas >= 1.0
FIX: Fix deprecation warning for
get_nodata_value_from_dtype
inrasters_rio
FIX: Force blocksize to 128 when writing small COGs on disk (in order to have multiple overview levels)
FIX: Use
np.tan
inrasters.slope
FIX: Allow str as paths in
ci.assert_files_equal
FIX: Better alignement between
rasters.read
function andrasters.any_raster_to_xr_ds
decoratorFIX: Fix
rasters.sieve
function withxr.apply_ufunc
OPTIM: Compute the spatial index by default in
vectors.read
(setvectors.read(..., compute_sindex=False)
if you don’t want to compute them)CI: Rename CI folder and remove unnecessary intermediate folder
1.44.1 (2024-12-12)#
OPTIM: Don’t download an archive stored on the cloud when trying to read a vector stored inside it in
vectors.read
OPTIM: Don’t download files stored on cloud when applying
ci.assert_files_equal
on themOPTIM: Offer the ability to give the archived file list directly to
path.get_archived_file_list
andfiles.read_archived_file
, as this operation is expensive when done with large archives stored on the cloud (and thus better done only once). Propagated intopath.get_archived_path
,path.get_archived_rio_path
,vectors.read
,xml.read_archive
,files.read_archived_xml
andfiles.read_archived_html
CI: Test both Dask’s multithreaded and local cluster in CI
DEPR: Deprecate
xml_regex
andfile_regex
arguments from above-mentioned functions in favor of a harmonizedregex
argument.DEPS: Reduce
dask
-related dependencies to the libraries related to this project (abandondask[complete]
as we don’t need most of the embedded libraries).DOCS: Add notebooks to document best practises
1.44.0 (2024-12-09)#
BREAKING CHANGE: Renaming of
rasters(_rio).write
argumentpath
tooutput_path
to avoid shadowingsertit.path
module. Older argument is deprecated.ENH: Use
odc.geo.xr.mask
instead ofrasterio.mask
to be dask-compatible inrasters
(true forpaint
andmask
) (#27)ENH: Use
odc.geo.xr.xr_reproject
instead ofrioxarray.reproject_match
to be dask-compatible inrasters.collocate
(#27)ENH: Use
xarray-spatial
to be dask-compatible inrasters.slope
andrasters.hillshade
. (#27)ENH: Add support for
aspect
function (only inrasters
). (#29)FIX: Fix the ability to save COGs with any dtype with Dask, with the workaround described here (don’t compute statistics for problematic dtypes)
FIX: Better separability of
dask
(it has its own module now): don’t create a client if the user doesn’t specify it (as it is not required anymore inLock
). This should remove the force-use ofdask
.OPTIM: For arrays with same shape and CRS, replace only the coordinates of
other
byref
’s inrasters.collocate
OPTIM: Call
dask.optimize
before any dask computation (#27)FIX: Fix vectorization with dask arrays (and remove the silent failure in case of exception when computing) (#27)
DEPS: Add an optional dependency to
xarray-spatial
for daskified surface tools, such ashillshade
andslope
:warning: We selected for now xarray-spatial
dependency for DEM-related functiions, but this may not be the final selection.
When a bit more mature, it is rather likely that geoutils
and xdem
will be selected instead.
See this issue for dask
-related choices.
1.43.4 (2024-11-28)#
FIX: Fix regression in
files.read_json
due to Python 3.11 wheredatatime.fromsioformat
parses more than the output ofisoformat()
1.43.3 (2024-11-27)#
FIX: Set back
MAX_CORES
issnap
as it breaks unexpectedly a fair number of libraries
1.43.2 (2024-11-27)#
1.43.1 (2024-11-22)#
OPTIM: Manage dask correctly when writing a raster to disk in
rasters.write
(needsodc-geo
andimagecodecs
for COGs)OPTIM: Write data with
windowed=True
when Dask is not enabled (for COGs)FIX: Don’t compute dask array in case of
window
keyword inrasters.read
functionFIX: Don’t allow
window
keyword to go intogpd.to_file
functionFIX: Add all
distributed
logers toci.reduce_verbosity
1.43.0 (2024-11-14)#
ENH: Add prune and select keys from dict functions:
misc.select_dict
andmisc.prune_dict
ENH: Handle dict in
misc.remove_empty_values
and allow the user to add other values considered as emptyFIX: Select arguments from
**kwargs
for functions with finished number of argumentsFIX: Remove empty kwargs from
rasters.write
(leading sometimes to GDAL warnings)FIX: Don’t try to set any
tiled
argument withCOG
driver inrasters.write
1.42.3 (2024-11-04)#
FIX: Fix PyPI’s Trusted Publisher Management mechanism
CI: Update SNAP version to 11.0
CI: Update repo for mirroring
LOG: Add
numba
inci.reduce_verbosity
1.42.2 (2024-10-01)#
Allow
geopandas < 1.0.0
(sertit-utils
should work with0.14.4
)PUBLISH: Use PyPI’s Trusted Publisher Management mechanism
1.42.1 (2024-09-25)#
FIX: Don’t use isinstance and subtypes together (#22)
FIX: Allow
use_s3_env_var
inunistra.s3_env
TYPO: Replace
UNISTRA_S3_ENPOINT
byUNISTRA_S3_ENDPOINT
1.42.0 (2024-09-03)#
ENH: Add a function
snap.get_snap_version
to retrieve current SNAP version (#172)ENH: Allow to pass directly a version object to
misc.compare_version
FIX: Prune empty keywords from kwargs in
rasters(_rio).write
to avoid throwing GDAL warnings/errorsFIX: Correctly throw the exception when
rasters_rio.any_raster_to_rio_ds
fails with axarray
data structureFIX: Fix rasterization of vector on floating point rasters (with a nodata not castable to the wanted dtype)
FIX: Handle correctly nan values in
ci.assert_val
FIX: Fix
rasters.set_nodata
with already existing nodata value in raster
1.41.0 (2024-08-06)#
BREAKING CHANGE: Renaming of
rasters(_rio).get_nodata_value
function torasters(_rio).get_nodata_value_from_dtype
. Older function is deprecated.ENH: Creating
rasters.get_nodata_value_from_xr
to retrieve the nodata value as specified byrioxarray
FIX: Fix handling of nodata with xarray structures in
sertit.rasters
FIX: Handle None cases in
ci.assert_val
CI: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in sertit/sertit-utils#21
1.40.0 (2024-08-05)#
BREAKING CHANGE: Renaming of
rasters.path_xarr_dst
function torasters.any_raster_to_xr_ds
. Older function is deprecated.BREAKING CHANGE: Renaming of
rasters_rio.path_arr_dst
function torasters_rio.any_raster_to_rio_ds
. Older function is deprecated.BREAKING CHANGE: Creating
types.AnyRasterType
instead ofrasters.PATH_XARR_DS
andrasters_rio.PATH_ARR_DS
. Older types are deprecated.ENH: Creating
types.AnyRioDatasetType
for any rasterio Dataset (both Reader, Writer)ENH: Creating
types.AnyVectorType
for any vector (path or GeoDataFrame)ENH: Adding the file path and name in the vector attributes (in
vec.attrs["path"]
andvec.attrs["name"]
) withvectors.read
1.39.1 (2024-07-29)#
FIX: Allow the user not to convert Nones in
types.make_iterable
(withconvert_none
keyword)FIX: Allow the user not to take strings as iterables
types.make_iterable
andtypes.is_iterable
(withstr_allowed
keyword)
1.39.0 (2024-07-29)#
ENH: Add
types.make_iterable
andtypes.is_iterable
functionsSwitch to
main
branch
1.38.0 (2024-07-26)#
ENH: Manage
geopandas>=1.0
and its default enginepyogrio
:ENH: Add function
vectors.is_geopandas_1_0
FIX: Manage the duality of exceptions between
fiona
andpyogrio
forDriverError
/DataSourceError
FIX: Handle null GMLs with
pyogrio
engineFIX: Workaround for KMZ issue with
geopandas > 1.0
andpyogrio < 0.10.0
(GitHub issue)
ENH: Add a function
misc.compare_version
to compare a library version to a reference version according to an operator given by the userENH: Add a function
misc.compare
to compare two objects according to an operator given by the userFIX: Make
path.get_archived_path
function case-insensitive by defaultFIX: Fix
path.get_filename
for a file in a zip pathFIX: Handle fiona not installed in the environment (#20)
CI: Minor fix in CI scripts to handle
numpy>=2.0
updates
1.37.2 (2024-05-22)#
FIX: Fail build in 1.37.1
1.37.1 (2024-05-22)#
FIX: Don’t set endpoint_url in s3 if environment variable is empty
1.37.0 (2024-04-22)#
ENH: Add AWS profile feature to s3 module
FIX: Fix
files.extract_file
when there are only files in the root of the zip archive (#14)FIX: FIX metadata handling with
rasters_rio.read
when reading with indexes
1.36.1 (2024-03-26)#
FIX: Fix
vector._read_vector_core
when we convert a GML file from S3 to geojson with ogr2ogr (#12)FIX: Fix
files.extract_file
when there is a file in the root of the zip archive (#11)FIX: Fix
geometry.nearest_neighbors
when k is bigger than the number of candidatesFIX: Add a
buffer_on_input
ingeometry.intersects
to manage edge cases when points on polygons boundary aren’t seen as intersectingFIX:
rasters.read
acceptsxarray
objects as inputFIX: Sanitize imports
DOC: Update some examples in documentation
1.36.0 (2024-02-27)#
BREAKING CHANGE: Rename
feature_layer_to_path
togp_layer_to_path
BREAKING CHANGE: Rename
rasters(_rio).get_nodata_mask
torasters(_rio).get_data_mask
to better fit with its behaviour (1 where data is valid, 0 elsewhere)ENH: Add
geometry.intersects
to find polygons intersecting with other polygons (wrapper ofgeopandas.intersects
that works only row-wise)ENH: Add
geometry.line_merge
to useshapely.line_merge
on GeoDataFramesENH: Add
geometry.buffer
(usinggpd.buffer
) to return a GeoDataFrame instead of a GeoSeriesENH: Add
geometry.nearest_neighbors
to get the nearest neighbors from each point of a Point GeoDataFrame in another one (two methods,k_neighbors
andradius
). Needssklearn
.FIX: Ignore when trying to split polygons with points
FIX: Make
ci.assert_val
work for IterablesDOC: Numerous documentation updates to better use Sphinx syntax
1.35.0 (2024-02-08)#
ENH: Add
arcpy.feature_layer_to_path
to retrieve the path from an ArcGIS feature layerENH: Add a class
ArcPyLogger
to better handle logs in Arcgis Pro toolsENH: Add
geometry.split
to split polygons with polygonsFIX: Fix
rasters.sieve
with integer data
1.34.2 (2024-01-23)#
FIX: Update
setup.py
to have all the needed dependencies listed inrequirements.txt
(#9)FIX: Fix
vectors.read
withengine=pyogrio
when opening vectors without geometries (likedbf
files)
1.34.1 (2024-01-17)#
FIX: Update
arcpy.init_conda_arcpy_env
to fix new issues (GDAL
InvalidVersion
when writing on disk withgeopandas
usingfiona
’s engine)
1.34.0 (2024-01-15)#
BREAKING CHANGE: Set default
chunks
toauto
inrasters.read
ENH: Add types for ArcGis GDB in
arcpy
FIX: Allow folders to be opened in
vectors.read
(to open GDBs)OPTIM: Geopandas now handles correctly S3 paths, so don’t download S3-stored vectors anymore
1.33.0 (2024-01-02)#
ENH: Mirror
window
invectors.read
(fromrasters.read
), enhancinggpd.read_file(bbox=...)
FIX: Allow kwargs in
rasters.collocate
DOC: Update copyright to 2024
1.32.4 (2023-12-07)#
FIX: Fix requester_pays option in
s3
moduleFIX: Use
total_bounds
when computing the window inrasters(_rio).read()
1.32.3 (2023-11-28)#
FIX: Fixing additional arguments passed to the
s3
decorator
1.32.2 (2023-11-22)#
FIX: Fixing the return of s3 environment decorators
CI: Enabling pre-commit.ci and dependabot bots
1.32.1 (2023-11-14)#
FIX: Add the support of
no_sign_request
ins3
functions
1.32.0 (2023-11-13)#
BREAKING CHANGE: Change the order of
files.save_json
function to fitfiles.save_obj
. Older function is deprecated.ENH: Allow to pass **kwargs in
files.save_json
andfiles.save_obj
ENH: Allow to pass **kwargs for S3 environments, in order to add options such as requester pays
FIX: Use
EPSG_4326
instead ofWGS84
for sake of naming accuracy (this is not the same thing!) (WGS84
stays available though)FIX: Return
False
instead of failin inpath.is_cloud_path
if it cannot be converted toAnyPath
FIX: Fix the custom JSON encoder to handle sets
FIX: Handles correctly multi-layered KMZ in
vectors.read
1.31.0 (2023-10-30)#
ENH: Add
s3.temp_s3
andunistra.unistra_s3
context managers to manage s3 environments inside Python codeFIX: Fix
rasters.read
whith given indexes orderDEPS : only import
vectors
inside functions forci
module (in order not to have to install rasterio if these functions are not needed)DEPS : don’t import anything from
rasterio
insidevectors
module (in order not to have to install rasterio if these functions are not needed)DEPS: Remove as many mention as possible to
cloudpathlib
1.30.1 (2023-10-20)#
FIX: Reorder raster in
rasters.read
whith the given indexes orderFIX: Allow to write with any driver in
rasters(_rio).write
FIX: Create proper variables for environment variables in
snap
FIX: Normalize geometries before testing within
ci
FIX:
files.get_archived_rio_path
returns the result ofpath.get_archived_rio_path
instead of incorrect one.CI: Update pre-commit hooks
1.30.0 (2023-10-04)#
BREAKING CHANGE: Creating a
path
module where followingfiles
functions have been transferred (original have been deprecated):get_root_path
,listdir_abspath
,to_abspath
,real_rel_path
,get_archived_file_list
,get_archived_path
,get_archived_rio_path
,get_filename
,get_ext
,find_files
,get_file_in_dir
,is_writable
.ENH: Add a
s3
modules handling other endpoints than Unistra’sENH: Add deprecation for
ci
functions handled in other modules (such ass3_env
,define_s3_client
,get_db2_path
,get_db2_path
,get_db2_path
)FIX: Allow
unistra.s3_env
to wrap functions with argumentsFIX: Manage the case with fsspec path given to
vectors.read
CI: Better testing of kwargs handling in
vectors.read
Update README
1.29.1 (2023-09-26)#
ENH: Add a function covering
vectors.corresponding_utm_projection
’s usecase (converting lat/lon to UTM CRS):vectors.to_utm_crs
. Returns directly a CRS instead of a string. Keep the deprecation forcorresponding_utm_projection
but not for the same reason.
1.29.0 (2023-09-25)#
BREAKING CHANGE: Creating a
geometry
module where followingvectors
functions have been transferred:from_polygon_to_bounds
,from_bounds_to_polygon
,get_wider_exterior
,make_valid
. The functionfill_polygon_holes
has been created.ENH: Add a
vectors.utm_crs
context manager allowing the user to compute seamlessly geographic-based operation (such as centroids, area computation…)ENH: Add a
sertit.types
containing aliases to common typingsENH: Add kwargs in
vectors.read
ENH: Handles unchecked attributes in
ci.assert_xr_encoding_attrs
ENH: Add more types
ENH: Add a new module
unistra
used to handle functions referring to Unistra’s environmentFIX: Return an AssertionError text in
ci.assert_xr_encoding_attrs
FIX: Fix
display.scale_to_uint8
with numpy masked arraysDEPR: Deprecation of
vectors.corresponding_utm_projection
in favor to geopandas’estimate_utm_crs
1.28.3 (2023-07-20)#
FIX: Fixing Windows archived rasterio path (switching to
vsizip
/vsitar
for all platform)
1.28.2 (2023-07-07)#
FIX: Allow collocating rasters (only if they are given as DataArrays) from different dtypes
FIX: Make VRT relative in
merge_vrt
if possible
1.28.1 (2023-06-22)#
FIX: Add a workaround for a weird bug with dask’s
reshape
1.28.0 (2023-06-15)#
ENH: Add a
vectors.copy
function to handle the copy of shapefilesFIX: Fix debug message in
files.copy
1.27.3 (2023-06-12)#
FIX: Add
stacklevel=3
when throwing deprecation warningsCI: Add a test to check if the deprecation warning is thrown
1.27.2 (2023-06-07)#
FIX: Allow users to read KMZ vectors (as it is now handled by fiona with LIBKML)
FIX: Better manage non-existing file given as a window
rasters(_rio).read
1.27.1 (2023-04-24)#
FIX: Don’t manage
band
coordinate inrasters.collocate
: keep as isFIX: Rename
reference_arr
intoreference
inrasters.collocate
1.27.0 (2023-04-24)#
ENH: Add a
misc.unique
function to retrieve unique elements of a list while keeping the original orderFIX: Fix the correct number of bands (in the coordinates of the xr.DataArray) in
rasters.collocate
FIX: Changes names to reference/other objects in
rasters(_rio).collocate
1.26.0 (2023-04-17)#
ENH: Add a
vectors.write
function to automatically detect the driver from the filename (and add the KML driver if needed)ENH: Add shapely 2.0 functions in
ci.assert_geom_xxx
to handle more cases (2D/3D vectors, geomtry written in another way)FIX: Use our own function for setting the nodata instead of using rioxarray’s in
rasters.crop
FIX: Fix GeoPandas FutureWarning in
explode
:Currently, index_parts defaults to True, but in the future, it will default to False to be consistent with Pandas.
INTERNAL: Simplify
rasters.read
DEPS: Pin Shapely >= 2.0
DEPS: Dropping support of Python 3.8
1.25.0 (2023-04-04)#
ENH: Add a function simplifying footprints
ENH: Pass the
chunks
keyword toopen_rasterio
in@path_xarr_dst
ENH: Add a wrapper to add deprecation warnings in
logs
OPTIM: Better nodata management in
rasters.write
DEPS: Allow last versions of Dask
DOC: Update README
1.24.4 (2023-03-07)#
OPTIM: Allowing the user to change SNAP tile size with the environment variable
SERTIT_UTILS_SNAP_TILE_SIZE
.OPTIM: Allowing the user to change SNAP max cores with the environment variable
SERTIT_UTILS_MAX_CORES
.DOC: Document the usable environment variables
1.24.3 (2023-01-27)#
DEPS: Fixing deps (xarray is requiered by default)
1.24.2 (2023-01-25)#
FIX: Allowing the users to open
\\DS2\database0x
directories fromci.get_dbx_path
1.24.1 (2023-01-24)#
FIX: fixing infinite values in
ci.assert_raster_almost_equal_magnitude
1.24.0 (2023-01-23)#
ENH: Adding NODATA formalizations in
rasters(_rio)
: function to get the value from a dtype (get_nodata_value
and global variables foruint8
,int8
,uint16
,float
)ENH: Allow to merge rasters with different projections
ENH: Adding a
ci.assert_raster_almost_equal_magnitude
function that checks decimals from the scientific expression of the rasterCI: Don’t run tests when only
__init__
or__meta__
is updatedCI: Move data elsewhere than git
1.23.0 (2023-01-09)#
ENH: Adding
ci.assert_files_equal
function
1.22.0 (2023-01-06)#
ENH: Adding several CI functions:
ci.assert_val
,ci.assert_xr_encoding_attrs
,ci.s3_env
,ci.define_s3_client
ENH: Making public
ci.assert_field
FIX: factorizing some
ci
functions, better logs in other…FIX: Fixing
xml.read
with cloud path as strFIX: Fixing
ci.assert_dir_equal
if folders don’t have files ordrered inside… (for some reason)FIX: Add
distributed
in loggers removed byci.reduce_verbosity
FIX: Use
sertit
LOGGER innetworks
moduleFIX: Manage
CloudPath
infiles.copy
functionDOC: Changing copyright from 2022 to 2023
CI: Better handling of logging display for pytest
1.21.2 (2022-12-14)#
FIX: Better handling of windows in
rasters(_rio).read
FIX: Expose
ci.assert_meta
1.21.1 (2022-12-13)#
FIX: Fix new_shape retrieval when providing a size with height or width equal to the original dimension
DOC: Add latest DOI link
1.21.0 (2022-12-13)#
ENH: Add the possibility to load an image/geo window in
rasters(_rio).read
(#1)
1.20.3 (2022-11-30)#
FIX: Ensure that attributes and encoding are propagated through
rasters
functionsFIX: Allow the user to pass tags in
rasters(_rio).write
1.20.2 (2022-11-29)#
FIX: Add other double extensions to discard in
files.get_filename
FIX: Add the possibility to use other double extensions in
files.get_filename
1.20.1 (2022-11-29)#
FIX: Get proper filename in
files.get_filename
for point-separated names of folder/files
1.20.0 (2022-11-29)#
ENH: Add a
xml.dict_to_xml
functionCI: Updating versions of pre-commit hooks
1.19.6 (2022-11-28)#
FIX: KML reading
vectors.read
has better log ifogr2ogr
isn’t available in user’s PATH.FIX: Added a fallback using geopandas raw rfeading of KML file if
ogr2ogr
isn’t available in user’s PATH.CI: Using actions/checkout@v3
1.19.5 (2022-11-21)#
FIX: Fix
files.to_abspath
new feature…
1.19.4 (2022-11-21)#
FIX: Allow the user to choose if
files.to_abspath
raise a FileNotFoundError if the file doesn’t exist.
1.19.3 (2022-11-21)#
FIX: Force vector conversion to dataset CRS in
rasters(_rio).rasterize
DOC: Add a History page
CI: Correct gitlab-ci file
1.19.2 (2022-10-31)#
FIX: Add predictors for compression in
rasters(_rio).write
: 3 for floating point data, 2 for others. (see https://kokoalberti.com/articles/geotiff-compression-optimization-guide/)CI: Update script versions in GitHub actions
1.19.1 (2022-10-28)#
FIX: Fixing nodata value in
rasters.write
1.19.0 (2022-10-10)#
ENH: Add a
files.get_ext
function to mirrorget_filename
ENH: Add a
vectors.ogr2geojson
function to convert tricky vector files to GeoJSON using OGR fallbacksFIX: Handling GML CRS errors (i.e. with
urn:ogc:def:derivedCRSType
) with some GDAL versions
1.18.3 (2022-10-07)#
FIX: Fixing absolute paths for non-existing files in
rasters(_rio).merge_vrt
(again)
1.18.2 (2022-10-07)#
FIX: Fixing absolute paths for non-existing files in
rasters(_rio).merge_vrt
1.18.1 (2022-10-07)#
FIX: Enabling the option of absolute or relative paths in
rasters(_rio).merge_vrt
FIX: Fix issue with too long command line with
rasters(_rio).merge_vrt
(VRT with too much files)
1.18.0 (2022-09-28)#
ENH: Add a
xml
folder grouping some helpers forlxml.etree
such as:read
read_archive
write
add
remove
update_attrib
update_txt
update_txt_fct
convert_to_xml
df_to_xml
1.17.1 (2022-09-12)#
FIX: Set
BIGTIFF=YES
when needed in memfile (IF_NEEDED
is not sufficient)OPTIM: Reduce memory usage when passing xarrays to
rasters_rio
functions
1.17.0 (2022-09-12)#
FIX: Allow BIGTIFF in memfiles
FIX: Do not import
rasterio
andgeopandas
forci
functions that don’t need itFIX: Fixing pandas FutureWarning
The frame.append method is deprecated and will be removed from pandas in a future version.
DEPS: Drop support of Python 3.7
1.16.1 (2022-08-30)#
FIX: Do not call fiona drivers through geopandas in
vectors.set_kml_driver
1.16.0 (2022-08-26)#
ENH: Adding useful AXA utils functions (
display.scale_to_uint8
andstrings.is_uuid
) #2OTHER: Log stack path when missing index in
rasters.read
1.15.0 (2022-08-24)#
1.14.1(2022-05-11)#
FIX: Manage
nodata
keyword inrasters_rio
1.14.0(2022-04-26)#
ENH: Add
get_archived_path
function infiles
FIX: Add
errno.EINVAL
error infiles.is_writable
DOC: Remove
Use it like OTB SuperImpose
from documentationDOC: Update theme
1.13.2(2022-04-13)#
FIX: Add other loggers to
ci.reduce_verbosity
1.13.1(2022-04-11)#
FIX: Add checks for indexes in
rasters.read
FIX: Fix bug with nodata in
rasters._vectorize
and rasters without nodata set
1.13.0 (2022-03-17)#
ENH: Adding a
reduce_verbosity
function in CICI: Log debug when tests
DOC: Copyright to 2022
DOC: Some updates
1.12.2 (2022-02-24)#
CI: Test code only if files have changed
CI: Publishing wheel from GitHub instead of Gitlab
1.12.1 (2022-02-24)#
OPT: Do not
export_grid_mapping
when usingrioxarray.open_rasterio
FIX:
vectors.shapes_to_gdf
: Fix geometry when converting to geopandasFIX:
rasters_rio.collocate
returns a masked_array if a masked_array is given as inputFIX: Use
--no-binary fiona,rasterio
directly inrequirements.txt
FIX: Remove warnings
CI: Clean
gitlab-ci
REPO: Setting GitHub as the main repository and using new Gitlab runners
1.12.0 (2021-12-07)#
ENH: Adding a
assert_geom_almost_equal
functionFIX: Better logs for CI functions
1.11.1 (2021-12-06)#
FIX: Using
dill
instead ofpickle
as it works on more python types
1.11.0 (2021-12-02)#
ENH: Add
read_archived_file
andread_archived_html
functionsFIX: Fixing ValueError in
rasters_rio.path_or_arr_or_dst_wrapper
(ambiguous test)
1.10.0 (2021-11-26)#
BREAKING CHANGE: Removing
to_np
function (useless)BREAKING CHANGE: Removing useless
dtype
argument from therasqters.sieve
functionFIX: Correcting the
sieving
function that misused nodata valuesFIX: Correcting the
rasters_rio.write
function that modified the array instead of just writing it
1.9.0 (2021-09-28)#
ENH: Adding
slope
andhillshade
functions (to bypassgdaldem
CLI)
1.8.1 (2021-09-22)#
FIX: Handling more cases in
files.is_writable
1.8.0 (2021-09-22)#
ENH: Adding
files.is_writable
function to test if a directory is writable or notDOC: Using readthedocs instead of github docs
1.7.4 (2021-09-14)#
FIX: Fixing python version in environment.yml
FIX: Fixing driver to
GTiff
inrasters.write
CI: Fixing dissolve with shapely < 1.8
1.7.3 (2021-09-08)#
FIX: Checking path existence in
vectors.read
FIX: Repair geometries in
vectorize
FIX: Do not modify in place the input in
merge_vrt
(str
transformed inPath
)CI: Stop writing vector on disk
1.7.2 (2021-09-06)#
FIX: Managing dask arrays with rasterio
sieve
CI: Testing properly
rasters
functions with dask
1.7.1 (2021-09-03)#
ENH: Adding
ArcPyLogHandler
inarcpy
FIX: Updating
init_conda_arcpy_env
CI: Testing
rasters.read
with chunks
1.7.0 (2021-08-30)#
ENH: Adding a function managing
arcpy
environment
1.6.0 (2021-08-26)#
ENH: Enabling Dask and ensure the functions are Dask-compatible
FIX: Fixing typo in
snap.get_gpt_cli
function (tileHeight
)CI: Do not lint on tags
CI: Test with Dask local cluster
1.5.0 (2021-08-18)#
ENH: Making
add_to_zip
work with cloud zipsBREAKING CHANGE:
add_to_zip
outputs the completed pathFIX:
environment.yml
to respect the stricter use offile:
syntax. See here for more information.FIX: Use
numpy>=1.21.2
to avoid a bug inrasterio.merge
withmin
/max
options. See here for more information.CI: Do not run pytests on tags and discard
except
keywords
1.4.8 (2021-07-29)#
ENH: Adding
ci.assert_raster_max_mismatch
allowing a mismatch between two rasters’ pixels
1.4.7 (2021-07-28)#
FIX: Fixing the management of shapefiles on the cloud (caching the .shp and all other files)
FIX:
ci.assert_geom_equal
manages correctly GeoSeriesCI: renaming
build
step tolint
CI: Optimizing the lib installation
1.4.6 (2021-07-19)#
rasters.write
andrasters_rio.write
:Manage correctly BigTiffs with LZW compression
Use the maximum number of available threads to compress
1.4.5 (2021-07-16)#
Fix: clumsy metadata management in
rasters_rio.merge_gtiff
ENH: We can use paths when testing with
ci.assert_geom_equal
1.4.4 (2021-07-13)#
Fix: Fixing a bug when using relative path with a start that is not an exact root
Adding a DOI and a .coveragerc
1.4.3 (2021-07-05)#
Fix: JSON can serialize Pathlib objects
Fix:
vectors.read
forces CRS to WGS84 for KML
1.4.2 (2021-07-02)#
By default, using
BIGTFF=IF_NEEDED
when writing files on diskBug resolution when passing a rasterio dataset info
rasters
functionsBug resolution for pathlib paths with
vectors.read
Type hints updates
1.4.1 (2021-06-29)#
vectors.read
:Manage IO[bytes] and other inputs instead of only path in vectors.read and set KML vectors to WGS84
Manage Null Layer exception
[CI] Updating CI to really test S3 data
1.4.0 (2021-06-28)#
Handling S3 compatible storage data
[vectors] Adding a read function handling KML, GML, archived vectors…
[API break]
files.read_archived_vector
is removed (isevectors.read
instead)[API break] Using pathlib objects instead of str
CI: Updates
1.3.15 (2021-06-16)#
Adding a
display
fileAdding a scaling function in
display
1.3.14.post4 (2021-06-07)#
Managing naive geometries in
vectors.open_gml
1.3.14.post3 (2021-06-07)#
Converting GML GeoDataFrame to the wanted CRS in
vectors.open_gml
1.3.14.post2 (2021-06-07)#
Popping
_FillValue
from xarray attribute (wrongly set there by sth) inrasters_rio.write
1.3.14.post1 (2021-06-03)#
Compressing to
LZW
by default inrasters.write
andrasters_rio.write
1.3.14.post0 (2021-06-02)#
Setting original dtype all the time in
rasters.read
1.3.14 (2021-05-31)#
Add a
as_list
keyword tofiles.get_archived_rio_path()
Add a
vectors.open_gml
overloadinggpd.read_file
for GML vectors in order to avoid exceptions for empty geometries
1.3.13.post1 (2021-05-27)#
Copy the
encoding
dict before setting the nodata
1.3.13.post0 (2021-05-27)#
Correct the original dtype in
rasters.read()
Keep xarray attributes in
rasters.read()
Pass the
encoding
dict inrasters.set_nodata()
1.3.13 (2021-05-26)#
[rasters] Adding the possibility to specify an index
[rasters_rio] Adding the possibility to use all
rio.read()
function arguments[CI] Adding weekly tests with tox for py3.7, py3.8, py3.9 on Linux and Windows
1.3.12 (2021-05-20)#
Using xarray 0.18+ and rioxarray 0.4+
1.3.11.post4 (2021-05-04)#
Fixing bug when array has no nodata in
rasters.to_np
No need to set np.nan in xarray.where (default value)
1.3.11.post3 (2021-05-04)#
Missing
psutil
in setup.py and setting minimum versions
1.3.11.post2 (2021-05-04)#
Correctly manage nodata in
rasters.sieve
Bug correction in
rasters.where
1.3.11.post1 (2021-05-04)#
Bad nodata setting in
rasters.paint
1.3.11 (2021-05-04)#
Adding a function
rasters.paint
to fill a value where stands a polygonSet the nodata after
rasters.mask
Setting
from_disk=True
by default inrasters.crop
Bug correction in
rasters.where
when setting nodata
1.3.10.post2 (2021-04-30)#
Fixing the original dtype management in the
rasters
decorator and in therasters.vectorize
1.3.10 (2021-04-30)#
Fixing the parameter
dissolve
invectorize
function (invalid geometries…)
1.3.9 (2021-04-30)#
Adding a parameter
dissolve
tovectorize
, allowing the user to retrieve a unique polygon
1.3.8 (2021-04-30)#
JSON Encoder converts int32 to int for some system that needs it
rasters.where
: convert type only if needed and output a xarray.DataArray if master_xda is passedAdding a parameter
keep_values
tovectorize
, allowing the user to discard the specified values
1.3.7 (2021-04-29)#
Fixing regression in
rasters_rio.unpackbits
Fixing regression in
ci.assert_raster_almost_equal
and always checking transform to 10-9
1.3.6 (2021-04-29)#
Optimizing
rasters.read
(very slow function, maybe we need to take a look at that)Optimizing
rasters.set_nodata
and inrasters_rio.unpackbits
Other minor optimizations
1.3.5 (2021-04-29)#
Managing exotic dtypes in
rasters.write
Adding a
rasters.where
function preserving metadata and nodataFixing the case with
rasters.set_metadata
withxarray
without CRS
1.3.4 (2021-04-28)#
Setting default nodata according to the dtype in
rasters.write
:uint8: 255
int8: -128
uint16, uint32, int32, int64, uint64: 65535
int16, float32, float64, float128, float: -9999
1.3.3 (2021-04-27)#
[
rasters.read
]Coarsen instead of reprojecting if possible (faster)
Load as float32 if possible
Updates in CI to automatically update documentation on Github on new tags
1.3.2 (2021-04-27)#
Allowing
gpd.GeoDataFrames
incrop
/mask
API break:
rasters_rio.write(array, path, meta)
becomesrasters_rio.write(array, meta, path)
!
1.3.1 (2021-04-27)#
Do not lose attributes when using
rasters.set_nodata
Discard locks when reading
xarrays
(inrasters.read
)
1.3.0 (2021-04-26)#
Going Open Source