CS-SI / eodag

Earth Observation Data Access Gateway
https://eodag.readthedocs.io
Apache License 2.0
326 stars 44 forks source link

fix(build): update shapely to fix issues with numpy 2.1 #1303

Closed jlahovnik closed 2 months ago

jlahovnik commented 3 months ago

Enforce the use of shapely>=2.0.6 to fix issues with numpy 2.1 occurring with python 3.12.

Fixes #1302

github-actions[bot] commented 3 months ago

Test Results

    4 files  ±  0      4 suites  ±0   6m 23s :stopwatch: +20s   561 tests ±  0    558 :white_check_mark: +182    3 :zzz: +1  0 :x:  - 52  2 244 runs  +195  2 142 :white_check_mark: +481  102 :zzz: +4  0 :x:  - 65 

Results for commit 866af986. ± Comparison against base commit 19486454.

This pull request skips 1 test. ``` tests.units.test_core.TestCoreSearch ‑ test_search_all_request_error ```

:recycle: This comment has been updated with latest results.

github-actions[bot] commented 3 months ago

badge

Code Coverage (Ubuntu)

``` Filename Stmts Miss Cover Missing ----------------------------------------- ------- ------ ------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- __init__.py 8 0 100.00% cli.py 312 59 81.09% 655-714, 816-867, 871 config.py 367 27 92.64% 82-84, 93, 101, 105-107, 175, 186, 452-454, 514-517, 560-561, 570-571, 676, 739-744, 746 crunch.py 5 5 0.00% 20-24 api/__init__.py 0 0 100.00% api/core.py 772 74 90.41% 635, 679-682, 720, 764, 798, 851-856, 882, 973, 1041, 1179, 1262-1274, 1310, 1312, 1340, 1344-1355, 1368-1374, 1457-1460, 1493-1513, 1565, 1582-1586, 1598-1601, 1623-1630, 1944, 1975-1981, 2232, 2236-2239, 2250-2252, 2284 api/search_result.py 51 4 92.16% 73, 82, 89, 103 api/product/__init__.py 6 0 100.00% api/product/_assets.py 48 5 89.58% 75, 147, 155, 158-162 api/product/_product.py 187 20 89.30% 70-72, 237-238, 313, 342, 399, 413-416, 429, 453-456, 499-505 api/product/metadata_mapping.py 675 81 88.00% 129-131, 226, 258-259, 305-306, 316-328, 330, 341, 347-359, 404-405, 442, 463-466, 489, 497-498, 574-575, 599-600, 606-609, 624-625, 774, 820, 991-996, 1123, 1137-1157, 1177, 1182, 1289, 1311, 1325, 1338-1357, 1396, 1448, 1480-1484, 1499 api/product/drivers/__init__.py 6 0 100.00% api/product/drivers/base.py 6 1 83.33% 38 plugins/__init__.py 0 0 100.00% plugins/base.py 21 2 90.48% 48, 55 plugins/manager.py 130 12 90.77% 104-109, 159, 197, 219, 223, 247, 281-282 plugins/apis/__init__.py 0 0 100.00% plugins/apis/base.py 4 0 100.00% plugins/apis/ecmwf.py 91 8 91.21% 149-151, 198-199, 225-227 plugins/apis/usgs.py 180 31 82.78% 132, 234, 268, 303-305, 310, 336-337, 342, 372-379, 390-395, 417-423, 425-431, 454 plugins/authentication/__init__.py 6 1 83.33% 31 plugins/authentication/aws_auth.py 19 0 100.00% plugins/authentication/base.py 17 2 88.24% 34, 47 plugins/authentication/generic.py 14 2 85.71% 40, 50 plugins/authentication/header.py 19 0 100.00% plugins/authentication/keycloak.py 48 4 91.67% 134, 160-165 plugins/authentication/oauth.py 13 7 46.15% 32-34, 38-41 plugins/authentication/openid_connect.py 187 17 90.91% 119, 133-158, 166, 320-323, 349 plugins/authentication/qsauth.py 34 1 97.06% 83 plugins/authentication/sas_auth.py 47 1 97.87% 76 plugins/authentication/token.py 89 16 82.02% 79, 107, 109, 132-145, 201-205 plugins/authentication/token_exchange.py 36 20 44.44% 74-80, 92-122 plugins/crunch/__init__.py 0 0 100.00% plugins/crunch/base.py 10 1 90.00% 40 plugins/crunch/filter_date.py 59 14 76.27% 49-54, 66, 75, 84, 87, 99-101, 110-112, 119 plugins/crunch/filter_latest_intersect.py 47 8 82.98% 51-52, 68, 77-80, 82, 89-92 plugins/crunch/filter_latest_tpl_name.py 31 1 96.77% 83 plugins/crunch/filter_overlap.py 66 18 72.73% 28-30, 68-71, 78-81, 87, 95, 106-122 plugins/crunch/filter_property.py 30 7 76.67% 54-59, 62-63, 79-83 plugins/download/__init__.py 0 0 100.00% plugins/download/aws.py 489 163 66.67% 265, 278, 345-348, 362-366, 408-410, 414, 446-447, 453-457, 486, 518, 522, 529, 559-567, 571, 603-611, 618-620, 654-728, 746-807, 818-823, 835-848, 873, 888-890, 893, 903-911, 919-932, 942-973, 980-992, 1030, 1056, 1101-1103, 1323 plugins/download/base.py 253 51 79.84% 136, 164, 296-297, 314-320, 351-355, 361-362, 404, 407-421, 433, 437, 501-505, 535-536, 544-561, 568-576, 578-582, 625, 647, 669, 677 plugins/download/creodias_s3.py 17 9 47.06% 44-58 plugins/download/http.py 534 129 75.84% 195-207, 209-210, 242-245, 306-309, 311-312, 319-324, 342-357, 374-376, 388, 436, 443-449, 467, 481, 495, 503-505, 521-526, 537, 555, 597-601, 623, 663, 708, 722-728, 757-821, 839, 872-881, 903-904, 931-936, 942, 945, 961, 978-979, 1009-1010, 1017, 1078-1084, 1139-1140, 1146, 1156, 1192, 1228, 1246-1262, 1288-1290 plugins/download/s3rest.py 116 24 79.31% 113, 149, 156, 191, 221-228, 231-233, 237, 248-254, 262-263, 266-270, 293, 314-317 plugins/search/__init__.py 22 0 100.00% plugins/search/base.py 128 13 89.84% 102, 106, 117, 255, 275, 331-332, 352, 355-363 plugins/search/build_search_result.py 181 23 87.29% 95, 136-137, 143, 154, 288-291, 320, 373-390, 450, 453, 463, 480, 508, 510 plugins/search/cop_marine.py 197 47 76.14% 55, 63-65, 71-72, 88, 90, 93, 128-130, 142-143, 183-192, 196, 199, 203, 221, 249, 253, 268, 272, 276, 280, 284-288, 294-297, 300-314, 331, 354, 357, 363 plugins/search/creodias_s3.py 55 3 94.55% 53, 71, 105 plugins/search/csw.py 105 81 22.86% 58-59, 63-64, 72-120, 126-139, 147-179, 197-238 plugins/search/data_request_search.py 200 67 66.50% 90-93, 109, 120, 124-125, 136, 141, 146, 153, 166-169, 223-224, 228, 238-244, 249, 275-278, 286-297, 314, 316, 323-324, 326-327, 345-349, 382, 392, 403, 416, 422-437, 442 plugins/search/qssearch.py 682 93 86.36% 388, 392-398, 406-407, 513-525, 569, 585, 595, 614-629, 666-669, 740-741, 789, 808, 815, 827, 884, 905, 908-909, 918-919, 928-929, 938-939, 966, 1037-1042, 1046-1055, 1089, 1111, 1171, 1220, 1294-1298, 1358, 1361, 1367-1368, 1389, 1416-1428, 1435, 1467-1469, 1479-1485, 1515, 1538, 1553, 1575, 1658-1661, 1666-1669, 1696-1697, 1712 plugins/search/static_stac_search.py 72 10 86.11% 98-125, 141, 154 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 26 0 100.00% rest/constants.py 7 0 100.00% rest/core.py 234 26 88.89% 269, 355, 456, 672, 679-727 rest/server.py 283 53 81.27% 108, 131-133, 246-248, 304-305, 317-333, 425-430, 458, 623-630, 659, 703-704, 727, 798-800, 817-822, 851, 853, 857-858, 862-863 rest/stac.py 473 116 75.48% 318, 340, 392-395, 422-449, 480-482, 505, 537-538, 620-660, 682-698, 772-785, 792, 846-847, 908, 973-975, 1179, 1187-1199, 1210-1232, 1243-1288, 1447-1448 rest/types/__init__.py 0 0 100.00% rest/types/collections_search.py 13 13 0.00% 18-44 rest/types/eodag_search.py 179 5 97.21% 232-236, 289, 292, 360 rest/types/queryables.py 56 1 98.21% 164 rest/types/stac_search.py 126 7 94.44% 129, 175, 190-192, 200, 204 rest/utils/__init__.py 93 12 87.10% 108-109, 128-130, 182, 192-206 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 114 14 87.72% 53, 70, 129-132, 199, 213-222, 232, 253, 266 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 types/whoosh.py 15 0 100.00% utils/__init__.py 500 37 92.60% 85, 90, 194-195, 204-231, 234, 248, 328-332, 406-410, 429-431, 510, 525, 561-562, 926-929, 937-938, 976-977, 1148 utils/constraints.py 119 37 68.91% 89-98, 139, 144, 148, 159, 182-184, 194, 208-224, 233-244 utils/exceptions.py 35 1 97.14% 93 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 30 8 73.33% 36, 38, 42, 76, 94-101 utils/requests.py 55 11 80.00% 64, 88, 90, 92, 94, 96, 112, 120-122, 130 utils/rest.py 36 1 97.22% 55 utils/stac_reader.py 111 45 59.46% 56-57, 63-85, 95-97, 101, 137, 153-156, 203-212, 222-252 TOTAL 9608 1646 82.87% ```

Diff against develop

Filename                                    Stmts    Miss  Cover
----------------------------------------  -------  ------  -------
cli.py                                          0     -11  +3.53%
config.py                                       0     -11  +2.99%
api/core.py                                     0    -128  +16.58%
api/product/_assets.py                          0     -11  +22.91%
api/product/metadata_mapping.py                 0      -7  +1.04%
plugins/manager.py                              0      -9  +6.92%
plugins/apis/ecmwf.py                           0     -55  +60.44%
plugins/apis/usgs.py                            0     -90  +50.00%
plugins/authentication/header.py                0      -2  +10.53%
plugins/authentication/keycloak.py              0     -10  +20.84%
plugins/authentication/openid_connect.py        0      -9  +4.81%
plugins/crunch/filter_latest_tpl_name.py        0      -1  +3.22%
plugins/download/aws.py                         0    -134  +27.41%
plugins/download/base.py                        0     -28  +11.07%
plugins/download/creodias_s3.py                 0      -1  +5.88%
plugins/download/http.py                        0    -292  +54.68%
plugins/search/base.py                          0      -7  +5.46%
plugins/search/build_search_result.py           0      -4  +2.21%
plugins/search/qssearch.py                      0     -17  +2.49%
rest/core.py                                    0     -14  +5.98%
rest/stac.py                                    0      -5  +1.06%
rest/utils/__init__.py                          0      -4  +4.30%
utils/__init__.py                               0     -20  +4.00%
utils/rest.py                                   0     -19  +52.78%
TOTAL                                           0    -889  +9.25%

Results for commit: 866af9861b1d9ab580d6f06e692472ac6424c4f0

Minimum allowed coverage is 70%

:recycle: This comment has been updated with latest results

github-actions[bot] commented 3 months ago

badge

Code Coverage (Windows)

``` Filename Stmts Miss Cover Missing ----------------------------------------- ------- ------ ------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- __init__.py 8 0 100.00% cli.py 312 59 81.09% 655-714, 816-867, 871 config.py 367 28 92.37% 82-84, 93, 101, 105-107, 175, 186, 452-454, 514-517, 560-561, 570-571, 676, 707, 739-744, 746 crunch.py 5 5 0.00% 20-24 api/__init__.py 0 0 100.00% api/core.py 772 74 90.41% 635, 679-682, 720, 764, 798, 851-856, 882, 973, 1041, 1179, 1262-1274, 1310, 1312, 1340, 1344-1355, 1368-1374, 1457-1460, 1493-1513, 1565, 1582-1586, 1598-1601, 1623-1630, 1944, 1975-1981, 2232, 2236-2239, 2250-2252, 2284 api/search_result.py 51 4 92.16% 73, 82, 89, 103 api/product/__init__.py 6 0 100.00% api/product/_assets.py 48 5 89.58% 75, 147, 155, 158-162 api/product/_product.py 187 20 89.30% 70-72, 237-238, 313, 342, 399, 413-416, 429, 453-456, 499-505 api/product/metadata_mapping.py 675 81 88.00% 129-131, 226, 258-259, 305-306, 316-328, 330, 341, 347-359, 404-405, 442, 463-466, 489, 497-498, 574-575, 599-600, 606-609, 624-625, 774, 820, 991-996, 1123, 1137-1157, 1177, 1182, 1289, 1311, 1325, 1338-1357, 1396, 1448, 1480-1484, 1499 api/product/drivers/__init__.py 6 0 100.00% api/product/drivers/base.py 6 1 83.33% 38 plugins/__init__.py 0 0 100.00% plugins/base.py 21 3 85.71% 48, 55, 68 plugins/manager.py 130 12 90.77% 104-109, 159, 197, 219, 223, 247, 281-282 plugins/apis/__init__.py 0 0 100.00% plugins/apis/base.py 4 0 100.00% plugins/apis/ecmwf.py 91 8 91.21% 149-151, 198-199, 225-227 plugins/apis/usgs.py 180 31 82.78% 132, 234, 268, 303-305, 310, 336-337, 342, 372-379, 390-395, 417-423, 425-431, 454 plugins/authentication/__init__.py 6 1 83.33% 31 plugins/authentication/aws_auth.py 19 0 100.00% plugins/authentication/base.py 17 2 88.24% 34, 47 plugins/authentication/generic.py 14 2 85.71% 40, 50 plugins/authentication/header.py 19 0 100.00% plugins/authentication/keycloak.py 48 4 91.67% 134, 160-165 plugins/authentication/oauth.py 13 7 46.15% 32-34, 38-41 plugins/authentication/openid_connect.py 187 17 90.91% 119, 133-158, 166, 320-323, 349 plugins/authentication/qsauth.py 34 1 97.06% 83 plugins/authentication/sas_auth.py 47 1 97.87% 76 plugins/authentication/token.py 89 16 82.02% 79, 107, 109, 132-145, 201-205 plugins/authentication/token_exchange.py 36 20 44.44% 74-80, 92-122 plugins/crunch/__init__.py 0 0 100.00% plugins/crunch/base.py 10 1 90.00% 40 plugins/crunch/filter_date.py 59 14 76.27% 49-54, 66, 75, 84, 87, 99-101, 110-112, 119 plugins/crunch/filter_latest_intersect.py 47 33 29.79% 48-53, 66-111 plugins/crunch/filter_latest_tpl_name.py 31 1 96.77% 83 plugins/crunch/filter_overlap.py 66 18 72.73% 28-30, 68-71, 78-81, 87, 95, 106-122 plugins/crunch/filter_property.py 30 7 76.67% 54-59, 62-63, 79-83 plugins/download/__init__.py 0 0 100.00% plugins/download/aws.py 489 163 66.67% 265, 278, 345-348, 362-366, 408-410, 414, 446-447, 453-457, 486, 518, 522, 529, 559-567, 571, 603-611, 618-620, 654-728, 746-807, 818-823, 835-848, 873, 888-890, 893, 903-911, 919-932, 942-973, 980-992, 1030, 1056, 1101-1103, 1323 plugins/download/base.py 253 53 79.05% 136, 164, 231-233, 296-297, 314-320, 351-355, 361-362, 404, 407-421, 433, 437, 501-505, 535-536, 544-561, 568-576, 578-582, 625, 647, 669, 677 plugins/download/creodias_s3.py 17 9 47.06% 44-58 plugins/download/http.py 534 130 75.66% 195-207, 209-210, 242-245, 306-309, 311-312, 319-324, 342-357, 374-376, 388, 436, 443-449, 467, 481, 495, 503-505, 521-526, 537, 555, 597-601, 623, 663, 708, 722-728, 757-821, 839, 872-881, 903-904, 931-936, 942, 945, 961, 978-979, 992, 1009-1010, 1017, 1078-1084, 1139-1140, 1146, 1156, 1192, 1228, 1246-1262, 1288-1290 plugins/download/s3rest.py 116 24 79.31% 113, 149, 156, 191, 221-228, 231-233, 237, 248-254, 262-263, 266-270, 293, 314-317 plugins/search/__init__.py 22 0 100.00% plugins/search/base.py 128 14 89.06% 102, 106, 117, 255, 275, 331-332, 352, 355-363, 365 plugins/search/build_search_result.py 181 30 83.43% 95, 136-137, 143, 154, 288-291, 320, 373-390, 450, 453, 463, 480, 500-515 plugins/search/cop_marine.py 197 47 76.14% 55, 63-65, 71-72, 88, 90, 93, 128-130, 142-143, 183-192, 196, 199, 203, 221, 249, 253, 268, 272, 276, 280, 284-288, 294-297, 300-314, 331, 354, 357, 363 plugins/search/creodias_s3.py 55 3 94.55% 53, 71, 105 plugins/search/csw.py 105 81 22.86% 58-59, 63-64, 72-120, 126-139, 147-179, 197-238 plugins/search/data_request_search.py 200 67 66.50% 90-93, 109, 120, 124-125, 136, 141, 146, 153, 166-169, 223-224, 228, 238-244, 249, 275-278, 286-297, 314, 316, 323-324, 326-327, 345-349, 382, 392, 403, 416, 422-437, 442 plugins/search/qssearch.py 682 122 82.11% 388, 392-398, 406-407, 513-525, 569, 572, 585, 595, 614-629, 666-669, 740-741, 789, 808, 815, 827, 884, 905, 908-909, 918-919, 928-929, 938-939, 966, 1037-1042, 1046-1055, 1089, 1111, 1171, 1220, 1294-1298, 1358, 1361, 1367-1368, 1389, 1416-1428, 1435, 1467-1469, 1479-1485, 1515, 1538, 1553, 1575, 1641-1741 plugins/search/static_stac_search.py 72 10 86.11% 98-125, 141, 154 rest/__init__.py 4 2 50.00% 21-22 rest/cache.py 33 22 33.33% 35-37, 44-70 rest/config.py 26 1 96.15% 36 rest/constants.py 7 0 100.00% rest/core.py 234 129 44.87% 162, 164, 166, 171-172, 193-202, 213-219, 260-314, 327-365, 396-430, 445-461, 479-490, 504-535, 552, 594-633, 672, 679-727 rest/server.py 283 283 0.00% 18-874 rest/stac.py 473 177 62.58% 252, 318, 340, 392-395, 422-449, 480-482, 505, 537-538, 620-660, 682-698, 725, 772-785, 792, 846-847, 853, 906, 908, 964, 973-975, 991-993, 1000-1002, 1014-1016, 1028-1045, 1053-1074, 1082-1104, 1111-1128, 1147-1170, 1179, 1187-1199, 1210-1232, 1243-1288, 1332-1365, 1441-1467 rest/types/__init__.py 0 0 100.00% rest/types/collections_search.py 13 13 0.00% 18-44 rest/types/eodag_search.py 179 14 92.18% 232-236, 269-271, 289, 292, 298, 302, 360, 372-375 rest/types/queryables.py 56 13 76.79% 51-52, 59-60, 67-68, 94-99, 108-109, 164 rest/types/stac_search.py 126 11 91.27% 127-129, 175, 190-192, 200, 204, 252, 255 rest/utils/__init__.py 93 30 67.74% 79-85, 105, 108-109, 128-130, 143, 150, 175-183, 190-211 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 114 39 65.79% 53, 66-70, 81-93, 120-122, 129-132, 172, 199, 209-225, 230, 232, 253, 258, 266, 276 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 types/whoosh.py 15 0 100.00% utils/__init__.py 500 37 92.60% 85, 90, 194-195, 204-231, 234, 248, 328-332, 406-410, 429-431, 510, 525, 561-562, 926-929, 937-938, 976-977, 1148 utils/constraints.py 119 37 68.91% 89-98, 139, 144, 148, 159, 182-184, 194, 208-224, 233-244 utils/exceptions.py 35 1 97.14% 93 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 30 8 73.33% 36, 38, 42, 76, 94-101 utils/requests.py 55 11 80.00% 64, 88, 90, 92, 94, 96, 112, 120-122, 130 utils/rest.py 36 1 97.22% 55 utils/stac_reader.py 111 45 59.46% 56-57, 63-85, 95-97, 101, 137, 153-156, 203-212, 222-252 TOTAL 9608 2193 77.18% ```

Diff against develop

Filename                                    Stmts    Miss  Cover
----------------------------------------  -------  ------  -------
cli.py                                          0     -35  +11.22%
config.py                                       0     -36  +9.81%
api/core.py                                     0    -314  +40.67%
api/product/_assets.py                          0     -11  +22.91%
api/product/_product.py                         0      -2  +1.06%
api/product/metadata_mapping.py                 0     -89  +13.19%
plugins/manager.py                              0     -15  +11.54%
plugins/apis/ecmwf.py                           0     -55  +60.44%
plugins/apis/usgs.py                            0    -121  +67.22%
plugins/authentication/aws_auth.py              0     -12  +63.16%
plugins/authentication/header.py                0      -9  +47.37%
plugins/authentication/keycloak.py              0     -27  +56.25%
plugins/authentication/openid_connect.py        0     -14  +7.49%
plugins/authentication/qsauth.py                0     -19  +55.88%
plugins/authentication/sas_auth.py              0     -30  +63.83%
plugins/crunch/filter_date.py                   0     -31  +52.54%
plugins/crunch/filter_latest_tpl_name.py        0     -19  +61.29%
plugins/crunch/filter_overlap.py                0     -38  +57.58%
plugins/download/aws.py                         0    -258  +52.76%
plugins/download/base.py                        0     -47  +18.58%
plugins/download/creodias_s3.py                 0      -1  +5.88%
plugins/download/http.py                        0    -292  +54.69%
plugins/download/s3rest.py                      0     -73  +62.93%
plugins/search/base.py                          0     -39  +30.47%
plugins/search/build_search_result.py           0    -100  +55.25%
plugins/search/cop_marine.py                    0    -117  +59.39%
plugins/search/creodias_s3.py                   0     -31  +56.37%
plugins/search/data_request_search.py           0    -106  +53.00%
plugins/search/qssearch.py                      0    -232  +34.02%
plugins/search/static_stac_search.py            0     -29  +40.28%
rest/config.py                                  0      -3  +11.53%
rest/core.py                                    0     -48  +20.51%
rest/stac.py                                    0    -228  +48.20%
rest/types/eodag_search.py                      0      -1  +0.56%
rest/types/stac_search.py                       0     -57  +45.24%
rest/utils/__init__.py                          0     -20  +21.50%
rest/utils/cql_evaluate.py                      0     -22  +45.83%
rest/utils/rfc3339.py                           0     -14  +60.87%
types/__init__.py                               0     -39  +34.21%
types/search_args.py                            0     -15  +21.43%
utils/__init__.py                               0     -33  +6.60%
utils/constraints.py                            0     -10  +8.41%
utils/exceptions.py                             0      -5  +14.28%
utils/logging.py                                0     -13  +46.43%
utils/notebook.py                               0      -2  +4.55%
utils/rest.py                                   0     -20  +55.55%
utils/stac_reader.py                            0     -42  +37.84%
TOTAL                                           0   -2774  +28.88%

Results for commit: 866af9861b1d9ab580d6f06e692472ac6424c4f0

Minimum allowed coverage is 70%

:recycle: This comment has been updated with latest results