Skip to content

Conversation

@jlahovnik
Copy link
Collaborator

@jlahovnik jlahovnik commented Jan 13, 2026

The following changes have been done to the adjust to STAC:

  • replace items_per_page with limit
  • add datetime as alias for start (in addition to start_datetime)
  • add intersects as alias for geom (in addition to geometry)

Additionnally, the alias has been added to the representation of queryables.

@jlahovnik jlahovnik self-assigned this Jan 13, 2026
@jlahovnik jlahovnik marked this pull request as draft January 13, 2026 15:25
@github-actions
Copy link
Contributor

github-actions bot commented Jan 13, 2026

Test Results

    4 files  ±0      4 suites  ±0   3m 7s ⏱️ +4s
  680 tests ±0    679 ✅ ±0  1 💤 ±0  0 ❌ ±0 
2 762 runs  ±0  2 756 ✅ ±0  6 💤 ±0  0 ❌ ±0 

Results for commit dd9389e. ± Comparison against base commit f9a51f0.

This pull request removes 2 and adds 2 tests. Note that renamed tests count towards both.
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_core.TestCoreSearch ‑ test_search_all_use_max_limit
tests.units.test_core.TestCoreSearch ‑ test_search_all_user_limit

♻️ This comment has been updated with latest results.

@eodag-bot
Copy link
Collaborator

eodag-bot commented Jan 13, 2026

badge

Code Coverage (Ubuntu)

Details
Filename                                     Stmts    Miss  Cover    Missing
-----------------------------------------  -------  ------  -------  --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__init__.py                                      8       0  100.00%
cli.py                                         247      10  95.95%   104-115, 625
config.py                                      305      24  92.13%   70-72, 75, 78, 81, 85, 89, 93-95, 583-585, 707-709, 728, 736, 766-771, 773
crunch.py                                        5       5  0.00%    20-24
api/__init__.py                                  0       0  100.00%
api/collection.py                              125       7  94.40%   173, 209, 212, 302, 305, 323, 326
api/core.py                                    757      51  93.26%   263, 549, 597, 640, 680, 700, 741-746, 771, 855-874, 888, 894, 1047, 1052, 1147, 1284, 1327, 1340, 1407, 1421-1422, 1496-1501, 1513-1516, 1628, 1860, 2102, 2165-2166, 2195-2196
api/provider.py                                381      35  90.81%   186, 190-191, 316-337, 405, 521, 525-526, 531-534, 545, 621-631, 821-822, 870, 877, 908-911, 947-948, 956-957
api/search_result.py                           181      19  89.50%   104, 113, 120, 134, 178, 195, 292, 347-350, 420, 425-426, 460, 474, 497-498, 504
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                        217      18  91.71%   177, 246-247, 265-266, 375, 404, 411, 518, 538, 561-564, 573-576, 622
api/product/metadata_mapping.py                787      53  93.27%   125-127, 220-225, 246, 304-305, 393, 414, 466-467, 504, 525-528, 551, 563-564, 605, 628, 658-663, 728-733, 745, 753, 985, 1160, 1169-1173, 1190-1195, 1328, 1351, 1360, 1382, 1387, 1439, 1511, 1532, 1558, 1572, 1597, 1643, 1712, 1784
api/product/drivers/__init__.py                 12       0  100.00%
api/product/drivers/base.py                     24       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      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                          101      10  90.10%   178-180, 228-229, 255-257, 288-289
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/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              57       3  94.74%   68, 89, 135
plugins/authentication/token.py                128       9  92.97%   180, 217, 288-289, 339-343
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-113
plugins/crunch/filter_latest_tpl_name.py        31      20  35.48%   46-54, 64-95
plugins/crunch/filter_overlap.py                63      25  60.32%   62-65, 72-75, 81, 85, 89, 100-116, 131-157
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                        401      76  81.05%   270, 304, 353-356, 386-387, 395-399, 479-482, 522-524, 528, 559-560, 566-570, 601, 666-674, 738-833, 845-850, 888, 914, 959-961, 1013
plugins/download/base.py                       280      35  87.50%   133, 162, 309-310, 368-369, 411, 415-426, 440, 517-521, 551, 586-587, 612-621, 680, 701, 723, 731, 765
plugins/download/http.py                       559      78  86.05%   229, 271-274, 336-339, 342, 349-354, 385-387, 404, 419, 479, 514, 528, 542, 550-554, 570-575, 586, 605, 642-645, 666, 676, 683, 703, 843, 875, 905-914, 950, 975-976, 995-1000, 1009, 1024-1026, 1030, 1033, 1048-1049, 1133, 1185, 1227-1228, 1240, 1250, 1300-1301, 1331, 1351, 1392-1394, 1448-1449
plugins/search/__init__.py                      25       0  100.00%
plugins/search/base.py                         193      18  90.67%   108, 112, 136-142, 199-202, 295, 316, 440, 487, 520-523, 532
plugins/search/build_search_result.py          504      83  83.53%   259-260, 296, 300, 320, 550-561, 576-578, 701, 725, 727, 794, 802-806, 827, 839, 865, 910, 934, 962, 980-995, 1045, 1070, 1073, 1077, 1086, 1092, 1130-1151, 1192, 1219-1220, 1229-1238, 1302, 1317, 1323, 1342-1351, 1472-1473, 1517, 1526-1528, 1585, 1633-1643
plugins/search/cop_marine.py                   268      56  79.10%   57, 65-67, 77-78, 83, 88-89, 105, 107, 110, 176-177, 220, 236, 242, 246, 250, 261, 272-273, 281, 313-316, 322, 343, 347, 351, 355, 359-363, 369-372, 375-392, 409-412, 465-469, 474, 486
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                     821      94  88.55%   415-416, 533-534, 557-558, 570-574, 789-795, 853, 949, 956, 1027, 1048, 1051-1052, 1070, 1079-1080, 1107, 1179, 1188, 1193-1210, 1219, 1234, 1243-1246, 1256, 1283, 1366, 1389, 1462-1463, 1469, 1559, 1666-1670, 1736, 1739, 1743-1744, 1765-1768, 1780, 1802-1814, 1821, 1856-1858, 1881-1887, 1894, 1948, 1971, 1976-1977, 1992, 1998, 2008, 2092, 2096, 2107, 2131, 2144, 2152-2162, 2199-2203
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
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                            125       0  100.00%
types/search_args.py                            70      18  74.29%   60-64, 71-88, 103
utils/__init__.py                              608      45  92.60%   71, 168, 201-202, 211-237, 240, 255, 335-339, 414-418, 498, 538-539, 568, 943-946, 954-955, 997, 1016-1017, 1046, 1064-1065, 1175, 1263, 1427, 1516, 1531, 1540, 1552, 1742
utils/cache.py                                  22       0  100.00%
utils/dates.py                                 113       4  96.46%   171, 329-331
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       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
TOTAL                                         9714    1302  86.60%

Diff against develop

Filename                  Stmts    Miss  Cover
----------------------  -------  ------  --------
api/core.py                 +18      +1  +0.03%
plugins/search/base.py       +5       0  +0.24%
types/queryables.py          +7       0  +100.00%
TOTAL                       +30      +1  +0.03%

Results for commit: dd9389e

Minimum allowed coverage is 70%

♻️ This comment has been updated with latest results

@jlahovnik jlahovnik force-pushed the stac-filters-in-search branch from 5467183 to c49cce0 Compare January 13, 2026 15:46
@eodag-bot
Copy link
Collaborator

eodag-bot commented Jan 13, 2026

badge

Code Coverage (Windows)

Details
Filename                                     Stmts    Miss  Cover    Missing
-----------------------------------------  -------  ------  -------  --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__init__.py                                      8       0  100.00%
cli.py                                         247      10  95.95%   104-115, 625
config.py                                      305      24  92.13%   70-72, 75, 78, 81, 85, 89, 93-95, 583-585, 707-709, 728, 736, 766-771, 773
crunch.py                                        5       5  0.00%    20-24
api/__init__.py                                  0       0  100.00%
api/collection.py                              125       7  94.40%   173, 209, 212, 302, 305, 323, 326
api/core.py                                    757      51  93.26%   263, 549, 597, 640, 680, 700, 741-746, 771, 855-874, 888, 894, 1047, 1052, 1147, 1284, 1327, 1340, 1407, 1421-1422, 1496-1501, 1513-1516, 1628, 1860, 2102, 2165-2166, 2195-2196
api/provider.py                                381      35  90.81%   186, 190-191, 316-337, 405, 521, 525-526, 531-534, 545, 621-631, 821-822, 870, 877, 908-911, 947-948, 956-957
api/search_result.py                           181      19  89.50%   104, 113, 120, 134, 178, 195, 292, 347-350, 420, 425-426, 460, 474, 497-498, 504
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                        217      18  91.71%   177, 246-247, 265-266, 375, 404, 411, 518, 538, 561-564, 573-576, 622
api/product/metadata_mapping.py                787      53  93.27%   125-127, 220-225, 246, 304-305, 393, 414, 466-467, 504, 525-528, 551, 563-564, 605, 628, 658-663, 728-733, 745, 753, 985, 1160, 1169-1173, 1190-1195, 1328, 1351, 1360, 1382, 1387, 1439, 1511, 1532, 1558, 1572, 1597, 1643, 1712, 1784
api/product/drivers/__init__.py                 12       0  100.00%
api/product/drivers/base.py                     24       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      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                          101      10  90.10%   178-180, 228-229, 255-257, 288-289
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/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              57       3  94.74%   68, 89, 135
plugins/authentication/token.py                128       9  92.97%   180, 217, 288-289, 339-343
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-113
plugins/crunch/filter_latest_tpl_name.py        31      20  35.48%   46-54, 64-95
plugins/crunch/filter_overlap.py                63      25  60.32%   62-65, 72-75, 81, 85, 89, 100-116, 131-157
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                        401      76  81.05%   270, 304, 353-356, 386-387, 395-399, 479-482, 522-524, 528, 559-560, 566-570, 601, 666-674, 738-833, 845-850, 888, 914, 959-961, 1013
plugins/download/base.py                       280      37  86.79%   133, 162, 229-231, 309-310, 368-369, 411, 415-426, 440, 517-521, 551, 586-587, 612-621, 680, 701, 723, 731, 765
plugins/download/http.py                       559      78  86.05%   229, 271-274, 336-339, 342, 349-354, 385-387, 404, 419, 479, 514, 528, 542, 550-554, 570-575, 586, 605, 642-645, 666, 676, 683, 703, 843, 875, 905-914, 950, 975-976, 995-1000, 1009, 1024-1026, 1030, 1033, 1048-1049, 1133, 1185, 1227-1228, 1240, 1250, 1300-1301, 1331, 1351, 1392-1394, 1448-1449
plugins/search/__init__.py                      25       0  100.00%
plugins/search/base.py                         193      18  90.67%   108, 112, 136-142, 199-202, 295, 316, 440, 487, 520-523, 532
plugins/search/build_search_result.py          504      83  83.53%   259-260, 296, 300, 320, 550-561, 576-578, 701, 725, 727, 794, 802-806, 827, 839, 865, 910, 934, 962, 980-995, 1045, 1070, 1073, 1077, 1086, 1092, 1130-1151, 1192, 1219-1220, 1229-1238, 1302, 1317, 1323, 1342-1351, 1472-1473, 1517, 1526-1528, 1585, 1633-1643
plugins/search/cop_marine.py                   268      56  79.10%   57, 65-67, 77-78, 83, 88-89, 105, 107, 110, 176-177, 220, 236, 242, 246, 250, 261, 272-273, 281, 313-316, 322, 343, 347, 351, 355, 359-363, 369-372, 375-392, 409-412, 465-469, 474, 486
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                     821      94  88.55%   415-416, 533-534, 557-558, 570-574, 789-795, 853, 949, 956, 1027, 1048, 1051-1052, 1070, 1079-1080, 1107, 1179, 1188, 1193-1210, 1219, 1234, 1243-1246, 1256, 1283, 1366, 1389, 1462-1463, 1469, 1559, 1666-1670, 1736, 1739, 1743-1744, 1765-1768, 1780, 1802-1814, 1821, 1856-1858, 1881-1887, 1894, 1948, 1971, 1976-1977, 1992, 1998, 2008, 2092, 2096, 2107, 2131, 2144, 2152-2162, 2199-2203
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
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                            125       0  100.00%
types/search_args.py                            70      18  74.29%   60-64, 71-88, 103
utils/__init__.py                              608      45  92.60%   71, 168, 201-202, 211-237, 240, 255, 335-339, 414-418, 498, 538-539, 568, 943-946, 954-955, 997, 1016-1017, 1046, 1064-1065, 1175, 1263, 1427, 1516, 1531, 1540, 1552, 1742
utils/cache.py                                  22       0  100.00%
utils/dates.py                                 113       4  96.46%   171, 329-331
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       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
TOTAL                                         9714    1304  86.58%

Diff against develop

Filename                  Stmts    Miss  Cover
----------------------  -------  ------  --------
api/core.py                 +18      +1  +0.03%
plugins/search/base.py       +5       0  +0.24%
types/queryables.py          +7       0  +100.00%
TOTAL                       +30      +1  +0.04%

Results for commit: dd9389e

Minimum allowed coverage is 70%

♻️ This comment has been updated with latest results

@jlahovnik jlahovnik force-pushed the stac-filters-in-search branch from 0f0b7ba to dd9389e Compare January 20, 2026 17:38
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.

3 participants