Skip to content

feat(providers): add spacenet collections to dedl#1857

Merged
sbrunato merged 9 commits intodevelopfrom
add_spacenet
Apr 13, 2026
Merged

feat(providers): add spacenet collections to dedl#1857
sbrunato merged 9 commits intodevelopfrom
add_spacenet

Conversation

@cauriol
Copy link
Copy Markdown
Collaborator

@cauriol cauriol commented Sep 26, 2025

Add Spacenet collections to dedl.

@cauriol cauriol self-assigned this Sep 26, 2025
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Sep 26, 2025

Test Results

    4 files  ±  0      4 suites  ±0   3m 42s ⏱️ +24s
  740 tests + 56    740 ✅ + 57  0 💤  - 1  0 ❌ ±0 
3 002 runs  +224  3 000 ✅ +228  2 💤  - 4  0 ❌ ±0 

Results for commit 8cd2a49. ± Comparison against base commit d88f651.

This pull request removes 19 and adds 75 tests. Note that renamed tests count towards both.
tests.integration.test_download_auth.TestEODagDownloadCredentialsNotSet ‑ test_eodag_download_missing_credentials_peps
tests.units.test_auth_plugins.TestAuthPluginTokenAuth ‑ test_plugins_auth_tokenauth_get_method_request_authenticate
tests.units.test_core.TestCoreSearch ‑ test__prepare_search_peps_plugins_product_available
tests.units.test_core.TestCoreSearch ‑ test__prepare_search_peps_plugins_product_available_with_alias
tests.units.test_core.TestCoreSearch ‑ test__prepare_search_peps_plugins_product_not_available
tests.units.test_core.TestCoreSearch ‑ test_search_all_use_max_items_per_page
tests.units.test_core.TestCoreSearch ‑ test_search_all_user_items_per_page
tests.units.test_download_plugins.TestDownloadPluginHttp ‑ test_stream_download_dict_asset_not_available
tests.units.test_download_plugins.TestDownloadPluginHttp ‑ test_stream_download_dict_fallback_to_product
tests.units.test_download_plugins.TestDownloadPluginHttp ‑ test_stream_download_dict_multiple_assets_zip
…
eodag.utils.dates ‑ eodag.utils.dates.compute_date_range_from_params
eodag.utils.dates ‑ eodag.utils.dates.time_values_to_hhmm
eodag.utils.dates ‑ eodag.utils.dates.to_iso_utc_string
eodag.utils.dates ‑ eodag.utils.dates.validate_datetime_param
tests.integration.test_core_search.TestCoreSearch ‑ test_core_search_geodes
tests.integration.test_core_search_results.TestCoreSearchResults ‑ test_core_serialize_deserialize_aws_eos_results
tests.integration.test_core_search_results.TestCoreSearchResults ‑ test_core_serialize_deserialize_cop_dataspace_results
tests.integration.test_core_search_results.TestCoreSearchResults ‑ test_core_serialize_deserialize_earth_search_results
tests.integration.test_core_search_results.TestCoreSearchResults ‑ test_core_serialize_deserialize_geodes_results
tests.integration.test_core_search_results.TestCoreSearchResults ‑ test_core_serialize_search_results_keep_invalid
…

♻️ This comment has been updated with latest results.

@eodag-bot
Copy link
Copy Markdown
Collaborator

badge

Code Coverage (Ubuntu)

Details
Filename                                     Stmts    Miss  Cover    Missing
-----------------------------------------  -------  ------  -------  ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__init__.py                                      8       0  100.00%
cli.py                                         334      68  79.64%   64-65, 89, 129-131, 721-785, 887-938, 942
config.py                                      453      30  93.38%   81-83, 92, 100, 104-106, 177, 188, 205-206, 732-734, 858-861, 905-906, 915-916, 950, 1030, 1089-1094, 1096
crunch.py                                        5       5  0.00%    20-24
api/__init__.py                                  0       0  100.00%
api/core.py                                    788      47  94.04%   337, 604, 635, 679-682, 720, 764, 798, 843-848, 874, 960, 1300, 1342, 1376-1387, 1491-1494, 1531-1551, 1620-1625, 1637-1640, 2222, 2285-2286, 2315-2316
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       1  94.44%   62
api/product/_assets.py                          52       5  90.38%   97, 183, 191, 194-198
api/product/_product.py                        213      19  91.08%   72-74, 238-239, 345, 372, 473, 491, 515-518, 527-530, 585-588
api/product/metadata_mapping.py                776      44  94.33%   123-125, 259-260, 367, 419-420, 457, 478-481, 504, 516-517, 554, 620-625, 637, 645, 749-750, 958, 1111, 1120-1124, 1141-1146, 1273, 1296, 1305, 1327, 1332, 1456, 1498, 1512, 1537, 1583, 1652, 1724
api/product/drivers/__init__.py                 20       2  90.00%   33-36
api/product/drivers/base.py                     29       1  96.55%   98
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       2  90.91%   48, 55
plugins/manager.py                             173      19  89.02%   106-111, 146-151, 155, 193, 215, 219, 243, 282-283, 383-386, 398-399
plugins/apis/__init__.py                         0       0  100.00%
plugins/apis/base.py                             4       0  100.00%
plugins/apis/ecmwf.py                           97      10  89.69%   167-169, 216-217, 243-245, 298-299
plugins/apis/usgs.py                           180      26  85.56%   157, 259, 293, 328-330, 335, 361-362, 367, 397-404, 415-420, 442-448, 479
plugins/authentication/__init__.py               6       1  83.33%   31
plugins/authentication/aws_auth.py             109      31  71.56%   50-52, 67-68, 136-140, 168-194, 217, 249-253, 270
plugins/authentication/base.py                  19       3  84.21%   46, 59, 82
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/oauth.py                 15       7  53.33%   48-50, 54-57
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       8  82.98%   52-53, 69, 78-81, 83, 90-93
plugins/crunch/filter_latest_tpl_name.py        31       1  96.77%   83
plugins/crunch/filter_overlap.py                66      18  72.73%   28-30, 66-69, 76-79, 85, 93, 104-120
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%   267, 303, 341-344, 364-368, 463-465, 469, 502-503, 509-513, 544, 609-617, 681-778, 789-794, 832, 858, 903-905, 1125
plugins/download/base.py                       260      35  86.54%   130, 159, 306-307, 365-366, 408, 412-423, 437, 505-509, 539-540, 565-573, 575-579, 629, 650, 672, 680
plugins/download/creodias_s3.py                 10       0  100.00%
plugins/download/http.py                       545      77  85.87%   238, 280-283, 345-348, 351, 358-363, 394-396, 413, 428, 482, 517, 531, 545, 553-557, 573-578, 589, 607, 643-646, 667, 677, 684, 704, 839, 871, 901-910, 946, 971-972, 991-996, 1005, 1020-1022, 1026, 1029, 1044-1045, 1123-1124, 1128, 1180, 1226-1227, 1233, 1243, 1271, 1306, 1326, 1363-1365
plugins/download/s3rest.py                     122      26  78.69%   125, 159, 166, 201, 228-235, 238-240, 244, 255-261, 269-270, 273-277, 292-295, 304, 325-328
plugins/search/__init__.py                      22       0  100.00%
plugins/search/base.py                         170      14  91.76%   104, 108, 132-138, 275, 296, 435, 457-460, 469
plugins/search/build_search_result.py          480      56  88.33%   246-247, 283, 286, 311, 314, 345-347, 559, 561, 565, 568, 695, 697, 758, 765, 789, 826, 877, 927-942, 990, 1015, 1018, 1022, 1143-1144, 1153-1162, 1225, 1246, 1265-1274, 1391-1392, 1437, 1446-1448, 1508, 1554
plugins/search/cop_marine.py                   254      47  81.50%   56, 64-66, 76-77, 82, 87-88, 104, 106, 109, 175-176, 232, 238, 242, 246, 259, 270-271, 279, 312, 316, 337, 341, 345, 349, 353-357, 363-366, 369-383, 400, 449-453, 458, 470
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/data_request_search.py          208      26  87.50%   195-198, 214, 225, 229-230, 241, 246, 251, 258, 271-274, 328-329, 333, 343-349, 354, 501, 511, 522, 535, 561
plugins/search/qssearch.py                     725      69  90.48%   416-417, 558-559, 571-575, 632-648, 765-768, 839-840, 891, 910, 917, 929, 986, 1007, 1010-1011, 1020-1021, 1030-1031, 1040-1041, 1068, 1208, 1231, 1304-1305, 1311, 1401, 1566, 1569, 1575-1576, 1597, 1625-1637, 1644, 1676-1678, 1688-1694, 1724, 1747, 1752-1753, 1768, 1784, 1871, 1878, 1889, 1912-1917, 1926, 1935
plugins/search/stac_list_assets.py              25      10  60.00%   44-51, 75-85
plugins/search/static_stac_search.py            79      13  83.54%   100-126, 170, 183
rest/__init__.py                                 4       2  50.00%   21-22
rest/cache.py                                   33       7  78.79%   35-37, 53-55, 59, 68
rest/config.py                                  25       0  100.00%
rest/constants.py                                6       0  100.00%
rest/core.py                                   261      60  77.01%   265, 304, 319-355, 451, 488-527, 604, 634-637, 710, 717-764
rest/errors.py                                  74       5  93.24%   126, 136, 147, 172-173
rest/server.py                                 196      24  87.76%   94, 117-119, 293-298, 326, 526-528, 545-550, 579, 581, 585-586, 590-591
rest/stac.py                                   333      71  78.68%   320, 342, 394-397, 424-451, 482-484, 507, 539-540, 622-662, 684-700, 792-796, 854-855, 865-870, 880-884, 933, 1023-1025
rest/types/__init__.py                           0       0  100.00%
rest/types/collections_search.py                13      13  0.00%    18-44
rest/types/eodag_search.py                     180       6  96.67%   225-229, 282, 285, 353, 375
rest/types/queryables.py                        64      12  81.25%   61, 71-79, 105-110, 174
rest/types/stac_search.py                      125       7  94.40%   128, 174, 189-191, 199, 203
rest/utils/__init__.py                          94      12  87.23%   101-102, 121-123, 175, 185-199
rest/utils/cql_evaluate.py                      48       5  89.58%   69, 76, 90, 97, 105
rest/utils/rfc3339.py                           23       3  86.96%   48, 60, 62
types/__init__.py                              161      40  75.16%   67, 80-84, 95-107, 135-137, 144-149, 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                            111       0  100.00%
types/search_args.py                            70      18  74.29%   60-64, 71-88, 103
utils/__init__.py                              564      40  92.91%   69, 193-194, 203-229, 232, 247, 327-331, 406-410, 489, 504, 544-545, 574, 949-952, 960-961, 999-1000, 1047-1048, 1188, 1441, 1456, 1465, 1477
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       8  78.95%   51, 53, 57, 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                                        10880    1456  86.62%

Diff against develop

Filename      Stmts    Miss  Cover
----------  -------  ------  --------
TOTAL             0       0  +100.00%

Results for commit: 0b5c604

Minimum allowed coverage is 70%

♻️ This comment has been updated with latest results

@eodag-bot
Copy link
Copy Markdown
Collaborator

badge

Code Coverage (Windows)

Details
Filename                                     Stmts    Miss  Cover    Missing
-----------------------------------------  -------  ------  -------  ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__init__.py                                      8       0  100.00%
cli.py                                         334      68  79.64%   64-65, 89, 129-131, 721-785, 887-938, 942
config.py                                      453      31  93.16%   81-83, 92, 100, 104-106, 177, 188, 205-206, 732-734, 858-861, 905-906, 915-916, 950, 1030, 1059, 1089-1094, 1096
crunch.py                                        5       5  0.00%    20-24
api/__init__.py                                  0       0  100.00%
api/core.py                                    788      47  94.04%   337, 604, 635, 679-682, 720, 764, 798, 843-848, 874, 960, 1300, 1342, 1376-1387, 1491-1494, 1531-1551, 1620-1625, 1637-1640, 2222, 2285-2286, 2315-2316
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       1  94.44%   62
api/product/_assets.py                          52       5  90.38%   97, 183, 191, 194-198
api/product/_product.py                        213      19  91.08%   72-74, 238-239, 345, 372, 473, 491, 515-518, 527-530, 585-588
api/product/metadata_mapping.py                776      44  94.33%   123-125, 259-260, 367, 419-420, 457, 478-481, 504, 516-517, 554, 620-625, 637, 645, 749-750, 958, 1111, 1120-1124, 1141-1146, 1273, 1296, 1305, 1327, 1332, 1456, 1498, 1512, 1537, 1583, 1652, 1724
api/product/drivers/__init__.py                 20       2  90.00%   33-36
api/product/drivers/base.py                     29       1  96.55%   98
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      19  89.02%   106-111, 146-151, 155, 193, 215, 219, 243, 282-283, 383-386, 398-399
plugins/apis/__init__.py                         0       0  100.00%
plugins/apis/base.py                             4       0  100.00%
plugins/apis/ecmwf.py                           97      10  89.69%   167-169, 216-217, 243-245, 298-299
plugins/apis/usgs.py                           180      26  85.56%   157, 259, 293, 328-330, 335, 361-362, 367, 397-404, 415-420, 442-448, 479
plugins/authentication/__init__.py               6       1  83.33%   31
plugins/authentication/aws_auth.py             109      31  71.56%   50-52, 67-68, 136-140, 168-194, 217, 249-253, 270
plugins/authentication/base.py                  19       3  84.21%   46, 59, 82
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/oauth.py                 15       7  53.33%   48-50, 54-57
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       1  96.77%   83
plugins/crunch/filter_overlap.py                66      18  72.73%   28-30, 66-69, 76-79, 85, 93, 104-120
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%   267, 303, 341-344, 364-368, 463-465, 469, 502-503, 509-513, 544, 609-617, 681-778, 789-794, 832, 858, 903-905, 1125
plugins/download/base.py                       260      37  85.77%   130, 159, 226-228, 306-307, 365-366, 408, 412-423, 437, 505-509, 539-540, 565-573, 575-579, 629, 650, 672, 680
plugins/download/creodias_s3.py                 10       0  100.00%
plugins/download/http.py                       545      77  85.87%   238, 280-283, 345-348, 351, 358-363, 394-396, 413, 428, 482, 517, 531, 545, 553-557, 573-578, 589, 607, 643-646, 667, 677, 684, 704, 839, 871, 901-910, 946, 971-972, 991-996, 1005, 1020-1022, 1026, 1029, 1044-1045, 1123-1124, 1128, 1180, 1226-1227, 1233, 1243, 1271, 1306, 1326, 1363-1365
plugins/download/s3rest.py                     122      26  78.69%   125, 159, 166, 201, 228-235, 238-240, 244, 255-261, 269-270, 273-277, 292-295, 304, 325-328
plugins/search/__init__.py                      22       0  100.00%
plugins/search/base.py                         170      14  91.76%   104, 108, 132-138, 275, 296, 435, 457-460, 469
plugins/search/build_search_result.py          480      63  86.88%   246-247, 283, 286, 311, 314, 345-347, 557-568, 695, 697, 758, 765, 789, 826, 877, 893, 927-942, 990, 1015, 1018, 1022, 1143-1144, 1153-1162, 1225, 1240, 1246, 1265-1274, 1391-1392, 1437, 1446-1448, 1508, 1554
plugins/search/cop_marine.py                   254      47  81.50%   56, 64-66, 76-77, 82, 87-88, 104, 106, 109, 175-176, 232, 238, 242, 246, 259, 270-271, 279, 312, 316, 337, 341, 345, 349, 353-357, 363-366, 369-383, 400, 449-453, 458, 470
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/data_request_search.py          208      26  87.50%   195-198, 214, 225, 229-230, 241, 246, 251, 258, 271-274, 328-329, 333, 343-349, 354, 501, 511, 522, 535, 561
plugins/search/qssearch.py                     725      81  88.83%   416-417, 558-559, 571-575, 632-648, 765-768, 839-840, 891, 910, 917, 929, 986, 1007, 1010-1011, 1020-1021, 1030-1031, 1040-1041, 1068, 1208, 1231, 1304-1305, 1311, 1401, 1498-1502, 1566, 1569, 1575-1576, 1597, 1625-1637, 1644, 1676-1678, 1688-1694, 1724, 1747, 1752-1753, 1768, 1784, 1859, 1871, 1878, 1889, 1912-1917, 1926, 1934-1944, 1962, 1978-1982
plugins/search/stac_list_assets.py              25      10  60.00%   44-51, 75-85
plugins/search/static_stac_search.py            79      13  83.54%   100-126, 170, 183
rest/__init__.py                                 4       2  50.00%   21-22
rest/cache.py                                   33      22  33.33%   35-37, 44-70
rest/config.py                                  25       1  96.00%   35
rest/constants.py                                6       0  100.00%
rest/core.py                                   261     151  42.15%   164, 166, 168, 171-172, 186-196, 205-206, 212, 215, 256-306, 319-355, 387-425, 440-456, 472-481, 488-527, 544, 586-671, 710, 717-764
rest/errors.py                                  74      51  31.08%   72, 77-120, 125-128, 135-138, 146-176, 184-189, 204-210
rest/server.py                                 196     196  0.00%    18-604
rest/stac.py                                   333      76  77.18%   254, 320, 342, 394-397, 424-451, 482-484, 507, 539-540, 622-662, 684-700, 727, 792-796, 854-855, 861, 865-870, 880-884, 933, 971, 1004, 1023-1025
rest/types/__init__.py                           0       0  100.00%
rest/types/collections_search.py                13      13  0.00%    18-44
rest/types/eodag_search.py                     180      20  88.89%   225-229, 262-264, 282, 285, 291, 295, 353, 371-386
rest/types/queryables.py                        64      20  68.75%   54-55, 60-63, 68-79, 105-110, 119-120, 174
rest/types/stac_search.py                      125      11  91.20%   126-128, 174, 189-191, 199, 203, 251, 254
rest/utils/__init__.py                          94      30  68.09%   72-78, 98, 101-102, 121-123, 136, 143, 168-176, 183-204
rest/utils/cql_evaluate.py                      48       5  89.58%   69, 76, 90, 97, 105
rest/utils/rfc3339.py                           23       5  78.26%   43-44, 48, 60, 62
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                            111       0  100.00%
types/search_args.py                            70      18  74.29%   60-64, 71-88, 103
utils/__init__.py                              564      40  92.91%   69, 193-194, 203-229, 232, 247, 327-331, 406-410, 489, 504, 544-545, 574, 949-952, 960-961, 999-1000, 1047-1048, 1188, 1441, 1456, 1465, 1477
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       8  78.95%   51, 53, 57, 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                                        10880    1882  82.70%

Diff against develop

Filename      Stmts    Miss  Cover
----------  -------  ------  --------
TOTAL             0       0  +100.00%

Results for commit: 0b5c604

Minimum allowed coverage is 70%

♻️ This comment has been updated with latest results

@cauriol
Copy link
Copy Markdown
Collaborator Author

cauriol commented Sep 26, 2025

We are waiting for the Spacenet data to be available in production to merge this PR.

@eodag-bot
Copy link
Copy Markdown
Collaborator

eodag-bot commented Feb 18, 2026

badge

Code Coverage (Ubuntu)

Details
Filename                                     Stmts    Miss  Cover    Missing
-----------------------------------------  -------  ------  -------  -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__init__.py                                      8       0  100.00%
cli.py                                         251      11  95.62%   104-115, 377, 644
config.py                                      306      24  92.16%   70-72, 75, 78, 81, 85, 89, 93-95, 587-589, 711-713, 732, 740, 770-775, 777
crunch.py                                        2       0  100.00%
api/__init__.py                                  0       0  100.00%
api/collection.py                              151       8  94.70%   177, 213, 216, 323, 362, 365, 383, 386
api/core.py                                    778      57  92.67%   266, 552, 600, 643, 683, 703, 744-749, 774, 858-877, 891, 897, 1050, 1055, 1154, 1193-1194, 1290-1291, 1317, 1348-1349, 1375, 1388, 1449-1450, 1481-1482, 1556-1561, 1573-1576, 1688, 1921, 2078, 2189, 2277-2278
api/provider.py                                382      40  89.53%   186, 190-191, 316-337, 405, 521, 525-526, 531-534, 545, 621-631, 821-822, 870, 877, 891, 914-917, 951-958, 962-963
api/search_result.py                           138      12  91.30%   111, 123, 133, 154, 208, 266, 278, 413, 468-471
api/product/__init__.py                          7       0  100.00%
api/product/_assets.py                          54       4  92.59%   97, 191, 202-206
api/product/_product.py                        304      24  92.11%   200, 344, 370-373, 410, 421-422, 531, 560, 567, 606, 718, 761-764, 773-776, 830, 896, 908, 975
api/product/metadata_mapping.py                806      60  92.56%   125-127, 221-226, 250, 308-309, 355-356, 397, 418, 470-471, 508, 529-532, 555, 567-568, 609, 632, 657-660, 662-667, 732-737, 746, 752, 768, 776, 1010, 1163, 1185, 1194-1198, 1215-1220, 1353, 1376, 1385, 1407, 1412, 1464, 1536, 1557, 1583, 1597, 1622, 1668, 1737, 1812
api/product/drivers/__init__.py                 11       0  100.00%
api/product/drivers/base.py                     32       0  100.00%
api/product/drivers/generic.py                  11       0  100.00%
api/product/drivers/sentinel1.py                33       0  100.00%
api/product/drivers/sentinel2.py                33       0  100.00%
plugins/__init__.py                              0       0  100.00%
plugins/base.py                                 25       2  92.00%   48, 55
plugins/manager.py                             173      16  90.75%   102-107, 179, 201, 219-220, 232, 271-272, 372-375, 387-388
plugins/apis/__init__.py                         0       0  100.00%
plugins/apis/base.py                             4       0  100.00%
plugins/apis/ecmwf.py                           95       8  91.58%   163-165, 213-214, 240-242
plugins/apis/usgs.py                           182      25  86.26%   157, 263, 297, 339-341, 346, 374-375, 380, 410-417, 428-433, 455-461
plugins/authentication/__init__.py               6       1  83.33%   31
plugins/authentication/aws_auth.py             124      35  71.77%   52-54, 69-70, 142-149, 177-203, 226, 258-262, 279, 303, 319-320
plugins/authentication/base.py                  22       4  81.82%   45, 58, 81, 95
plugins/authentication/eoiam.py                 99       2  97.98%   171, 194
plugins/authentication/generic.py               16       3  81.25%   50, 55, 65
plugins/authentication/header.py                19       0  100.00%
plugins/authentication/keycloak.py              46       4  91.30%   154, 177-182
plugins/authentication/openid_connect.py       235      19  91.91%   98-99, 107-125, 172, 180, 194, 214, 353-356, 382, 423
plugins/authentication/qsauth.py                34       1  97.06%   91
plugins/authentication/sas_auth.py              57       3  94.74%   68, 89, 135
plugins/authentication/token.py                141       9  93.62%   192, 229, 309-310, 358-362
plugins/authentication/token_exchange.py        36      14  61.11%   75, 93-121
plugins/crunch/__init__.py                       6       0  100.00%
plugins/crunch/base.py                          12       0  100.00%
plugins/crunch/filter_date.py                   59       0  100.00%
plugins/crunch/filter_latest_intersect.py       54       6  88.89%   92-93, 100-101, 103-107
plugins/crunch/filter_latest_tpl_name.py        35       0  100.00%
plugins/crunch/filter_overlap.py                66      10  84.85%   118-121, 137-163
plugins/crunch/filter_property.py               30       0  100.00%
plugins/download/__init__.py                     4       0  100.00%
plugins/download/aws.py                        402      76  81.09%   271, 305, 354-357, 387-388, 396-400, 480-483, 523-525, 529, 560-561, 567-571, 602, 667-675, 739-834, 846-851, 889, 915, 960-962, 1014
plugins/download/base.py                       288      24  91.67%   135, 165, 371-372, 416, 450, 527-531, 561, 596-597, 622-631, 690, 711, 733, 741
plugins/download/http.py                       574      75  86.93%   233, 275-278, 340-343, 346, 353-358, 389-391, 408, 423, 483, 518, 532, 546, 556-560, 576-581, 592, 611, 648-651, 672, 682, 689, 745, 854, 886, 916-925, 961, 1006-1011, 1020, 1035-1037, 1041, 1044, 1059-1060, 1070, 1145, 1197, 1239-1240, 1252, 1262, 1318-1319, 1349, 1369, 1397, 1477-1478
plugins/search/__init__.py                      25       0  100.00%
plugins/search/base.py                         196      21  89.29%   109, 113, 137-143, 200-203, 218-221, 296, 317, 442, 492, 525-528, 537
plugins/search/build_search_result.py          520      91  82.50%   260-261, 297, 301, 321, 380, 550-561, 571-573, 659-665, 711, 735, 737, 804, 812-816, 837, 847, 873, 918, 943, 971, 989-1004, 1054, 1079, 1082, 1086, 1095, 1101, 1139-1160, 1201, 1228-1229, 1238-1247, 1311, 1326, 1332, 1351-1360, 1481-1482, 1526, 1535-1537, 1594, 1642-1652
plugins/search/cop_marine.py                   273      59  78.39%   57, 65-67, 77-78, 83, 88-89, 105, 107, 110, 176-177, 220, 238, 244, 248, 252, 263, 274-275, 283, 315-318, 324, 334, 347, 351, 355, 359, 363-367, 373-376, 379-396, 413-416, 469-473, 478, 490, 504-505
plugins/search/creodias_s3.py                   29       1  96.55%   59
plugins/search/csw.py                          112      87  22.32%   99-100, 104-105, 113-170, 176-189, 197-229, 247-288
plugins/search/qssearch.py                     839      95  88.68%   380, 425-426, 543-544, 567-568, 580-584, 815-821, 879, 945, 975, 982, 1053, 1074, 1077-1078, 1096, 1105-1106, 1133, 1205, 1214, 1219-1236, 1245, 1260, 1269, 1282, 1304, 1400, 1423, 1496-1497, 1503, 1593, 1700-1704, 1775, 1778, 1782-1783, 1804-1807, 1819, 1841-1853, 1861, 1896-1898, 1921-1927, 1934, 1988, 2011, 2016-2017, 2032, 2038, 2048, 2138, 2142, 2153, 2177, 2190, 2198-2208, 2246-2250
plugins/search/stac_list_assets.py              25      10  60.00%   44-51, 75-85
plugins/search/static_stac_search.py            84      18  78.57%   99-127, 166-169, 182, 224
resources/__init__.py                            0       0  100.00%
resources/shp/__init__.py                        0       0  100.00%
types/__init__.py                              167      43  74.25%   58, 62, 71-75, 86-98, 126-128, 135-140, 216, 219, 257, 267-283, 288, 290, 312, 317, 325, 335
types/bbox.py                                   39      19  51.28%   46-61, 72-74, 85-87, 99-101, 113-115, 123
types/download_args.py                          10       0  100.00%
types/queryables.py                            112       0  100.00%
types/search_args.py                            70      18  74.29%   60-64, 71-88, 103
types/stac_extensions.py                       114       1  99.12%   282
types/stac_metadata.py                         120      16  86.67%   95, 116-117, 150, 180-194, 203-210
utils/__init__.py                              572      39  93.18%   60, 197, 228-229, 238-264, 267, 282, 362-366, 441-445, 525, 565-566, 595, 973-976, 1027, 1046-1047, 1076, 1094-1095, 1207, 1295, 1459, 1697
utils/cache.py                                  22       0  100.00%
utils/dates.py                                 182       4  97.80%   172, 516, 523-524
utils/deserialize.py                            73      10  86.30%   53, 55, 103, 108-109, 145, 159, 181-182, 188
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                                31       1  96.77%   41
utils/notebook.py                               44      23  47.73%   25-29, 36-41, 58-62, 72-78, 83-87
utils/repr.py                                   38       0  100.00%
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
utils/streamresponse.py                         82       7  91.46%   24-26, 63, 124, 133, 145
TOTAL                                        10481    1246  88.11%

Diff against develop

Filename      Stmts    Miss  Cover
----------  -------  ------  --------
TOTAL             0       0  +100.00%

Results for commit: 8cd2a49

Minimum allowed coverage is 70%

♻️ This comment has been updated with latest results

@eodag-bot
Copy link
Copy Markdown
Collaborator

eodag-bot commented Feb 18, 2026

badge

Code Coverage (Windows)

Details
Filename                                     Stmts    Miss  Cover    Missing
-----------------------------------------  -------  ------  -------  -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__init__.py                                      8       0  100.00%
cli.py                                         251      11  95.62%   104-115, 377, 644
config.py                                      306      24  92.16%   70-72, 75, 78, 81, 85, 89, 93-95, 587-589, 711-713, 732, 740, 770-775, 777
crunch.py                                        2       0  100.00%
api/__init__.py                                  0       0  100.00%
api/collection.py                              151       8  94.70%   177, 213, 216, 323, 362, 365, 383, 386
api/core.py                                    778      57  92.67%   266, 552, 600, 643, 683, 703, 744-749, 774, 858-877, 891, 897, 1050, 1055, 1154, 1193-1194, 1290-1291, 1317, 1348-1349, 1375, 1388, 1449-1450, 1481-1482, 1556-1561, 1573-1576, 1688, 1921, 2078, 2189, 2277-2278
api/provider.py                                382      40  89.53%   186, 190-191, 316-337, 405, 521, 525-526, 531-534, 545, 621-631, 821-822, 870, 877, 891, 914-917, 951-958, 962-963
api/search_result.py                           138      12  91.30%   111, 123, 133, 154, 208, 266, 278, 413, 468-471
api/product/__init__.py                          7       0  100.00%
api/product/_assets.py                          54       4  92.59%   97, 191, 202-206
api/product/_product.py                        304      24  92.11%   200, 344, 370-373, 410, 421-422, 531, 560, 567, 606, 718, 761-764, 773-776, 830, 896, 908, 975
api/product/metadata_mapping.py                806      60  92.56%   125-127, 221-226, 250, 308-309, 355-356, 397, 418, 470-471, 508, 529-532, 555, 567-568, 609, 632, 657-660, 662-667, 732-737, 746, 752, 768, 776, 1010, 1163, 1185, 1194-1198, 1215-1220, 1353, 1376, 1385, 1407, 1412, 1464, 1536, 1557, 1583, 1597, 1622, 1668, 1737, 1812
api/product/drivers/__init__.py                 11       0  100.00%
api/product/drivers/base.py                     32       0  100.00%
api/product/drivers/generic.py                  11       0  100.00%
api/product/drivers/sentinel1.py                33       0  100.00%
api/product/drivers/sentinel2.py                33       0  100.00%
plugins/__init__.py                              0       0  100.00%
plugins/base.py                                 25       2  92.00%   48, 55
plugins/manager.py                             173      16  90.75%   102-107, 179, 201, 219-220, 232, 271-272, 372-375, 387-388
plugins/apis/__init__.py                         0       0  100.00%
plugins/apis/base.py                             4       0  100.00%
plugins/apis/ecmwf.py                           95       8  91.58%   163-165, 213-214, 240-242
plugins/apis/usgs.py                           182      25  86.26%   157, 263, 297, 339-341, 346, 374-375, 380, 410-417, 428-433, 455-461
plugins/authentication/__init__.py               6       1  83.33%   31
plugins/authentication/aws_auth.py             124      35  71.77%   52-54, 69-70, 142-149, 177-203, 226, 258-262, 279, 303, 319-320
plugins/authentication/base.py                  22       4  81.82%   45, 58, 81, 95
plugins/authentication/eoiam.py                 99       2  97.98%   171, 194
plugins/authentication/generic.py               16       3  81.25%   50, 55, 65
plugins/authentication/header.py                19       0  100.00%
plugins/authentication/keycloak.py              46       4  91.30%   154, 177-182
plugins/authentication/openid_connect.py       235      19  91.91%   98-99, 107-125, 172, 180, 194, 214, 353-356, 382, 423
plugins/authentication/qsauth.py                34       1  97.06%   91
plugins/authentication/sas_auth.py              57       3  94.74%   68, 89, 135
plugins/authentication/token.py                141       9  93.62%   192, 229, 309-310, 358-362
plugins/authentication/token_exchange.py        36      14  61.11%   75, 93-121
plugins/crunch/__init__.py                       6       0  100.00%
plugins/crunch/base.py                          12       0  100.00%
plugins/crunch/filter_date.py                   59       0  100.00%
plugins/crunch/filter_latest_intersect.py       54       6  88.89%   92-93, 100-101, 103-107
plugins/crunch/filter_latest_tpl_name.py        35       0  100.00%
plugins/crunch/filter_overlap.py                66      10  84.85%   118-121, 137-163
plugins/crunch/filter_property.py               30       0  100.00%
plugins/download/__init__.py                     4       0  100.00%
plugins/download/aws.py                        402      76  81.09%   271, 305, 354-357, 387-388, 396-400, 480-483, 523-525, 529, 560-561, 567-571, 602, 667-675, 739-834, 846-851, 889, 915, 960-962, 1014
plugins/download/base.py                       288      26  90.97%   135, 165, 232-234, 371-372, 416, 450, 527-531, 561, 596-597, 622-631, 690, 711, 733, 741
plugins/download/http.py                       574      75  86.93%   233, 275-278, 340-343, 346, 353-358, 389-391, 408, 423, 483, 518, 532, 546, 556-560, 576-581, 592, 611, 648-651, 672, 682, 689, 745, 854, 886, 916-925, 961, 1006-1011, 1020, 1035-1037, 1041, 1044, 1059-1060, 1070, 1145, 1197, 1239-1240, 1252, 1262, 1318-1319, 1349, 1369, 1397, 1477-1478
plugins/search/__init__.py                      25       0  100.00%
plugins/search/base.py                         196      21  89.29%   109, 113, 137-143, 200-203, 218-221, 296, 317, 442, 492, 525-528, 537
plugins/search/build_search_result.py          520      91  82.50%   260-261, 297, 301, 321, 380, 550-561, 571-573, 659-665, 711, 735, 737, 804, 812-816, 837, 847, 873, 918, 943, 971, 989-1004, 1054, 1079, 1082, 1086, 1095, 1101, 1139-1160, 1201, 1228-1229, 1238-1247, 1311, 1326, 1332, 1351-1360, 1481-1482, 1526, 1535-1537, 1594, 1642-1652
plugins/search/cop_marine.py                   273      59  78.39%   57, 65-67, 77-78, 83, 88-89, 105, 107, 110, 176-177, 220, 238, 244, 248, 252, 263, 274-275, 283, 315-318, 324, 334, 347, 351, 355, 359, 363-367, 373-376, 379-396, 413-416, 469-473, 478, 490, 504-505
plugins/search/creodias_s3.py                   29       1  96.55%   59
plugins/search/csw.py                          112      87  22.32%   99-100, 104-105, 113-170, 176-189, 197-229, 247-288
plugins/search/qssearch.py                     839      95  88.68%   380, 425-426, 543-544, 567-568, 580-584, 815-821, 879, 945, 975, 982, 1053, 1074, 1077-1078, 1096, 1105-1106, 1133, 1205, 1214, 1219-1236, 1245, 1260, 1269, 1282, 1304, 1400, 1423, 1496-1497, 1503, 1593, 1700-1704, 1775, 1778, 1782-1783, 1804-1807, 1819, 1841-1853, 1861, 1896-1898, 1921-1927, 1934, 1988, 2011, 2016-2017, 2032, 2038, 2048, 2138, 2142, 2153, 2177, 2190, 2198-2208, 2246-2250
plugins/search/stac_list_assets.py              25      10  60.00%   44-51, 75-85
plugins/search/static_stac_search.py            84      18  78.57%   99-127, 166-169, 182, 224
resources/__init__.py                            0       0  100.00%
resources/shp/__init__.py                        0       0  100.00%
types/__init__.py                              167      43  74.25%   58, 62, 71-75, 86-98, 126-128, 135-140, 216, 219, 257, 267-283, 288, 290, 312, 317, 325, 335
types/bbox.py                                   39      19  51.28%   46-61, 72-74, 85-87, 99-101, 113-115, 123
types/download_args.py                          10       0  100.00%
types/queryables.py                            112       0  100.00%
types/search_args.py                            70      18  74.29%   60-64, 71-88, 103
types/stac_extensions.py                       114       1  99.12%   282
types/stac_metadata.py                         120      16  86.67%   95, 116-117, 150, 180-194, 203-210
utils/__init__.py                              572      39  93.18%   60, 197, 228-229, 238-264, 267, 282, 362-366, 441-445, 525, 565-566, 595, 973-976, 1027, 1046-1047, 1076, 1094-1095, 1207, 1295, 1459, 1697
utils/cache.py                                  22       0  100.00%
utils/dates.py                                 182       4  97.80%   172, 516, 523-524
utils/deserialize.py                            73      10  86.30%   53, 55, 103, 108-109, 145, 159, 181-182, 188
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                                31       1  96.77%   41
utils/notebook.py                               44      23  47.73%   25-29, 36-41, 58-62, 72-78, 83-87
utils/repr.py                                   38       0  100.00%
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
utils/streamresponse.py                         82       7  91.46%   24-26, 63, 124, 133, 145
TOTAL                                        10481    1248  88.09%

Diff against develop

Filename      Stmts    Miss  Cover
----------  -------  ------  --------
TOTAL             0       0  +100.00%

Results for commit: 8cd2a49

Minimum allowed coverage is 70%

♻️ This comment has been updated with latest results

@cauriol cauriol marked this pull request as ready for review February 18, 2026 15:06
@cauriol cauriol requested a review from jlahovnik February 18, 2026 15:06
Comment thread eodag/resources/collections.yml
@cauriol cauriol requested a review from jlahovnik February 19, 2026 11:35
Copy link
Copy Markdown
Collaborator

@jlahovnik jlahovnik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please also update the Pr description!

Comment thread eodag/resources/collections.yml Outdated
@cauriol cauriol requested a review from jlahovnik February 20, 2026 17:30
@jlahovnik jlahovnik requested a review from sbrunato February 23, 2026 07:56
Comment thread eodag/resources/collections.yml Outdated
Comment thread eodag/resources/collections.yml Outdated
Comment thread eodag/resources/collections.yml Outdated
Comment thread eodag/resources/collections.yml Outdated
Comment thread eodag/resources/collections.yml Outdated
Comment thread eodag/resources/collections.yml Outdated
@sbrunato sbrunato marked this pull request as draft April 10, 2026 07:20
cauriol and others added 3 commits April 10, 2026 16:53
Co-authored-by: Sylvain Brunato <61419125+sbrunato@users.noreply.github.com>
Co-authored-by: Sylvain Brunato <61419125+sbrunato@users.noreply.github.com>
Co-authored-by: Sylvain Brunato <61419125+sbrunato@users.noreply.github.com>
@cauriol cauriol marked this pull request as ready for review April 10, 2026 14:58
@cauriol cauriol requested a review from sbrunato April 10, 2026 14:58
@sbrunato sbrunato changed the title feat: add spacenet feat(providers): add spacenet collections to dedl Apr 13, 2026
@sbrunato sbrunato added this to the 4.1.1.dev milestone Apr 13, 2026
@sbrunato sbrunato merged commit 638658b into develop Apr 13, 2026
12 checks passed
@sbrunato sbrunato deleted the add_spacenet branch April 13, 2026 09:58
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.

4 participants