@@ -3,6 +3,261 @@ Migration guide
33
44Full changelog available in `Release history <changelog.html >`_.
55
6+ v4.0.0b1
7+ ++++++++
8+
9+ STAC-Formatted API and Results
10+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11+
12+ Migration from `OGC OpenSearch Extension for Earth Observation <https://docs.ogc.org/is/13-026r9/13-026r9.html >`_
13+ to `SpatioTemporal Asset Catalog (STAC) <https://github.com/radiantearth/stac-spec >`_ for data representation.
14+
15+ This impacts both the API and CLI.
16+
17+ Renamed properties
18+ ^^^^^^^^^^^^^^^^^^
19+
20+ The list starts with common STAC properties, then lists STAC extensions properties, and finally EODAG-specific
21+ properties.
22+
23+ .. list-table ::
24+ :header-rows: 1
25+
26+ * - v3.x.x property
27+ - v4.x.x property
28+ * - ``productType ``
29+ - ``collection ``
30+ * - ``startTimeFromAscendingNode ``
31+ - ``start_datetime ``
32+ * - ``completionTimeFromAscendingNode ``
33+ - ``end_datetime ``
34+ * - ``abstract ``
35+ - ``description ``
36+ * - ``accessConstraint ``
37+ - ``license ``
38+ * - ``keyword ``
39+ - ``keywords ``
40+ * - ``creationDate ``
41+ - ``created ``
42+ * - ``modificationDate ``
43+ - ``updated ``
44+ * - ``organisationName ``
45+ - ``providers: [{"roles": ["producer"]}] ``
46+ * - ``platform ``
47+ - ``constellation ``
48+ * - ``platformSerialIdentifier ``
49+ - ``platform ``
50+ * - ``instrument ``
51+ - ``instruments[] ``
52+ * - ``resolution ``
53+ - ``gsd ``
54+ * - ``cloudCover ``
55+ - ``eo:cloud_cover ``
56+ * - ``snowCover ``
57+ - ``eo:snow_cover ``
58+ * - ``tileIdentifier ``
59+ - ``grid:code ``
60+ * - ``gridSquare ``
61+ - ``mgrs:grid_square ``
62+ * - ``latitudeBand ``
63+ - ``mgrs:latitude_band ``
64+ * - ``utmZone ``
65+ - ``mgrs:utm_zone ``
66+ * - ``storageStatus ``
67+ - ``order:status ``
68+ * - ``processingLevel ``
69+ - ``processing:level ``
70+ * - ``acquisitionType ``
71+ - ``product:acquisition_type ``
72+ * - ``productType ``
73+ - ``product:type `` or ``collection ``
74+ * - ``timeliness ``
75+ - ``product:timeliness ``
76+ * - ``dopplerFrequency ``
77+ - ``sar:frequency_band ``
78+ * - ``polarisationChannels `` or ``polarizationChannels ``
79+ - ``sar:polarizations[] ``
80+ * - ``sensorMode ``
81+ - ``sar:instrument_mode ``
82+ * - ``swathIdentifier ``
83+ - ``sar:instrument_mode `` or ``sar:beam_ids[] (geodes) ``
84+ * - ``cycleNumber ``
85+ - ``sat:orbit_cycle ``
86+ * - ``orbitDirection ``
87+ - ``sat:orbit_state ``
88+ * - ``orbitNumber ``
89+ - ``sat:absolute_orbit ``
90+ * - ``relativeOrbitNumber ``
91+ - ``sat:relative_orbit ``
92+ * - ``doi ``
93+ - ``sci:doi ``
94+ * - ``illuminationAzimuthAngle ``
95+ - ``view:sun_azimuth ``
96+ * - ``illuminationElevationAngle ``
97+ - ``view:sun_elevation ``
98+ * - ``illuminationZenithAngle ``
99+ - ``view:incidence_angle ``
100+ * - ``productVersion ``
101+ - ``version ``
102+ * - ``defaultGeometry ``
103+ - ``eodag:default_geometry ``
104+ * - ``downloadLink ``
105+ - ``eodag:download_link ``
106+ * - ``mtdDownloadLink ``
107+ - ``eodag:mtd_download_link ``
108+ * - ``sensorType ``
109+ - ``eodag:sensor_type ``
110+ * - ``quicklook ``
111+ - ``eodag:quicklook ``
112+ * - ``thumbnail ``
113+ - ``eodag:thumbnail ``
114+ * - ``combinedOrderId ``
115+ - ``eodag:combined_order_id ``
116+ * - ``downloadId ``
117+ - ``eodag:download_id ``
118+ * - ``message ``
119+ - ``eodag:order_message ``
120+ * - ``orderId ``
121+ - ``eodag:order_id ``
122+ * - ``orderStatus ``
123+ - ``eodag:order_status ``
124+ * - ``orderStatusLink ``
125+ - ``eodag:status_link ``
126+ * - ``percent ``
127+ - ``eodag:percent ``
128+ * - ``productInfo ``
129+ - ``eodag:product_info ``
130+ * - ``productPath ``
131+ - ``eodag:product_path ``
132+ * - ``requestParams ``
133+ - ``eodag:request_params ``
134+ * - ``searchLink ``
135+ - ``eodag:search_link ``
136+ * - ``tilePath ``
137+ - ``eodag:tile_path ``
138+ * - ``providerProductType ``
139+ - ``_collection `` or ``provider_collection ``
140+
141+ Python API updates
142+ ^^^^^^^^^^^^^^^^^^
143+
144+ All product-types related classes and methods have been renamed with collections.
145+
146+ .. list-table ::
147+ :header-rows: 1
148+
149+ * - v3.x.x Python API
150+ - v4.x.x Python API
151+ * - ``EODataAccessGateway.available_providers(product_type=None, ...) ``
152+ - :meth: `~eodag.api.core.EODataAccessGateway.available_providers ` ``(collection=None, ...) ``
153+ * - ``EODataAccessGateway.discover_product_types() ``
154+ - :meth: `~eodag.api.core.EODataAccessGateway.discover_collections `
155+ * - ``EODataAccessGateway.fetch_product_types_list() ``
156+ - :meth: `~eodag.api.core.EODataAccessGateway.fetch_collections_list `
157+ * - ``EODataAccessGateway.guess_product_type() ``
158+ - :meth: `~eodag.api.core.EODataAccessGateway.guess_collection `
159+ * - ``EODataAccessGateway.list_product_types() ``
160+ - :meth: `~eodag.api.core.EODataAccessGateway.list_collections `
161+ * - ``EODataAccessGateway.update_product_types_list() ``
162+ - :meth: `~eodag.api.core.EODataAccessGateway.update_collections_list `
163+ * - ``EOProduct.product_type ``
164+ - :attr: `~eodag.api.product._product.EOProduct.collection `
165+
166+ CLI updates
167+ ^^^^^^^^^^^
168+
169+ Check latest `CLI User Guide <cli_user_guide.rst >`_ for complete guidelines.
170+
171+ .. list-table ::
172+ :header-rows: 1
173+
174+ * - v3.x.x Command and options
175+ - v4.x.x Command and options
176+ * - ``eodag search -p, --productType TEXT ``
177+ - ``eodag search -c, --collection TEXT ``
178+ * - ``eodag search --query provider=TEXT ``
179+ - ``eodag search -p, --provider TEXT ``
180+ * - ``eodag search -i, --instrument TEXT ``
181+ - ``eodag search --instruments TEXT ``
182+ * - ``eodag search -P, --platform TEXT ``
183+ - ``eodag search --constellation TEXT ``
184+ * - ``eodag search -t, --platformSerialIdentifier TEXT ``
185+ - ``eodag search --platform TEXT ``
186+ * - ``eodag search -c, --cloudCover INTEGER RANGE ``
187+ - ``eodag search --cloud-cover INTEGER RANGE ``
188+ * - ``eodag search -L, --processingLevel TEXT ``
189+ - ``eodag search --processing-level TEXT ``
190+ * - ``eodag search -S, --sensorType TEXT ``
191+ - ``eodag search --sensor-type TEXT ``
192+ * - ``eodag list -i, --instrument TEXT ``
193+ - ``eodag list --instruments TEXT ``
194+ * - ``eodag list -P, --platform TEXT ``
195+ - ``eodag list --constellation TEXT ``
196+ * - ``eodag list -t, --platformSerialIdentifier TEXT ``
197+ - ``eodag list --platform TEXT ``
198+ * - ``eodag list -L, --processingLevel TEXT ``
199+ - ``eodag list --processing-level TEXT ``
200+ * - ``eodag list -S, --sensorType TEXT ``
201+ - ``eodag list --sensor-type TEXT ``
202+
203+
204+ Environment variables renamed
205+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
206+
207+ Check updated list of environment variables in `Getting started / Configure EODAG / environment variables
208+ <getting_started_guide/configuration.html#core-configuration-using-environment-variables> `_.
209+
210+ .. list-table ::
211+ :header-rows: 1
212+
213+ * - v3.x.x environment variable
214+ - v4.x.x environment variable
215+ * - ``EODAG_PRODUCT_TYPES_CFG_FILE ``
216+ - ``EODAG_COLLECTIONS_CFG_FILE ``
217+ * - ``EODAG_EXT_PRODUCT_TYPES_CFG_FILE ``
218+ - ``EODAG_EXT_COLLECTIONS_CFG_FILE ``
219+ * - ``EODAG_STRICT_PRODUCT_TYPES ``
220+ - ``EODAG_STRICT_COLLECTIONS ``
221+
222+ Files renamed
223+ ^^^^^^^^^^^^^
224+
225+ .. list-table ::
226+ :header-rows: 1
227+
228+ * - v3.x.x file path
229+ - v4.x.x file path
230+ * - ``docs/_static/product_types_information.csv ``
231+ - ``docs/_static/collections_information.csv ``
232+ * - ``docs/_static/eodag_fetch_product_types.png ``
233+ - ``docs/_static/eodag_fetch_collections.png ``
234+ * - ``docs/add_product_type.rst ``
235+ - ``docs/add_collection.rst ``
236+ * - ``docs/getting_started_guide/product_types.rst ``
237+ - ``docs/getting_started_guide/collections.rst ``
238+ * - ``eodag/resources/product_types.yml ``
239+ - ``eodag/resources/collections.yml ``
240+ * - ``eodag/resources/ext_product_types.json ``
241+ - ``eodag/resources/ext_collections.json ``
242+ * - ``tests/resources/ext_product_types.json ``
243+ - ``tests/resources/ext_collections.json ``
244+ * - ``tests/resources/ext_product_types_free_text_search.json ``
245+ - ``tests/resources/ext_collections_free_text_search.json ``
246+ * - ``tests/resources/file_product_types_modes.yml ``
247+ - ``tests/resources/file_collections_modes.yml ``
248+ * - ``tests/resources/file_product_types_override.yml ``
249+ - ``tests/resources/file_collections_override.yml ``
250+ * - ``tests/resources/stac/product_type_queryables.json ``
251+ - ``tests/resources/stac/collection_queryables.json ``
252+ * - ``utils/product_types_information_to_csv.py ``
253+ - ``utils/collections_information_to_csv.py ``
254+
255+ External collections reference configuration file is now hosted as
256+ `https://cs-si.github.io/eodag/eodag/resources/ext_collections.json
257+ <https://cs-si.github.io/eodag/eodag/resources/ext_collections.jsons> `_. See `API user guide / Providers and products
258+ / Collections discovery <notebooks/api_user_guide/1_providers_products_available.ipynb#Collections-discovery> `_ for more
259+ information.
260+
6261v3.0.0b3
7262++++++++
8263
0 commit comments