Skip to content

Conversation

sbrunato
Copy link
Collaborator

@sbrunato sbrunato commented Jul 10, 2025

Resolves #1167

Properties

old new
productType collection
providerProductType _collection or provider_collection
... ...

Files renamed

*product_type* to *collection*:

docs/_static/product_types_information.csv to docs/_static/collections_information.csv
docs/_static/eodag_fetch_product_types.png to docs/_static/eodag_fetch_collections.png
docs/add_product_type.rst to docs/add_collection.rst
docs/getting_started_guide/product_types.rst to docs/getting_started_guide/collections.rst
eodag/resources/product_types.yml to eodag/resources/collections.yml
eodag/resources/ext_product_types.json to eodag/resources/ext_collections.json
tests/resources/ext_product_types.json to tests/resources/ext_collections.json
tests/resources/ext_product_types_free_text_search.json to tests/resources/ext_collections_free_text_search.json
tests/resources/file_product_types_modes.yml to tests/resources/file_collections_modes.yml
tests/resources/file_product_types_override.yml to tests/resources/file_collections_override.yml
tests/resources/stac/product_type_queryables.json to tests/resources/stac/collection_queryables.json
utils/product_types_information_to_csv.py to utils/collections_information_to_csv.py

@sbrunato sbrunato marked this pull request as draft July 10, 2025 16:19
@sbrunato sbrunato force-pushed the 1167-stac-metadata branch from ea30595 to 4eb477f Compare July 10, 2025 16:20
@eodag-bot
Copy link
Collaborator

eodag-bot commented Jul 10, 2025

badge

Code Coverage (Ubuntu)

Filename                                     Stmts    Miss  Cover    Missing
-----------------------------------------  -------  ------  -------  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__init__.py                                      8       0  100.00%
cli.py                                         243      10  95.88%   102-113, 630
config.py                                      451      32  92.90%   81-83, 92, 100, 104-106, 177, 188, 205-206, 727-729, 853-856, 900-901, 910-911, 945, 1025, 1046, 1054, 1084-1089, 1091
crunch.py                                        5       5  0.00%    20-24
api/__init__.py                                  0       0  100.00%
api/core.py                                    779      48  93.84%   335, 602, 633, 675-678, 716, 760, 794, 839-844, 868, 954, 1287, 1329, 1363-1374, 1478-1481, 1518-1538, 1607-1612, 1624-1627, 1908, 2146, 2209-2210, 2239-2240
api/search_result.py                           126      12  90.48%   87, 96, 103, 117, 282, 287-288, 322, 336, 359-360, 366
api/product/__init__.py                         18       2  88.89%   60, 62
api/product/_assets.py                          52       5  90.38%   97, 183, 191, 194-198
api/product/_product.py                        216      19  91.20%   72-74, 253-254, 360, 387, 488, 506, 530-533, 542-545, 600-603
api/product/metadata_mapping.py                759      50  93.41%   124-126, 215-220, 240, 295-296, 403, 455-456, 493, 514-517, 540, 552-553, 590, 619-624, 683-688, 700, 708, 940, 1097, 1106-1110, 1127-1132, 1265, 1288, 1297, 1319, 1324, 1376, 1448, 1490, 1504, 1529, 1575, 1644, 1716
api/product/drivers/__init__.py                 20       2  90.00%   33-36
api/product/drivers/base.py                     25       0  100.00%
api/product/drivers/generic.py                   7       0  100.00%
api/product/drivers/sentinel1.py                15       0  100.00%
api/product/drivers/sentinel2.py                15       0  100.00%
plugins/__init__.py                              0       0  100.00%
plugins/base.py                                 22       4  81.82%   48, 55, 68-69
plugins/manager.py                             173      18  89.60%   105-110, 145-150, 154, 192, 214, 242, 281-282, 382-385, 397-398
plugins/apis/__init__.py                         0       0  100.00%
plugins/apis/base.py                             4       0  100.00%
plugins/apis/ecmwf.py                           98      10  89.80%   166-168, 215-216, 242-244, 297-298
plugins/apis/usgs.py                           181      26  85.64%   155, 261, 295, 330-332, 337, 365-366, 371, 401-408, 419-424, 446-452, 483
plugins/authentication/__init__.py               6       1  83.33%   31
plugins/authentication/aws_auth.py             112      32  71.43%   50-52, 67-68, 140-147, 175-201, 224, 256-260, 277
plugins/authentication/base.py                  19       3  84.21%   44, 57, 80
plugins/authentication/generic.py               16       3  81.25%   50, 55, 65
plugins/authentication/header.py                19       0  100.00%
plugins/authentication/keycloak.py              46       7  84.78%   153-156, 177-182
plugins/authentication/openid_connect.py       232      28  87.93%   91-92, 104-122, 169, 175-203, 211, 350-353, 379, 420
plugins/authentication/qsauth.py                34       1  97.06%   91
plugins/authentication/sas_auth.py              53       3  94.34%   67, 88, 134
plugins/authentication/token.py                128       9  92.97%   180, 217, 289-290, 340-344
plugins/authentication/token_exchange.py        36      14  61.11%   75, 93-121
plugins/crunch/__init__.py                       0       0  100.00%
plugins/crunch/base.py                          10       1  90.00%   43
plugins/crunch/filter_date.py                   59      14  76.27%   52-57, 69, 78, 87, 90, 100-102, 109-111, 118
plugins/crunch/filter_latest_intersect.py       47      33  29.79%   49-54, 67-112
plugins/crunch/filter_latest_tpl_name.py        31      20  35.48%   46-54, 64-95
plugins/crunch/filter_overlap.py                66      27  59.09%   28-30, 66-69, 76-79, 85, 89, 93, 104-120, 135-161
plugins/crunch/filter_property.py               30       5  83.33%   55-60, 63-64
plugins/download/__init__.py                     0       0  100.00%
plugins/download/aws.py                        378      70  81.48%   266, 300, 338-341, 361-365, 460-462, 466, 497-498, 504-508, 539, 604-612, 676-769, 780-785, 823, 849, 894-896, 1116
plugins/download/base.py                       260      35  86.54%   129, 158, 305-306, 364-365, 407, 411-422, 436, 504-508, 538-539, 564-572, 574-578, 628, 649, 671, 679
plugins/download/creodias_s3.py                 10       0  100.00%
plugins/download/http.py                       545      77  85.87%   237, 279-282, 344-347, 350, 357-362, 393-395, 412, 427, 481, 512, 526, 540, 548-552, 568-573, 584, 602, 638-641, 662, 672, 679, 699, 834, 866, 896-905, 941, 966-967, 986-991, 1000, 1015-1017, 1021, 1024, 1039-1040, 1116-1117, 1121, 1173, 1219-1220, 1226, 1236, 1262, 1297, 1317, 1354-1356
plugins/search/__init__.py                      22       0  100.00%
plugins/search/base.py                         175      17  90.29%   105, 109, 133-139, 196-199, 292, 313, 455, 477-480, 489
plugins/search/build_search_result.py          481      64  86.69%   246-247, 283, 286, 311, 314, 345-347, 558-569, 692, 694, 755, 762, 786, 823, 874, 890, 924-939, 987, 1012, 1015, 1019, 1140-1141, 1150-1159, 1223, 1238, 1244, 1263-1272, 1389-1390, 1431, 1434, 1443-1445, 1502, 1548
plugins/search/cop_marine.py                   252      47  81.35%   56, 64-66, 76-77, 82, 87-88, 104, 106, 109, 175-176, 232, 238, 242, 246, 257, 268-269, 277, 307, 311, 332, 336, 340, 344, 348-352, 358-361, 364-378, 395, 444-448, 453, 465
plugins/search/creodias_s3.py                   29       1  96.55%   59
plugins/search/csw.py                          105      81  22.86%   98-99, 103-104, 112-160, 166-179, 187-219, 237-278
plugins/search/qssearch.py                     722      78  89.20%   411-412, 551-552, 564-568, 625-641, 758-761, 896, 903, 915, 972, 993, 996-997, 1006-1007, 1016-1017, 1026-1027, 1054, 1106, 1189, 1212, 1285-1286, 1292, 1382, 1477-1481, 1547, 1550, 1556-1557, 1578, 1606-1618, 1625, 1657-1659, 1669-1675, 1705, 1728, 1733-1734, 1749, 1765, 1837, 1849, 1853, 1864, 1887-1892, 1901, 1909-1919, 1954-1958
plugins/search/stac_list_assets.py              25      10  60.00%   44-51, 75-85
plugins/search/static_stac_search.py            79      14  82.28%   100-126, 170, 183, 227
types/__init__.py                              161      41  74.53%   67, 80-84, 95-107, 135-137, 144-149, 214, 252, 262-278, 283, 285, 307, 312, 320, 330
types/bbox.py                                   43      19  55.81%   46-61, 72-74, 85-87, 99-101, 113-115, 123
types/download_args.py                           9       0  100.00%
types/queryables.py                             81       0  100.00%
types/search_args.py                            70      18  74.29%   60-64, 71-88, 103
utils/__init__.py                              571      60  89.49%   69, 158-180, 193-194, 203-229, 232, 247, 327-331, 406-410, 490, 530-531, 560, 935-938, 946-947, 954-956, 987, 1006-1007, 1036, 1054-1055, 1195, 1359, 1448, 1463, 1472, 1484, 1644
utils/cache.py                                  22       0  100.00%
utils/dates.py                                  57       4  92.98%   63-65, 138
utils/env.py                                     3       0  100.00%
utils/exceptions.py                             47       0  100.00%
utils/free_text_search.py                       65       2  96.92%   83, 91
utils/import_system.py                          28      19  32.14%   64-78, 89-99
utils/logging.py                                28       1  96.43%   41
utils/notebook.py                               44      23  47.73%   25-29, 36-41, 58-62, 72-78, 83-87
utils/repr.py                                   38       7  81.58%   51, 53, 98, 122-129
utils/requests.py                               55      29  47.27%   51-52, 64, 85-96, 107-124, 128
utils/s3.py                                    240      12  95.00%   200-203, 245, 263, 489, 537-538, 585, 660, 686
utils/stac_reader.py                           113      44  61.06%   63-85, 95-97, 101, 138, 154-159, 206-216, 226-256
TOTAL                                         8919    1217  86.35%

Diff against develop

Filename                                     Stmts    Miss  Cover
-----------------------------------------  -------  ------  --------
cli.py                                         -91     -58  +16.24%
config.py                                       -2      +2  -0.48%
api/core.py                                     -9      +1  -0.20%
api/product/__init__.py                          0      +1  -5.55%
api/product/_product.py                         +3       0  +0.12%
api/product/metadata_mapping.py                -17      +6  -0.92%
api/product/drivers/base.py                     -4      -1  +3.45%
plugins/base.py                                  0      +2  -9.09%
plugins/manager.py                               0      -1  +0.58%
plugins/apis/ecmwf.py                           +1       0  +0.11%
plugins/apis/usgs.py                            +1       0  +0.08%
plugins/crunch/filter_latest_intersect.py        0     +25  -53.19%
plugins/crunch/filter_latest_tpl_name.py         0     +19  -61.29%
plugins/crunch/filter_overlap.py                 0      +9  -13.64%
plugins/search/base.py                          +5      +3  -1.47%
plugins/search/build_search_result.py           +1      +8  -1.64%
plugins/search/cop_marine.py                    -2       0  -0.15%
plugins/search/qssearch.py                      -3      +9  -1.28%
plugins/search/static_stac_search.py             0      +1  -1.26%
types/__init__.py                                0      +1  -0.63%
types/queryables.py                            -30       0  +100.00%
utils/__init__.py                               +7     +20  -3.42%
utils/repr.py                                    0      -1  +2.63%
TOTAL                                         -140     +46  -0.26%

Results for commit: cf0846f

Minimum allowed coverage is 70%

♻️ This comment has been updated with latest results

Copy link
Contributor

github-actions bot commented Jul 10, 2025

Test Results

    4 files  ±0      4 suites  ±0   3m 37s ⏱️ +12s
  601 tests +2    600 ✅ +2  1 💤 ±0  0 ❌ ±0 
2 404 runs  +8  2 398 ✅ +8  6 💤 ±0  0 ❌ ±0 

Results for commit cf0846f. ± Comparison against base commit 5a28f38.

♻️ This comment has been updated with latest results.

@sbrunato sbrunato force-pushed the 1167-stac-metadata branch from 4eb477f to 6a0a45b Compare August 21, 2025 12:53
@sbrunato sbrunato force-pushed the 1167-stac-metadata branch 3 times, most recently from 6abf5dd to 66521bc Compare September 11, 2025 15:55
@sbrunato sbrunato force-pushed the 1167-stac-metadata branch 2 times, most recently from bbcd35f to 955efaf Compare September 22, 2025 07:58
@sbrunato sbrunato changed the base branch from develop to v4 October 5, 2025 15:22
@sbrunato sbrunato force-pushed the 1167-stac-metadata branch from 4044561 to 2bf735e Compare October 7, 2025 07:17
@eodag-bot
Copy link
Collaborator

eodag-bot commented Oct 7, 2025

badge

Code Coverage (Windows)

Filename                                     Stmts    Miss  Cover    Missing
-----------------------------------------  -------  ------  -------  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__init__.py                                      8       0  100.00%
cli.py                                         243      10  95.88%   102-113, 630
config.py                                      451      32  92.90%   81-83, 92, 100, 104-106, 177, 188, 205-206, 727-729, 853-856, 900-901, 910-911, 945, 1025, 1046, 1054, 1084-1089, 1091
crunch.py                                        5       5  0.00%    20-24
api/__init__.py                                  0       0  100.00%
api/core.py                                    779      48  93.84%   335, 602, 633, 675-678, 716, 760, 794, 839-844, 868, 954, 1287, 1329, 1363-1374, 1478-1481, 1518-1538, 1607-1612, 1624-1627, 1908, 2146, 2209-2210, 2239-2240
api/search_result.py                           126      12  90.48%   87, 96, 103, 117, 282, 287-288, 322, 336, 359-360, 366
api/product/__init__.py                         18       2  88.89%   60, 62
api/product/_assets.py                          52       5  90.38%   97, 183, 191, 194-198
api/product/_product.py                        216      19  91.20%   72-74, 253-254, 360, 387, 488, 506, 530-533, 542-545, 600-603
api/product/metadata_mapping.py                759      50  93.41%   124-126, 215-220, 240, 295-296, 403, 455-456, 493, 514-517, 540, 552-553, 590, 619-624, 683-688, 700, 708, 940, 1097, 1106-1110, 1127-1132, 1265, 1288, 1297, 1319, 1324, 1376, 1448, 1490, 1504, 1529, 1575, 1644, 1716
api/product/drivers/__init__.py                 20       2  90.00%   33-36
api/product/drivers/base.py                     25       0  100.00%
api/product/drivers/generic.py                   7       0  100.00%
api/product/drivers/sentinel1.py                15       0  100.00%
api/product/drivers/sentinel2.py                15       0  100.00%
plugins/__init__.py                              0       0  100.00%
plugins/base.py                                 22       4  81.82%   48, 55, 68-69
plugins/manager.py                             173      18  89.60%   105-110, 145-150, 154, 192, 214, 242, 281-282, 382-385, 397-398
plugins/apis/__init__.py                         0       0  100.00%
plugins/apis/base.py                             4       0  100.00%
plugins/apis/ecmwf.py                           98      10  89.80%   166-168, 215-216, 242-244, 297-298
plugins/apis/usgs.py                           181      26  85.64%   155, 261, 295, 330-332, 337, 365-366, 371, 401-408, 419-424, 446-452, 483
plugins/authentication/__init__.py               6       1  83.33%   31
plugins/authentication/aws_auth.py             112      32  71.43%   50-52, 67-68, 140-147, 175-201, 224, 256-260, 277
plugins/authentication/base.py                  19       3  84.21%   44, 57, 80
plugins/authentication/generic.py               16       3  81.25%   50, 55, 65
plugins/authentication/header.py                19       0  100.00%
plugins/authentication/keycloak.py              46       7  84.78%   153-156, 177-182
plugins/authentication/openid_connect.py       232      28  87.93%   91-92, 104-122, 169, 175-203, 211, 350-353, 379, 420
plugins/authentication/qsauth.py                34       1  97.06%   91
plugins/authentication/sas_auth.py              53       3  94.34%   67, 88, 134
plugins/authentication/token.py                128       9  92.97%   180, 217, 289-290, 340-344
plugins/authentication/token_exchange.py        36      14  61.11%   75, 93-121
plugins/crunch/__init__.py                       0       0  100.00%
plugins/crunch/base.py                          10       1  90.00%   43
plugins/crunch/filter_date.py                   59      14  76.27%   52-57, 69, 78, 87, 90, 100-102, 109-111, 118
plugins/crunch/filter_latest_intersect.py       47      33  29.79%   49-54, 67-112
plugins/crunch/filter_latest_tpl_name.py        31      20  35.48%   46-54, 64-95
plugins/crunch/filter_overlap.py                66      27  59.09%   28-30, 66-69, 76-79, 85, 89, 93, 104-120, 135-161
plugins/crunch/filter_property.py               30       5  83.33%   55-60, 63-64
plugins/download/__init__.py                     0       0  100.00%
plugins/download/aws.py                        378      70  81.48%   266, 300, 338-341, 361-365, 460-462, 466, 497-498, 504-508, 539, 604-612, 676-769, 780-785, 823, 849, 894-896, 1116
plugins/download/base.py                       260      37  85.77%   129, 158, 225-227, 305-306, 364-365, 407, 411-422, 436, 504-508, 538-539, 564-572, 574-578, 628, 649, 671, 679
plugins/download/creodias_s3.py                 10       0  100.00%
plugins/download/http.py                       545      77  85.87%   237, 279-282, 344-347, 350, 357-362, 393-395, 412, 427, 481, 512, 526, 540, 548-552, 568-573, 584, 602, 638-641, 662, 672, 679, 699, 834, 866, 896-905, 941, 966-967, 986-991, 1000, 1015-1017, 1021, 1024, 1039-1040, 1116-1117, 1121, 1173, 1219-1220, 1226, 1236, 1262, 1297, 1317, 1354-1356
plugins/search/__init__.py                      22       0  100.00%
plugins/search/base.py                         175      17  90.29%   105, 109, 133-139, 196-199, 292, 313, 455, 477-480, 489
plugins/search/build_search_result.py          481      64  86.69%   246-247, 283, 286, 311, 314, 345-347, 558-569, 692, 694, 755, 762, 786, 823, 874, 890, 924-939, 987, 1012, 1015, 1019, 1140-1141, 1150-1159, 1223, 1238, 1244, 1263-1272, 1389-1390, 1431, 1434, 1443-1445, 1502, 1548
plugins/search/cop_marine.py                   252      47  81.35%   56, 64-66, 76-77, 82, 87-88, 104, 106, 109, 175-176, 232, 238, 242, 246, 257, 268-269, 277, 307, 311, 332, 336, 340, 344, 348-352, 358-361, 364-378, 395, 444-448, 453, 465
plugins/search/creodias_s3.py                   29       1  96.55%   59
plugins/search/csw.py                          105      81  22.86%   98-99, 103-104, 112-160, 166-179, 187-219, 237-278
plugins/search/qssearch.py                     722      78  89.20%   411-412, 551-552, 564-568, 625-641, 758-761, 896, 903, 915, 972, 993, 996-997, 1006-1007, 1016-1017, 1026-1027, 1054, 1106, 1189, 1212, 1285-1286, 1292, 1382, 1477-1481, 1547, 1550, 1556-1557, 1578, 1606-1618, 1625, 1657-1659, 1669-1675, 1705, 1728, 1733-1734, 1749, 1765, 1837, 1849, 1853, 1864, 1887-1892, 1901, 1909-1919, 1954-1958
plugins/search/stac_list_assets.py              25      10  60.00%   44-51, 75-85
plugins/search/static_stac_search.py            79      14  82.28%   100-126, 170, 183, 227
types/__init__.py                              161      41  74.53%   67, 80-84, 95-107, 135-137, 144-149, 214, 252, 262-278, 283, 285, 307, 312, 320, 330
types/bbox.py                                   43      19  55.81%   46-61, 72-74, 85-87, 99-101, 113-115, 123
types/download_args.py                           9       0  100.00%
types/queryables.py                             81       0  100.00%
types/search_args.py                            70      18  74.29%   60-64, 71-88, 103
utils/__init__.py                              571      60  89.49%   69, 158-180, 193-194, 203-229, 232, 247, 327-331, 406-410, 490, 530-531, 560, 935-938, 946-947, 954-956, 987, 1006-1007, 1036, 1054-1055, 1195, 1359, 1448, 1463, 1472, 1484, 1644
utils/cache.py                                  22       0  100.00%
utils/dates.py                                  57       4  92.98%   63-65, 138
utils/env.py                                     3       0  100.00%
utils/exceptions.py                             47       0  100.00%
utils/free_text_search.py                       65       2  96.92%   83, 91
utils/import_system.py                          28      19  32.14%   64-78, 89-99
utils/logging.py                                28       1  96.43%   41
utils/notebook.py                               44      23  47.73%   25-29, 36-41, 58-62, 72-78, 83-87
utils/repr.py                                   38       7  81.58%   51, 53, 98, 122-129
utils/requests.py                               55      29  47.27%   51-52, 64, 85-96, 107-124, 128
utils/s3.py                                    240      12  95.00%   200-203, 245, 263, 489, 537-538, 585, 660, 686
utils/stac_reader.py                           113      44  61.06%   63-85, 95-97, 101, 138, 154-159, 206-216, 226-256
TOTAL                                         8919    1219  86.33%

Diff against develop

Filename                                    Stmts    Miss  Cover
----------------------------------------  -------  ------  --------
cli.py                                        -91     -58  +16.24%
config.py                                      -2      +1  -0.26%
api/core.py                                    -9      +1  -0.20%
api/product/__init__.py                         0      +1  -5.55%
api/product/_product.py                        +3       0  +0.12%
api/product/metadata_mapping.py               -17      +6  -0.92%
api/product/drivers/base.py                    -4      -1  +3.45%
plugins/manager.py                              0      -1  +0.58%
plugins/apis/ecmwf.py                          +1       0  +0.11%
plugins/apis/usgs.py                           +1       0  +0.08%
plugins/crunch/filter_latest_tpl_name.py        0     +19  -61.29%
plugins/crunch/filter_overlap.py                0      +9  -13.64%
plugins/search/base.py                         +5      +3  -1.47%
plugins/search/build_search_result.py          +1      +1  -0.19%
plugins/search/cop_marine.py                   -2       0  -0.15%
plugins/search/qssearch.py                     -3      -3  +0.37%
plugins/search/static_stac_search.py            0      +1  -1.26%
types/queryables.py                           -30       0  +100.00%
utils/__init__.py                              +7     +20  -3.42%
utils/repr.py                                   0      -1  +2.63%
TOTAL                                        -140      -2  +3.63%

Results for commit: cf0846f

Minimum allowed coverage is 70%

♻️ This comment has been updated with latest results

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

STAC metadata in client mode
2 participants