Skip to content

Deploy inc6 - #2166

Draft
jlahovnik wants to merge 110 commits into
developfrom
deploy-inc6
Draft

jlahovnik wants to merge 110 commits into
developfrom
deploy-inc6

Conversation

@jlahovnik

Copy link
Copy Markdown
Collaborator

Your checklist for this pull request

Please review the guidelines for contributing to this repository.

  • Make sure you are making a pull request against the develop branch (left side). Also you should start your branch off our develop.
  • Check the commit's or even all commits' message styles matches our requested structure.
  • Check your code additions will fail neither code linting checks nor unit test.

Description

Please describe your pull request.

Further comments

If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

Thank you!

@jlahovnik
jlahovnik marked this pull request as draft April 29, 2026 14:53
@github-actions

github-actions Bot commented Apr 29, 2026 •

Copy link
Copy Markdown
Contributor

Test Results

  2 files   -     2    2 suites   - 2   27s ⏱️ - 4m 13s
120 tests  -   666   90 ✅  -   696  0 💤 ±0  1 ❌ +1  29 🔥 +29 
240 runs   - 2 946  180 ✅  - 3 004  0 💤  - 2  2 ❌ +2  58 🔥 +58 

For more details on these failures and errors, see this check.

Results for commit cb8cbdc. ± Comparison against base commit 33ad4a7.

This pull request removes 697 and adds 31 tests. Note that renamed tests count towards both.
eodag.api.collection ‑ eodag.api.collection.Collection.get_collection_mtd_from_alias
eodag.api.provider ‑ eodag.api.provider.ProvidersDict.filter
eodag.api.provider ‑ eodag.api.provider.ProvidersDict.filter_by_name_or_group
tests.integration.test_config_ext_plugin.TestExternalPluginConfig ‑ test_update_providers_from_ext_plugin
tests.integration.test_core_config.TestCoreCollectionsConfig ‑ test_core_discover_collections_auth
tests.integration.test_core_config.TestCoreProvidersConfig ‑ test_core_providers_add
tests.integration.test_core_config.TestCoreProvidersConfig ‑ test_core_providers_add_update
tests.integration.test_core_config.TestCoreProvidersConfig ‑ test_core_providers_config_update
tests.integration.test_core_config.TestCoreProvidersConfig ‑ test_core_providers_shared_credentials
tests.integration.test_core_search.TestCoreSearch ‑ test_core_search_auths_matching
…
eodag.api.collection ‑ eodag.api.collection.Collection.get_collection_alias_from_field
eodag.api.collection ‑ eodag.api.collection.Collection.get_collection_field_from_alias
tests.context
tests.integration.test_config_ext_plugin
tests.integration.test_core_config
tests.integration.test_core_search
tests.integration.test_core_search_results
tests.integration.test_download_auth
tests.integration.test_search_stac_static
tests.test_cli
…

♻️ This comment has been updated with latest results.

@eodag-bot

eodag-bot commented Apr 29, 2026 •

Copy link
Copy Markdown
Collaborator

badge

Code Coverage (Ubuntu)

Details
Filename                                     Stmts    Miss  Cover    Missing
-----------------------------------------  -------  ------  -------  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__init__.py                                      8       0  100.00%
cli.py                                         252     166  34.13%   93-100, 105-116, 129-131, 137, 288-423, 446-505, 521-536, 584-639, 645
config.py                                      536     266  50.37%   83-87, 90, 93, 96, 100, 104, 108-110, 602-604, 608-609, 613, 618-619, 624-627, 633-634, 643-646, 652-683, 727-728, 732, 737-742, 747-761, 769-775, 785-816, 820-849, 858, 871-875, 886-896, 904-905, 913, 921, 929, 941-957, 968-995, 1002-1005, 1010-1025, 1040-1070, 1076-1115, 1126-1165, 1172-1174, 1191-1214, 1230-1276, 1287-1288
crunch.py                                        2       0  100.00%
api/__init__.py                                  0       0  100.00%
api/collection.py                              315     199  36.83%   76, 86, 90-91, 95, 98, 101, 192, 197-203, 212-214, 249-281, 287-300, 307-360, 366-398, 403-405, 410-412, 419-434, 445-543, 555-577, 589-611, 614, 617, 624-636, 644-649, 661-669, 681-689, 704-706, 709, 712, 717-720, 735-736, 739, 742, 746-757, 780, 789-792
api/core.py                                    733     646  11.87%   125-197, 202, 206, 219-227, 240-247, 255-260, 271-311, 342-378, 403-446, 458, 491-517, 531-664, 675-725, 734-891, 914-932, 945-957, 970-975, 1022-1068, 1142-1223, 1272-1306, 1334-1378, 1435-1478, 1501-1578, 1581-1604, 1645-1755, 1776-1911, 1919-1923, 1935-1944, 1991-2009, 2027-2070, 2079, 2091, 2149-2161, 2164-2169, 2178-2180, 2194-2268, 2282-2304, 2311-2323, 2345-2359
api/provider.py                                 70      39  44.29%   70-73, 77, 81, 85-91, 95, 99-122, 144-146, 156-159, 168-171, 179, 187-197, 230, 239, 253
api/search_result.py                           138      70  49.28%   111, 123, 133, 154, 176, 185, 200-220, 234-237, 251-253, 266, 275-282, 309, 320, 333, 342-343, 351, 354-355, 382-385, 406-427, 438-472, 488
api/product/__init__.py                          7       0  100.00%
api/product/_assets.py                          56      25  55.36%   76, 86-107, 110-119, 187, 195, 203, 206-210
api/product/_product.py                        348     238  31.61%   199, 201, 210, 215-227, 240-326, 334-335, 357-371, 392-395, 415-416, 432, 442-444, 451-452, 465-485, 498-522, 560-609, 635-645, 662-704, 711-712, 721-736, 760-776, 802-904, 918, 921-934, 994, 1006, 1019-1043, 1064-1086
api/product/metadata_mapping.py                869     817  5.98%    122-131, 136, 147, 201-1119, 1140-1285, 1311-1435, 1452-1486, 1496-1602, 1612-1631, 1638-1673, 1684-1743, 1755-1774, 1786-1790, 1805-1816, 1826-1932
api/product/drivers/__init__.py                 11       0  100.00%
api/product/drivers/base.py                     32      14  56.25%   66, 72-75, 89-104
api/product/drivers/generic.py                  11       0  100.00%
api/product/drivers/sentinel1.py                33      13  60.61%   94-102, 120, 130-132, 136-138
api/product/drivers/sentinel2.py                33      14  57.58%   94-102, 121, 131-133, 137-139
databases/__init__.py                            0       0  100.00%
databases/base.py                              102      64  37.25%   91-99, 104-111, 116-120, 148-166, 182-252, 263, 267, 271, 276, 281, 286, 291, 314, 328, 339, 346
databases/sqlite.py                            311     254  18.33%   56, 76-96, 100-102, 113-121, 132-137, 144-163, 170-178, 183-207, 219-233, 241-255, 262-317, 339-425, 431-436, 444-445, 470-540, 554-593, 608-668, 674-679, 691-694, 700-701, 709, 714-716, 725, 746-753, 763-785, 792-953, 967-969, 985-996
databases/sqlite_cql2.py                       102      84  17.65%   37-55, 93-117, 122, 132-232, 238-253
databases/sqlite_fts.py                         76      65  14.47%   36-40, 45-75, 80-108, 113-127, 142-146
plugins/__init__.py                              0       0  100.00%
plugins/base.py                                 21       8  61.90%   48, 52-55, 62-63, 66
plugins/manager.py                             149     114  23.49%   82-117, 126-128, 136, 147-148, 169-212, 218-237, 252-270, 279-292, 308-359, 376-388
plugins/apis/__init__.py                         0       0  100.00%
plugins/apis/base.py                             4       0  100.00%
plugins/apis/ecmwf.py                           95      95  0.00%    18-274
plugins/apis/usgs.py                           182     182  0.00%    18-477
plugins/authentication/__init__.py               6       1  83.33%   31
plugins/authentication/aws_auth.py             124      99  20.16%   52-54, 67-73, 102-106, 109-129, 133-149, 156-158, 165-166, 177-203, 220-267, 274-284, 302-320
plugins/authentication/base.py                  22      12  45.45%   45, 50-68, 81, 95
plugins/authentication/eoiam.py                 98      98  0.00%    18-198
plugins/authentication/generic.py               16      16  0.00%    18-65
plugins/authentication/header.py                19      19  0.00%    18-115
plugins/authentication/keycloak.py              46      46  0.00%    18-183
plugins/authentication/openid_connect.py       243     243  0.00%    18-637
plugins/authentication/qsauth.py                34      34  0.00%    18-112
plugins/authentication/sas_auth.py              57      57  0.00%    18-160
plugins/authentication/token.py                141     141  0.00%    18-376
plugins/authentication/token_exchange.py        36      36  0.00%    18-121
plugins/crunch/__init__.py                       6       0  100.00%
plugins/crunch/base.py                          12       0  100.00%
plugins/crunch/filter_date.py                   47       0  100.00%
plugins/crunch/filter_latest_intersect.py       52       6  88.46%   87-88, 95-96, 98-102
plugins/crunch/filter_latest_tpl_name.py        35       0  100.00%
plugins/crunch/filter_overlap.py                66      12  81.82%   118-121, 124-125, 137-163
plugins/crunch/filter_property.py               30       2  93.33%   81-84
plugins/download/__init__.py                     4       0  100.00%
plugins/download/aws.py                        402     343  14.68%   225, 260-423, 436-495, 519-533, 542-571, 591-633, 655-682, 739-834, 846-851, 862-878, 882-902, 906-962, 972-1179
plugins/download/base.py                       288     253  12.15%   103-104, 135, 165, 181-283, 295-296, 309-314, 329-456, 498-644, 662-754, 772-778
plugins/download/http.py                       581     535  7.92%    143, 176-235, 246-285, 308-598, 616-728, 731-745, 748-769, 797-872, 881-892, 901-933, 940-951, 969, 993-1084, 1097-1239, 1252-1375, 1379-1382, 1394-1489
plugins/search/__init__.py                      25       0  100.00%
plugins/search/base.py                         196     155  20.92%   77-92, 96, 109, 113, 124, 137-143, 151-154, 166-182, 200-203, 218-221, 231-235, 245-254, 265-349, 354-367, 389-419, 436-452, 463-509, 519-541
plugins/search/build_search_result.py          529     462  12.67%   112, 122-199, 216-217, 241-258, 312-333, 352-360, 373-381, 385, 396-406, 421-481, 487-534, 540-549, 560-565, 570-579, 591-740, 758-909, 926-1004, 1023-1044, 1055-1074, 1084-1093, 1105-1210, 1221, 1232-1289, 1303-1305, 1342-1343, 1355-1367, 1378, 1388-1466, 1506-1542, 1553-1568
plugins/search/cop_ghsl.py                     415     415  0.00%    18-763
plugins/search/cop_marine.py                   299     299  0.00%    18-560
plugins/search/creodias_s3.py                   29      29  0.00%    18-93
plugins/search/csw.py                          112     112  0.00%    18-288
plugins/search/eumetsat_ds.py                   25      25  0.00%    18-60
plugins/search/geodes.py                        64      64  0.00%    18-141
plugins/search/qssearch.py                     860     791  8.02%    300-407, 413-419, 426-467, 475-729, 739-752, 766-844, 850-861, 872-952, 964-1126, 1151-1242, 1248-1291, 1296-1329, 1335-1371, 1376-1386, 1392-1480, 1529-1537, 1546-1594, 1598, 1610-1631, 1666-1807, 1813-1841, 1849-1957, 1963-2037, 2060-2077, 2083-2100, 2114-2273, 2282, 2288
plugins/search/stac_list_assets.py              25      25  0.00%    18-85
plugins/search/static_stac_search.py            84      84  0.00%    18-246
resources/__init__.py                            0       0  100.00%
resources/shp/__init__.py                        0       0  100.00%
types/__init__.py                              180      45  75.00%   58, 62, 71-75, 86-98, 126-128, 135-140, 155, 165, 244, 247, 285, 295-311, 316, 318, 340, 345, 353, 363
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                            113      41  63.72%   73-79, 88-93, 107, 229-247, 250-322, 332
types/search_args.py                            70      18  74.29%   60-64, 71-88, 103
types/stac_extensions.py                       153       6  96.08%   454-462, 643
types/stac_metadata.py                         155     106  31.61%   81-83, 91-99, 108-112, 118-121, 129-130, 138, 146, 153, 166-174, 185-191, 202-216, 225-232, 245-292, 307-342, 347-370
utils/__init__.py                              639     261  59.15%   60, 206, 215-220, 237-238, 247-273, 276, 289-299, 346-352, 357, 371-375, 400-410, 426, 431-444, 450-454, 465, 483-497, 505-508, 519, 524, 529-534, 574-575, 604, 741, 847, 921, 982-985, 993-994, 1001-1003, 1021, 1026-1028, 1034-1036, 1055-1056, 1085, 1103-1104, 1129, 1142, 1155-1158, 1171-1172, 1179-1190, 1201-1225, 1242-1296, 1313-1319, 1333-1340, 1352-1355, 1359, 1362, 1365, 1368, 1372-1375, 1391, 1433-1436, 1445, 1450-1451, 1462, 1474-1494, 1505-1517, 1555, 1594, 1620, 1622, 1648-1655, 1740-1761, 1795
utils/cache.py                                  22       0  100.00%
utils/dates.py                                 191       5  97.38%   182, 328, 458, 644-645
utils/deserialize.py                            73      63  13.70%   44-55, 67-114, 129-164, 176-188
utils/env.py                                     3       1  66.67%   29
utils/exceptions.py                             58      16  72.41%   56, 122-124, 137-142, 159-168
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       2  93.55%   41, 126
utils/notebook.py                               44      32  27.27%   25-29, 34-43, 55-64, 69-78, 83-87
utils/repr.py                                   38      20  47.37%   39, 50-57, 73-99, 124-131
utils/requests.py                               55      41  25.45%   47-68, 85-96, 107-124, 128
utils/s3.py                                    254     212  16.54%   73-76, 122-126, 154-183, 195-275, 311-380, 483-503, 530-608, 639-670, 678-690, 705-711, 737-790, 807-810
utils/stac_reader.py                           113      89  21.24%   43-46, 51-59, 63-85, 90-102, 124-138, 148-185, 206-216, 226-256
utils/streamresponse.py                         82       9  89.02%   24-26, 63, 123-124, 133, 144-145
TOTAL                                        11940    8794  26.35%

Diff against develop

Filename                                    Stmts    Miss  Cover
----------------------------------------  -------  ------  --------
cli.py                                          0    +155  -61.50%
config.py                                    +230    +242  -41.79%
api/collection.py                            +164    +191  -57.87%
api/core.py                                   -41    +589  -80.77%
api/provider.py                              -312      -1  -45.24%
api/search_result.py                            0     +58  -42.02%
api/product/_assets.py                          0     +21  -37.50%
api/product/_product.py                       +37    +214  -60.67%
api/product/metadata_mapping.py                +2    +755  -86.87%
api/product/drivers/base.py                     0     +14  -43.75%
api/product/drivers/sentinel1.py                0     +13  -39.39%
api/product/drivers/sentinel2.py                0     +14  -42.42%
databases/__init__.py                           0       0  +100.00%
databases/base.py                            +102     +64  +37.25%
databases/sqlite.py                          +311    +254  +18.33%
databases/sqlite_cql2.py                     +102     +84  +17.65%
databases/sqlite_fts.py                       +76     +65  +14.47%
plugins/base.py                                -4      +6  -30.10%
plugins/manager.py                            -24     +98  -67.26%
plugins/apis/ecmwf.py                           0     +87  -91.58%
plugins/apis/usgs.py                            0    +157  -86.26%
plugins/authentication/aws_auth.py              0     +64  -51.61%
plugins/authentication/base.py                  0      +8  -36.37%
plugins/authentication/eoiam.py                 0     +97  -98.98%
plugins/authentication/generic.py               0     +13  -81.25%
plugins/authentication/header.py                0     +19  -100.00%
plugins/authentication/keycloak.py              0     +42  -91.30%
plugins/authentication/openid_connect.py       +8    +224  -91.91%
plugins/authentication/qsauth.py                0     +33  -97.06%
plugins/authentication/sas_auth.py              0     +54  -94.74%
plugins/authentication/token.py                 0    +132  -93.62%
plugins/authentication/token_exchange.py        0     +22  -61.11%
plugins/crunch/filter_overlap.py                0      +2  -3.03%
plugins/crunch/filter_property.py               0      +2  -6.67%
plugins/download/aws.py                         0    +267  -66.41%
plugins/download/base.py                        0    +229  -79.52%
plugins/download/http.py                       +6    +461  -79.21%
plugins/search/base.py                         -1    +137  -69.94%
plugins/search/build_search_result.py         +10    +373  -70.18%
plugins/search/cop_ghsl.py                     +8    +330  -79.12%
plugins/search/cop_marine.py                   +4    +231  -76.95%
plugins/search/creodias_s3.py                   0     +28  -96.55%
plugins/search/csw.py                           0     +25  -22.32%
plugins/search/eumetsat_ds.py                   0     +25  -100.00%
plugins/search/geodes.py                        0     +64  -100.00%
plugins/search/qssearch.py                     -8    +692  -80.57%
plugins/search/stac_list_assets.py              0     +15  -60.00%
plugins/search/static_stac_search.py            0     +66  -78.57%
types/__init__.py                               0      +2  -1.11%
types/queryables.py                             0     +41  -36.28%
types/stac_extensions.py                        0      +2  -1.31%
types/stac_metadata.py                          0     +84  -54.20%
utils/__init__.py                              +3    +213  -33.30%
utils/dates.py                                 +4      +4  -2.09%
utils/deserialize.py                            0     +53  -72.60%
utils/env.py                                    0      +1  -33.33%
utils/exceptions.py                             0     +16  -27.59%
utils/logging.py                                0      +1  -3.22%
utils/notebook.py                               0      +9  -20.46%
utils/repr.py                                   0     +20  -52.63%
utils/requests.py                               0     +12  -21.82%
utils/s3.py                                     0    +200  -78.74%
utils/stac_reader.py                            0     +45  -39.82%
utils/streamresponse.py                         0      +2  -2.44%
TOTAL                                        +677   +7440  -61.63%

Results for commit: cb8cbdc

Minimum allowed coverage is 70%

♻️ This comment has been updated with latest results

anesson-cs and others added 26 commits May 5, 2026 15:20
create a separate file to create SQLite functions which need to be registered as SQLite functions to be used during the queries

implement most of the main methods of the class
add an interface called 'Database'
collections returned in databases methods are dictionaries now, conversion to collection instances must be in the core
also refactor the sqlite and base codebase
perf fixes with cql2
fetch is a separated command
…at the init of the core and refactor some related topics

rename provider to federation_backend in database files

create an adapter and a converter for dicts

use ellipsis in database abstract methods

rename CollectionsDict.from_config() to CollectionsDict.from_configs()
also strong performances upgrades for spatial and temporal filtering
still need to update fetch_collection_list
alambare and others added 17 commits July 20, 2026 16:34
Files were fully loaded into memory

The backpressure limit prevents the explosion of buffer size when waiting on long pending requests
Co-authored-by: Sylvain Brunato <sylvain.brunato@c-s.fr>
…1822)

Co-authored-by: Sylvain Brunato <sylvain.brunato@c-s.fr>
Co-authored-by: Sylvain Brunato <sylvain.brunato@c-s.fr>

This branch has not been deployed

No deployments
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.

9 participants