Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.5.9] - 2025-04-09
Added
iw-vvandiw-vhshort asset name forsentinel-1-grd.ew-vvandew-vhshort asset name forsentinel-1-grd.
Fixed
cloud_maskasset name in auto masking.
[0.5.8] - 2025-04-08
Added
polarsmethod inzonal_stats.
Fixed
Naming of landsat native cloudmask.
Supports “.” in asset name for asset query.
[0.5.7] - 2025-03-28
Added
datacubedrop duplicated items and keep first item per default.
Changed
deduplicate_itemsrenamed todrop_duplicatesin search, now supports “first” or “last”. Default isFalse(means don’t drop anything).
Fixed
Requirement forces
dask<2025.3.0due to odc-stac wrong import ofquote.Issue when
resamplingand non-native cloudmask in datacube.Issue with
rescalewhen different scale/offset over time.
[0.5.6] - 2025-03-26
Added
platform and python version information to User-Agent headers.
[0.5.5] - 2025-03-11
Fixed
better stability of the deduplicate items algorithm.
rescale dataset now supports same datetime in dataset.
[0.5.4] - 2025-03-10
Added
inicredentials from~/.earthdaily/credentialsnow supports profile.
Changed
filter_duplicate_itemshas a time delta of 60 minutes (due to issues withsentinel-2-l2aduplicates).
[0.5.3] - 2025-02-13
Fixed
preserve_columnsinzonal_stats.
[0.5.2] - 2025-02-13
Added
New default method for duplicates detection using
proj:transforminstead of bbox (huge gap). Change can be done usingfilter_duplicate_items(...,method='bbox').
Fixed
Issues with rescale when same datetime between products.
[0.5.1] - 2025-02-12
Added
deduplicate_itemsfor search in order to avoid several reprocessed items.disable_known_warningearthdaily global option that disables known dependencies warnings.
Fixed
zonal-statssupports even iffloxis not available.
[0.5.0] - 2025-02-11
Added
zonal_statsnow preserves GeoDataFrame columns (preserve_columns=True).
Changed
labelarg has been deprecated fromzonal_stats.zonal_statshas same output betweenxvecandnumpymethod.smart_loadis becominglazy_load(smart_load=Trueislazy_load=False)Required
pystac-client>=0.7.groupby_dateengine is fixed tonumpy. Change is available viaearthdaily.option.set_option('groupby_date_engine','numba')for example.
[0.4.2] - 2025-02-05
Fixed
Parallel search issue when less than 10 days in datetime.
[0.4.1] - 2025-02-05
Fixed
Parallel search issue solved when
n_jobs=-1.
[0.4.0] - 2025-02-03
Added
nativecloudmask is now supported forsentinel-2-c1-l2a.asset_proxyhas been implemented by @imanshafiei540, see https://github.com/earthdaily/earthdaily-python-client/issues/142
Changed
After benchmark, default
chunkssize isdict(x=512,y=512, time=1)and not “auto” for x and y anymore.odc-stacnewest version is now supported (and fix for odc-stac has been submitted).
Fixed
Issue in rescale when several datetime were identical #146.
Bring back the API section for the documentation #140.
[0.3.4] - 2024-12-17
Fixed
odcstac 0.3.9 max versionzonal_stats
wkthas original geometry precision.only
bboxin datacube search is now supported
[0.3.3] - 2024-12-13
Fixed
modeinzonal_statsmissing support for
zonal_statswhen dataset had no time dimension
Changed
xarray accessor classes are now privates to avoid having them in autocomplementation.
[0.3.2] - 2024-12-10
Added
~/.earthdaily/credentialsini file support.
[0.3.1] - 2024-11-22
Fixed
wkt geometries have now the full precision when storing it in zonal stats.
[0.3.0] - 2024-11-19
Added
ed.add_indicesaccessor now supports list of strings and dict for custom indices. For example :['NDVI',{'NDVI2':'(nir-red)/(nir+red)'}].
[0.2.15] - 2024-11-13
Fixed
mask_withlist priority fixed due to new missing items warning.
[0.2.14] - 2024-11-08
Fixed
parallel search import
[0.2.13] - 2024-11-05
Fixed
Manage when several products have same cloudmask
[0.2.12] - 2024-10-31
Added
n_jobsin search, default -1 (or 10).
Fixed
parallel search
latitude and longitude are switched to y,x when EPSG:4326 in CRS.
[0.2.11] - 2024-10-10
Fixed
zonal_statsnow supported for python 3.10.
[0.2.10] - 2024-10-10
Added
Add a retry strategy for the EarthDaily client.
Fixed
bboxfor datacube has been fixed.
[0.2.9] - 2024-09-24
Fixed
prefer_alternateis set by default todownloadin datacube is order to have presigned url.
[0.2.8] - 2024-09-23
Added
buffer_metersis available in thedatacube.ed.zonal_statsfunction.
Fixed
bboxargument in datacube has been restored.
[0.2.7] - 2024-08-29
Changed
intersectsin search now requests the bbox in order to optimize the request. The items
[0.2.6] - 2024-08-29
Fixed
intersectscomputation now uses only the geometry field in order to avoid json parsing error.
[0.2.5] - 2024-08-28
Added
EarthDataStorenow supports a json dict in config.mask_withfrom datacube supports nowautoparameters. It will ask first the cloudmask ML, then is not available the ag_cloudmask, and at last the native one.
Changed
zonal_statssmart_loadis replaced withlazy_loadto be more consistant with other libraries.
[0.2.4] - 2024-08-13
Changed
zonal_statsnow uses homemadenumpymethod.smart_loadis set to default when using accessor. It loads the maximum of time (time dimension) in memory in order to speed up the process. Statistics method (min, max…) must by specified in thereducersargument.default
EDS_API_URLfrom https://api.eds.earthdaily.com/archive/v1/stac/v1 to https://api.earthdaily.com/platform/v1/stac
[0.2.3] - 2024-07-23
Added
New method to connect to earthdatastore via
earthdaily.EarthDataStore()earthdaily.EarthDataStore()method also supports toml/json.command line
copy-earthdaily-credentials-templaterequest_payerboolean inEarthDataStoremethod.
Fixed
sentinel-1-grddatacube wasn’t generated due to a dot in the asset name.
[0.2.2] - 2024-07-03
Changed
Fix odc-stac to version <= 0.3.9 due to error in auto chunks.
[0.2.1] - 2024-06-24
Changed
searchis now parallelized using datetime.
[0.2.0] - 2024-06-19
Added
datacubemask_withparameters supports nowcloud_mask(cnn cloudmask from EDA).
Fixed
items
Datetimeare automatically converted in nanoseconds.AssetMapper is now also in the search part for only requesting the needed assets.
[0.1.7] - 2024-06-14
Fixed
datacube cloud masked when using
groupby_date.
Changed
accessors are now more compatible for dataarray and dataset.
ed.clipaccessor now manages first bounding box then clip geometry to be faster.New whittaker function that is about 20 times faster. Beware, lambda from previous whittaker must be multiplied by 10 000 to have same results.
[0.1.6] - 2024-06-05
Fixed
Better management of mixing several cloud cover a same day to ensure highest clear coverage.
[0.1.5] - 2024-06-05
Fixed
Better management of cloud mask and error messages.
groupby_dateis now performed after processing the cloudmask in order to ensure a better compatibility.
[0.1.4] - 2024-05-23
Fixed
type str/list for
datacubemask_withkwarg.
Added
unit tests for mask.
[0.1.3] - 2024-05-22
Changed
mask_withnow supports list. If so, if the first mask type is not available for a collection, it will switch to the second mask.
[0.1.2] - 2024-05-15
Fixed
Wrong clear_percent/clear_pixels when having multiple geometries in datacube request
[0.1.1] - 2024-05-13
Fixed
propertiesof datacube is now a boolean or a list, not None by default.Missing crs after whittaker.
[0.1.0] - 2024-04-19
Fixed
Scaled/asset when duplicated datetimes.
Chunks asked in datacube are not the same as the output (due du smallest dims).
Autoconverting list/dict coords to string for zarr compatibility
[0.0.17] - 2024-04-15
Fixed
Issue when having different time size between sensor and cloudmask.
[0.0.16] - 2024-04-15
Fixed
Issue with time when resample between datacube and cloudmask datacube.
[0.0.15] - 2024-04-11
Fixed
ag_cloud_mask_itemsqueries items per batch.
[0.0.14] - 2024-04-11
Fixed
GeoSeriessupported in GeometryManager.ed.sel_nearest_datesaccessor avoid duplicated times.Issue when managing multiple indices with accessor
xr.ed.Issue when same datetime when rescaling dataset.
Added
modefor zonal stats inoperations.reducers.
Changed
ag_cloud_mask_itemsqueries items per batch.
Removed
Typing decorator, expected new typing library.
[0.0.13] - 2024-03-06
Fixed
_typerwith kwargs to other functions.
[0.0.12] - 2024-03-06
Added
_typersupports custom types.
Changed
zonal_statsoutputs only valid geometries. SetTrue. toraise_missing_geometryto have the old behavior.zonal_statswith geocube now managesall_touched.
[0.0.11] - 2024-03-06
Fixed
some issues with
_typerfrom accessor.zonal_statsmanages index independently from row.
[0.0.10] - 2024-03-05
Added
ed.whittakeradapted from pywapor github.ed.zonal_statsusing newgeocubezonal_stats engine.
Changed
zonal_statsnow usesgeocubeas default processing method.
Removed
ed.plot_indexdeprecated, useed.plot_bandinstead.
[0.0.9] - 2024-02-29
Fixed
_typerhas a better args management.available_indicesreturns only indices that can be computed.
[0.0.8] - 2024-02-28
Added
better management of
col_wrapinedxarray accessor.
Fixed
some bugs in xarray
edaccessor.
[0.0.7] - 2024-02-28
Added
xarray
edaccessor.
[0.0.6] - 2024-02-23
Fixed
to_wktfor GeometryManager.
Added
Add docstring thanks to @piclem.
Token support thanks to @luisageo6.
[0.0.5] - 2024-02-19
Fixed
groupby_date=Noneis also transferred tomask_with.mask_with="native"also works when no assets is given.clear_coveris greater or equal (and not anymore greater).
Added
propertiesparameters for datacube creation.
[0.0.4] - 2024-01-24
Fixed
collectionsfrom datacube now supports in args.
Changed
Modify dims attributs to sizes for xarray.
[0.0.3] - 2023-12-15
Added
Ability to query assets in the search items.
[0.0.2] - 2023-12-15
Fixed
Missing json due to pypi installation.
Multisensors datacube now support
stackstac.
[0.0.1] - 2023-12-15
Added
Auth datacube
earthdaily.earthdatastore.Auth().datacube(...)function now manages multiple collections.Uses
fieldsto query only assets asked over Skyfox/EDS (better performance).
Changed
asset_mapperhas now all assets from available collections.
[0.0.1-rc9] - 2023-12-12
Added
Optimization (dask-native) for cloudmasks (Sentinel-2, Venus, ag-cloud-mask), except Landsat.
Changed
Default chunks using odc is now
x="auto"andy="auto".geoboxorgeopolygonis used to have a preclipped datacube to the bounding box of the geometry. It enhances performances.
Fixed
Load json config for
Auth.Remove kwargs of
geoboxfor native cloudmask in order to parse newgeobox.
[0.0.1-rc8] - 2023-07-12
Added
Tests for python 3.12.
handle cross calibration (harmonization) using private collection.
Authautomatically to EarhtDataStore after 3600 seconds.Authnow supports presign_urls parameter.load_pivot_corumbain datasets.
Fixed
Perfect dimension compatibility between cloudmask and sensor datacube using
geobox.Force loading native landsat cloudmask because not compatible with dask.
[0.0.1-rc7] - 2023-11-22
Fixed
issue with unlogged datacube and non-geodataframe intersects.
for element84 sentinel-2-l2a collection,
boa_offset_appliedis set to True since 2022-02-28.added
nirband inboa_offset_appliedcontrol.fix percentage in landsat agriculture cloudmask .
[0.0.1-rc6] - 2023-11-10
Fixed
fix bug in
setup.pyusing gh actions.
[0.0.1-rc5] - 2023-11-10
Added
intersectsargument in search/datacube now supports wkt/geojson/geopandas.common_band_namesdefault set to True in datacube creation. It uses the new Assets Mapper in order to define to best suitable bands according to user needs.clear_coverargument in the datacube method when using theearthdatastore.Authmethod.datasets.load_pivot()to load a GeoDataFrame of a pivot in Nebraska (alternates between corn or soy between years).preload_maskin authenticated datacube method set toTrueby default to load, if enough virtual memory.Several tests to check and validate code.
Better performances for cloud mask statistics by checking data type.
Changed
masks statistics are not anymore suffixed with the cloudmask type :
clear_percentandclear_pixels. Warns with a DeprecationWarning.all queries in
post_querymust return True to keep the item. If a key doesn’t exist, considers the result as False (instead of failling).default chunks are now
x=512andy=512for odc-stac.
Fixed
search
post_querydo not block if some properties are not available on all items.some scale/offsets were not supported due to missing scale/offsets from previous assets.
issues when computing datacube using Landsat cloudmask (
qa_pixel).intersectsnow supports several geometries and don’t force selection on the first index.
[0.0.1-rc4] 2023-10-19
Changed
When asking
ag_cloud_mask, keep only sensor items that haveeda:ag_cloud_mask_available=True.
[0.0.1-rc3] 2023-10-18
Added
earthdaily.earthdatastore.cube_utils.zonal_stats_numpyto compute local statistics using numpy functions. Best when high number of geometries.
Changed
zonal_statsdefault parameters rasterizes now whole vector in order to be really faster faster. Previous behavior is available by selectingmethod="standard".
Fixed
Fix when number of
ag_cloud_maskis lower than number of sensor items
[0.0.1-rc2] 2023-10-12
Fixed
Add
statsname as dimension
Changed
zonal_statsoutput “feature” (not “feature_name”) andstatsdimensions
[0.0.1-rc1] 2023-10-12
Added
Automatic presigned url when needed, just specify argument
prefer_alternate="download"in search.zonal_statsfunction available inearthdatastore.cube_utilsmodule.An exemple on how to use
.envcredentials.
Changed
Python version must be at least 3.10.
Gdal version must be at least 3.7.0.
A better documentation.
[0.0.1-beta] 2023-09-20
Added
First public release under the name of earthdaily.
module earthdatastore gathers all cube fonctions.
earthdatastore.Auth() allows methods for search and datacube creation.
Add if missing default scale/offset factor to collection (landsat-c2l2-sr, landsat-c2l2-st, landsat-c2l1).