{"receipt_id":"base-1","seq":1,"branch_id":"base","kind":"command","cmd":"python -c 'import base64; from pathlib import Path; Path('\"'\"'/tmp/receipts-ericmjl__pyjanitor-728-test.patch'\"'\"').write_bytes(base64.b64decode('\"'\"'ZGlmZiAtLWdpdCBhL3Rlc3RzL3RpbWVzZXJpZXMvdGVzdF9zb3J0X3RpbWVzdGFtcHNfbW9ub3RvbmljYWxseS5weSBiL3Rlc3RzL3RpbWVzZXJpZXMvdGVzdF9zb3J0X3RpbWVzdGFtcHNfbW9ub3RvbmljYWxseS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MTNmZmZhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdGltZXNlcmllcy90ZXN0X3NvcnRfdGltZXN0YW1wc19tb25vdG9uaWNhbGx5LnB5CkBAIC0wLDAgKzEsNTIgQEAKK2ltcG9ydCBweXRlc3QKK2ltcG9ydCBwYW5kYXMgYXMgcGQKK2Zyb20gcmFuZG9tIGltcG9ydCByYW5kaW50CitpbXBvcnQgamFuaXRvciAgIyBub3FhOiBGNDAxCitpbXBvcnQgamFuaXRvci50aW1lc2VyaWVzICAjIG5vcWE6IEY0MDEKKworCitAcHl0ZXN0LmZpeHR1cmUKK2RlZiB0aW1lc2VyaWVzX2RhdGFmcmFtZSgpIC0+IHBkLkRhdGFGcmFtZToKKyAgICAiIiIKKyAgICBSZXR1cm5zIGEgdGltZSBzZXJpZXMgZGF0YWZyYW1lCisgICAgIiIiCisgICAgdHNfaW5kZXggPSBwZC5kYXRlX3JhbmdlKCIxLzEvMjAxOSIsIHBlcmlvZHM9MTAwMCwgZnJlcT0iMUgiKQorICAgIHYxID0gW3JhbmRpbnQoMSwgMjAwMCkgZm9yIGkgaW4gcmFuZ2UoMTAwMCldCisgICAgdGVzdF9kZiA9IHBkLkRhdGFGcmFtZSh7InYxIjogdjF9LCBpbmRleD10c19pbmRleCkKKyAgICByZXR1cm4gdGVzdF9kZgorCisKKyMgTk9URTogVGhlIHRlc3RzIHBvc3NpYmx5IGNhbiBiZSBtZXJnZWQgYmFjayB0b2dldGhlciBsYXRlcgorIyBpZiB0aGV5IGFyZSBwYXJhbWV0cml6ZWQgcHJvcGVybHkuCisjIE5PVEU6IFRoZXNlIHRlc3RzIHVzZSBgZGYuZXF1YWxzKG90aGVyX2RmKWAsCisjIGJlY2F1c2UgdGhlIGRlc2lyZWQgYHBkLmFzc2VydF9mcmFtZV9lcXVhbChkZiwgb3RoZXJfZGYpYAorIyBjb25zdGFudGx5IGZhaWxlZCBvbiB0aGUgQ0kgc3lzdGVtcy4KKyMgSXQncyBhIHRhc2sgZm9yIGxhdGVyIHRvIGZpeC4KKworCitAcHl0ZXN0Lm1hcmsudGltZXNlcmllcworZGVmIHRlc3Rfc29ydF90aW1lc3RhbXBzX21vbm90b25pY2FsbHkodGltZXNlcmllc19kYXRhZnJhbWUpOgorICAgICIiIlRlc3Qgc29ydF90aW1lc3RhbXBzX21vbm90b25pY2FsbHkgZm9yIGFzY2VuZGluZyBvcmRlciIiIgorICAgIGRmID0gdGltZXNlcmllc19kYXRhZnJhbWUuc2h1ZmZsZSgKKyAgICAgICAgcmVzZXRfaW5kZXg9RmFsc2UKKyAgICApLnNvcnRfdGltZXN0YW1wc19tb25vdG9uaWNhbGx5KCkKKyAgICBhc3NlcnQgZGYuZXF1YWxzKHRpbWVzZXJpZXNfZGF0YWZyYW1lKQorCisKK0BweXRlc3QubWFyay50aW1lc2VyaWVzCitkZWYgdGVzdF9zb3J0X3RpbWVzdGFtcHNfbW9ub3RvbmljYWxseV9kZWNyZWFzaW5nKHRpbWVzZXJpZXNfZGF0YWZyYW1lKToKKyAgICAiIiJUZXN0IHNvcnRfdGltZXN0YW1wc19tb25vdG9uaWNhbGx5IGZvciBkZXNjZW5kaW5nIG9yZGVyIiIiCisgICAgZGYyID0gdGltZXNlcmllc19kYXRhZnJhbWUuc29ydF9pbmRleChhc2NlbmRpbmc9RmFsc2UpCisgICAgZGYzID0gZGYyLnNvcnRfdGltZXN0YW1wc19tb25vdG9uaWNhbGx5KCJkZWNyZWFzaW5nIikKKyAgICBhc3NlcnQgZGYzLmVxdWFscyhkZjIpCisKKworQHB5dGVzdC5tYXJrLnRpbWVzZXJpZXMKK2RlZiB0ZXN0X3NvcnRfdGltZXN0YW1wc19tb25vdG9uaWNhbGx5X3N0cmljdCh0aW1lc2VyaWVzX2RhdGFmcmFtZSk6CisgICAgIiIiVGVzdCBzb3J0X3RpbWVzdGFtcHNfbW9ub3RvbmljYWxseSBmb3IgaW5kZXggZHVwbGljYXRpb24gaGFuZGxpbmciIiIKKyAgICBkZiA9IHRpbWVzZXJpZXNfZGF0YWZyYW1lLnNodWZmbGUocmVzZXRfaW5kZXg9RmFsc2UpCisgICAgcmFuZG9tX251bWJlciA9IHJhbmRpbnQoMSwgbGVuKHRpbWVzZXJpZXNfZGF0YWZyYW1lKSkKKyAgICBkZiA9IGRmLmFwcGVuZCgKKyAgICAgICAgZGYubG9jW2RmLmluZGV4W3JhbmRvbV9udW1iZXJdLCA6XQorICAgICkuc29ydF90aW1lc3RhbXBzX21vbm90b25pY2FsbHkoZGlyZWN0aW9uPSJpbmNyZWFzaW5nIiwgc3RyaWN0PVRydWUpCisgICAgYXNzZXJ0IGRmLmVxdWFscyh0aW1lc2VyaWVzX2RhdGFmcmFtZSkK'\"'\"'))'","path":null,"exit_code":0,"stdout_tail":"","stderr_tail":"","stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","log_path":"~/dev/nebius-hackathon/pilot/v2-P/ericmjl__pyjanitor-728/runs/pilot-ericmjl__pyjanitor-728-65b2a91a53/logs/base/base-1.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T20:14:00.793931Z","duration_s":0.02502,"timed_out":false,"image_before":"d0432f45-3ed9-354d-8037-38d99684bc91","image_after":"7271e08b-ee59-4ace-903e-43fd8f9e97b5","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"base-2","seq":2,"branch_id":"base","kind":"command","cmd":"git apply /tmp/receipts-ericmjl__pyjanitor-728-test.patch","path":null,"exit_code":0,"stdout_tail":"","stderr_tail":"","stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","log_path":"~/dev/nebius-hackathon/pilot/v2-P/ericmjl__pyjanitor-728/runs/pilot-ericmjl__pyjanitor-728-65b2a91a53/logs/base/base-2.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T20:14:02.594225Z","duration_s":0.003448,"timed_out":false,"image_before":"7271e08b-ee59-4ace-903e-43fd8f9e97b5","image_after":"b4c6fbdb-7cd1-47aa-b873-f11b354107c6","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"base-3","seq":3,"branch_id":"base","kind":"command","cmd":"/opt/receipts-43dcec50f9294c0d920d6c2728270cc7/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-43dcec50f9294c0d920d6c2728270cc7/receipts_pytest.py --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning tests/timeseries/test_sort_timestamps_monotonically.py -o junit_family=xunit1 -p no:cacheprovider -rA --continue-on-collection-errors --junitxml=/opt/receipts/reports/base-3.xml","path":null,"exit_code":1,"stdout_tail":"============================= test session starts ==============================\ncollected 3 items\n\ntests/timeseries/test_sort_timestamps_monotonically.py FFF               [100%]\n\n=================================== FAILURES ===================================\nE   AttributeError: 'DataFrame' object has no attribute 'sort_timestamps_monotonically'\n/usr/local/lib/python3.10/site-packages/pandas/core/generic.py:6321: AttributeError: 'DataFrame' object has no attribute 'sort_timestamps_monotonically'\nE   AttributeError: 'DataFrame' object has no attribute 'sort_timestamps_monotonically'\n/usr/local/lib/python3.10/site-packages/pandas/core/generic.py:6321: AttributeError: 'DataFrame' object has no attribute 'sort_timestamps_monotonically'\nE   AttributeError: 'DataFrame' object has no attribute 'append'. Did you mean: '_append'?\n/usr/local/lib/python3.10/site-packages/pandas/core/generic.py:6321: AttributeError: 'DataFrame' object has no attribute 'append'. Did you mean: '_append'?\n=============================== warnings summary ===============================\ntests/timeseries/test_sort_timestamps_monotonically.py:27\n  /pyjanitor/tests/timeseries/test_sort_timestamps_monotonically.py:27: PytestUnknownMarkWarning: Unknown pytest.mark.timeseries - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html\n    @pytest.mark.timeseries\n\ntests/timeseries/test_sort_timestamps_monotonically.py:36\n  /pyjanitor/tests/timeseries/test_sort_timestamps_monotonically.py:36: PytestUnknownMarkWarning: Unknown pytest.mark.timeseries - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html\n    @pytest.mark.timeseries\n\ntests/timeseries/test_sort_timestamps_monotonically.py:44\n  /pyjanitor/tests/timeseries/test_sort_timestamps_monotonically.py:44: PytestUnknownMarkWarning: Unknown pytest.mark.timeseries - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html\n    @pytest.mark.timeseries\n\ntests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically\ntests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically_decreasing\ntests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically_strict\n  /pyjanitor/tests/timeseries/test_sort_timestamps_monotonically.py:13: FutureWarning: 'H' is deprecated and will be removed in a future version, please use 'h' instead.\n    ts_index = pd.date_range(\"1/1/2019\", periods=1000, freq=\"1H\")\n\n-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html\n------------- generated xml file: /opt/receipts/reports/base-3.xml -------------\n================================ tests coverage ================================\n_______________ coverage: platform linux, python 3.10.19-final-0 _______________\n\nName                                  Stmts   Miss  Cover   Missing\n-------------------------------------------------------------------\njanitor/__init__.py                      12      3    75%   4-5, 21\njanitor/biology.py                       14     14     0%   5-84\njanitor/chemistry.py                     73     73     0%   5-461\njanitor/engineering.py                   21     21     0%   5-106\njanitor/errors.py                         2      0   100%\njanitor/finance.py                       85     85     0%   5-654\njanitor/functions.py                    718    535    25%   90-134, 180-223, 287-308, 313-325, 330, 346-347, 355-358, 366, 404-410, 445-446, 480-495, 534-548, 583-585, 614-616, 657-667, 717-727, 761-766, 800-806, 838-842, 878-890, 929-934, 975-985, 1076-1124, 1189-1193, 1252-1255, 1432-1469, 1515-1524, 1548, 1585-1600, 1725-1772, 1809-1812, 1897-1929, 2044-2055, 2167-2177, 2272-2281, 2361-2385, 2461-2489, 2544-2555, 2745-2779, 2814-2844, 2909-2944, 2960-2961, 2981, 3067-3069, 3095-3109, 3164-3170, 3201-3203, 3250-3270, 3286-3295, 3300, 3304, 3308, 3315-3326, 3367-3379, 3418-3433, 3466-3470, 3496, 3544-3545, 3598-3617, 3681-3698, 3733, 3818-3840, 3912-3913, 4006-4027, 4116-4127, 4224-4268, 4369-4387\njanitor/io.py                            24     24     0%   1-63\njanitor/math.py                          79     55    30%   31-42, 48, 57, 76-89, 95, 115-128, 153-160, 191-200\njanitor/ml.py                            15      8    47%   60-71\njanitor/spark/__init__.py                 1      1     0%   1\njanitor/spark/backend.py                 37     37     0%   3-102\njanitor/spark/functions.py               30     30     0%   5-182\njanitor/testing_utils/__init__.py         0      0   100%\njanitor/testing_utils/date_data.py        1      0   100%\njanitor/testing_utils/strategies.py      12     12     0%   5-69\njanitor/timeseries.py                    18     12    33%   46-60, 83-89\njanitor/utils.py                        164    129    21%   29-36, 54-60, 73-101, 105-106, 110-111, 133-136, 143-155, 177-202, 217-220, 250-251, 282-283, 304-314, 335-343, 366-372, 400-408, 423-470, 490-539\njanitor/xarray/__init__.py                1      0   100%\njanitor/xarray/functions.py              16      7    56%   71-86, 128-130\n-------------------------------------------------------------------\nTOTAL                                  1323   1046    21%\n=========================== short test summary info ============================\nFAILED tests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically\nFAILED tests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically_decreasing\nFAILED tests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically_strict\n======================== 3 failed, 6 warnings in 0.91s =========================\n","stderr_tail":"","stdout_sha256":"aa25b52481e7320b7703be9ddb5b458d607654d4bee978e69bfc21906bccd9cf","log_path":"~/dev/nebius-hackathon/pilot/v2-P/ericmjl__pyjanitor-728/runs/pilot-ericmjl__pyjanitor-728-65b2a91a53/logs/base/base-3.log","tree_digest":"6e02310dedac1f68a25b1bad969f90068198e546d13d3a8495dcbbd9cf135caf","tree_download_s":8.043976291781291,"started_at":"2026-10-03T20:14:04.378174Z","duration_s":4.888718000000001,"timed_out":false,"image_before":"b4c6fbdb-7cd1-47aa-b873-f11b354107c6","image_after":"04477da7-7eba-4e59-b247-a8b00131bfa6","junit":{"passed":[],"failed":["tests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically","tests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically_decreasing","tests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically_strict"],"errors":[],"skipped":[],"collection_errors":[],"failure_text":{"tests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically":"AttributeError: 'DataFrame' object has no attribute 'sort_timestamps_monotonically'\nE   AttributeError: 'DataFrame' object has no attribute 'sort_timestamps_monotonically'","tests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically_decreasing":"AttributeError: 'DataFrame' object has no attribute 'sort_timestamps_monotonically'\nE   AttributeError: 'DataFrame' object has no attribute 'sort_timestamps_monotonically'","tests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically_strict":"AttributeError: 'DataFrame' object has no attribute 'append'. Did you mean: '_append'?\nE   AttributeError: 'DataFrame' object has no attribute 'append'. Did you mean: '_append'?"}},"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"base-4","seq":4,"branch_id":"base","kind":"command","cmd":"/opt/receipts-c6af921825c24bb9a6f7372bd7f1ca33/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-c6af921825c24bb9a6f7372bd7f1ca33/receipts_pytest.py --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning tests/timeseries/test_sort_timestamps_monotonically.py -o junit_family=xunit1 -p no:cacheprovider -rA --continue-on-collection-errors --junitxml=/opt/receipts/reports/base-4.xml","path":null,"exit_code":1,"stdout_tail":"============================= test session starts ==============================\ncollected 3 items\n\ntests/timeseries/test_sort_timestamps_monotonically.py FFF               [100%]\n\n=================================== FAILURES ===================================\nE   AttributeError: 'DataFrame' object has no attribute 'sort_timestamps_monotonically'\n/usr/local/lib/python3.10/site-packages/pandas/core/generic.py:6321: AttributeError: 'DataFrame' object has no attribute 'sort_timestamps_monotonically'\nE   AttributeError: 'DataFrame' object has no attribute 'sort_timestamps_monotonically'\n/usr/local/lib/python3.10/site-packages/pandas/core/generic.py:6321: AttributeError: 'DataFrame' object has no attribute 'sort_timestamps_monotonically'\nE   AttributeError: 'DataFrame' object has no attribute 'append'. Did you mean: '_append'?\n/usr/local/lib/python3.10/site-packages/pandas/core/generic.py:6321: AttributeError: 'DataFrame' object has no attribute 'append'. Did you mean: '_append'?\n=============================== warnings summary ===============================\ntests/timeseries/test_sort_timestamps_monotonically.py:27\n  /pyjanitor/tests/timeseries/test_sort_timestamps_monotonically.py:27: PytestUnknownMarkWarning: Unknown pytest.mark.timeseries - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html\n    @pytest.mark.timeseries\n\ntests/timeseries/test_sort_timestamps_monotonically.py:36\n  /pyjanitor/tests/timeseries/test_sort_timestamps_monotonically.py:36: PytestUnknownMarkWarning: Unknown pytest.mark.timeseries - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html\n    @pytest.mark.timeseries\n\ntests/timeseries/test_sort_timestamps_monotonically.py:44\n  /pyjanitor/tests/timeseries/test_sort_timestamps_monotonically.py:44: PytestUnknownMarkWarning: Unknown pytest.mark.timeseries - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html\n    @pytest.mark.timeseries\n\ntests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically\ntests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically_decreasing\ntests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically_strict\n  /pyjanitor/tests/timeseries/test_sort_timestamps_monotonically.py:13: FutureWarning: 'H' is deprecated and will be removed in a future version, please use 'h' instead.\n    ts_index = pd.date_range(\"1/1/2019\", periods=1000, freq=\"1H\")\n\n-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html\n------------- generated xml file: /opt/receipts/reports/base-4.xml -------------\n================================ tests coverage ================================\n_______________ coverage: platform linux, python 3.10.19-final-0 _______________\n\nName                                  Stmts   Miss  Cover   Missing\n-------------------------------------------------------------------\njanitor/__init__.py                      12      3    75%   4-5, 21\njanitor/biology.py                       14     14     0%   5-84\njanitor/chemistry.py                     73     73     0%   5-461\njanitor/engineering.py                   21     21     0%   5-106\njanitor/errors.py                         2      0   100%\njanitor/finance.py                       85     85     0%   5-654\njanitor/functions.py                    718    535    25%   90-134, 180-223, 287-308, 313-325, 330, 346-347, 355-358, 366, 404-410, 445-446, 480-495, 534-548, 583-585, 614-616, 657-667, 717-727, 761-766, 800-806, 838-842, 878-890, 929-934, 975-985, 1076-1124, 1189-1193, 1252-1255, 1432-1469, 1515-1524, 1548, 1585-1600, 1725-1772, 1809-1812, 1897-1929, 2044-2055, 2167-2177, 2272-2281, 2361-2385, 2461-2489, 2544-2555, 2745-2779, 2814-2844, 2909-2944, 2960-2961, 2981, 3067-3069, 3095-3109, 3164-3170, 3201-3203, 3250-3270, 3286-3295, 3300, 3304, 3308, 3315-3326, 3367-3379, 3418-3433, 3466-3470, 3496, 3544-3545, 3598-3617, 3681-3698, 3733, 3818-3840, 3912-3913, 4006-4027, 4116-4127, 4224-4268, 4369-4387\njanitor/io.py                            24     24     0%   1-63\njanitor/math.py                          79     55    30%   31-42, 48, 57, 76-89, 95, 115-128, 153-160, 191-200\njanitor/ml.py                            15      8    47%   60-71\njanitor/spark/__init__.py                 1      1     0%   1\njanitor/spark/backend.py                 37     37     0%   3-102\njanitor/spark/functions.py               30     30     0%   5-182\njanitor/testing_utils/__init__.py         0      0   100%\njanitor/testing_utils/date_data.py        1      0   100%\njanitor/testing_utils/strategies.py      12     12     0%   5-69\njanitor/timeseries.py                    18     12    33%   46-60, 83-89\njanitor/utils.py                        164    129    21%   29-36, 54-60, 73-101, 105-106, 110-111, 133-136, 143-155, 177-202, 217-220, 250-251, 282-283, 304-314, 335-343, 366-372, 400-408, 423-470, 490-539\njanitor/xarray/__init__.py                1      0   100%\njanitor/xarray/functions.py              16      7    56%   71-86, 128-130\n-------------------------------------------------------------------\nTOTAL                                  1323   1046    21%\n=========================== short test summary info ============================\nFAILED tests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically\nFAILED tests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically_decreasing\nFAILED tests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically_strict\n======================== 3 failed, 6 warnings in 0.87s =========================\n","stderr_tail":"","stdout_sha256":"24d017f72af482482634ec26183c85a7a26a71f587bd28b2faabc6dd5f18a246","log_path":"~/dev/nebius-hackathon/pilot/v2-P/ericmjl__pyjanitor-728/runs/pilot-ericmjl__pyjanitor-728-65b2a91a53/logs/base/base-4.log","tree_digest":"6e02310dedac1f68a25b1bad969f90068198e546d13d3a8495dcbbd9cf135caf","tree_download_s":9.754014665959403,"started_at":"2026-10-03T20:14:20.764111Z","duration_s":4.738418,"timed_out":false,"image_before":"04477da7-7eba-4e59-b247-a8b00131bfa6","image_after":"63fbb724-6d16-4c26-a096-a302c401f771","junit":{"passed":[],"failed":["tests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically","tests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically_decreasing","tests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically_strict"],"errors":[],"skipped":[],"collection_errors":[],"failure_text":{"tests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically":"AttributeError: 'DataFrame' object has no attribute 'sort_timestamps_monotonically'\nE   AttributeError: 'DataFrame' object has no attribute 'sort_timestamps_monotonically'","tests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically_decreasing":"AttributeError: 'DataFrame' object has no attribute 'sort_timestamps_monotonically'\nE   AttributeError: 'DataFrame' object has no attribute 'sort_timestamps_monotonically'","tests/timeseries/test_sort_timestamps_monotonically.py::test_sort_timestamps_monotonically_strict":"AttributeError: 'DataFrame' object has no attribute 'append'. Did you mean: '_append'?\nE   AttributeError: 'DataFrame' object has no attribute 'append'. Did you mean: '_append'?"}},"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"base-5","seq":5,"branch_id":"base","kind":"command","cmd":"python -c 'import base64\nimport hashlib\nimport json\nimport os\nfrom pathlib import Path\n\npayload = json.loads(base64.b64decode('\"'\"'eyJ0ZXN0X2ZpbGVzIjpbInRlc3RzL3RpbWVzZXJpZXMvdGVzdF9zb3J0X3RpbWVzdGFtcHNfbW9ub3RvbmljYWxseS5weSJdLCJ0ZXN0X3Jvb3RzIjpbInRlc3RzL3RpbWVzZXJpZXMiXSwiY29uZmlnX25hbWVzIjpbIi5weXRlc3QudG9tbCIsImNvbmZ0ZXN0LnB5IiwicHlwcm9qZWN0LnRvbWwiLCJweXRlc3QuaW5pIiwicHl0ZXN0LnRvbWwiLCJzZXR1cC5jZmciLCJ0b3guaW5pIl19'\"'\"'))\nexcluded = {'\"'\"'.git'\"'\"', '\"'\"'.venv'\"'\"', '\"'\"'__pycache__'\"'\"', '\"'\"'site-packages'\"'\"'}\n\ndef digest(path):\n    return hashlib.sha256(path.read_bytes()).hexdigest()\n\ntests = {}\nfor item in payload['\"'\"'test_files'\"'\"']:\n    path = Path(item)\n    if path.is_file():\n        tests[path.as_posix()] = digest(path)\nfor item in payload['\"'\"'test_roots'\"'\"']:\n    root = Path(item)\n    if not root.is_dir():\n        continue\n    for directory, names, filenames in os.walk(root, followlinks=False):\n        names[:] = sorted(name for name in names if name not in excluded)\n        for filename in sorted(filenames):\n            path = Path(directory, filename)\n            if path.is_file():\n                tests[path.as_posix()] = digest(path)\n\nconfigs = {}\nfor directory, names, filenames in os.walk('\"'\"'.'\"'\"', followlinks=False):\n    names[:] = sorted(name for name in names if name not in excluded)\n    for filename in sorted(filenames):\n        if filename not in payload['\"'\"'config_names'\"'\"']:\n            continue\n        path = Path(directory, filename)\n        rendered = path.as_posix()\n        rendered = rendered[2:] if rendered.startswith('\"'\"'./'\"'\"') else rendered\n        configs[rendered] = digest(path)\n\nprint(json.dumps({'\"'\"'test_digests'\"'\"': tests, '\"'\"'pytest_config_digests'\"'\"': configs}, sort_keys=True))\n'","path":null,"exit_code":0,"stdout_tail":"{\"pytest_config_digests\": {\"pyproject.toml\": \"ff407db1b45b827549333df78686544ccebf32417bd0307a54b94d61d4ccfd9e\", \"pytest.ini\": \"e972a01a7011706739fca9b3e538e803ed55fb6e2a95ceeb1086ce7d8a582a97\", \"tests/conftest.py\": \"e25f1838eb06509a5149d7bf0674112308b3e2b10c6cd7941e6d326c05b7993d\", \"tests/spark/conftest.py\": \"d38cc24d65fd3c9395f673d0a5e56a75cafc81dad1d5ca8c83ec5462d6844cca\", \"tests/xarray/conftest.py\": \"ac3dc4fef8e64eb9f4605b2b02e836bdcbfeffcaa81889b1c4f4f8f0217764e4\"}, \"test_digests\": {\"tests/timeseries/test_fill_missing_timestamps.py\": \"7a9895880015ac862884d09a5eeea29fb7d30eebccbf2122f76dbdccadac3f2d\", \"tests/timeseries/test_sort_timestamps_monotonically.py\": \"3c0f8c28f54b5545cc1bef18cce1a9a7667175c60f930daafe3ed74cb2940796\"}}\n","stderr_tail":"","stdout_sha256":"b3d6087a4b7259f64e3f32c9525ca1a4ec1e8b9f98212ab5eda2683f257a5976","log_path":"~/dev/nebius-hackathon/pilot/v2-P/ericmjl__pyjanitor-728/runs/pilot-ericmjl__pyjanitor-728-65b2a91a53/logs/base/base-5.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T20:14:38.948707Z","duration_s":0.034206,"timed_out":false,"image_before":"63fbb724-6d16-4c26-a096-a302c401f771","image_after":"15836ee4-7386-4df3-afd2-51ab1d5c0a3d","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"base-6","seq":6,"branch_id":"base","kind":"command","cmd":"python -c '# Runs inside the task sandbox, so it must work on Python 3.7.\npackages = set()\ntry:\n    import importlib.metadata as metadata\nexcept ImportError:\n    import pkg_resources\n\n    for dist in pkg_resources.working_set:\n        packages.add(dist.project_name + \"==\" + dist.version)\nelse:\n    for distribution in metadata.distributions():\n        name = distribution.metadata.get(\"Name\")\n        if name:\n            packages.add(name + \"==\" + distribution.version)\nprint(\"\\n\".join(sorted(packages, key=str.casefold)))\n'","path":null,"exit_code":0,"stdout_tail":"attrs==25.4.0\ncertifi==2026.1.4\ncharset-normalizer==3.4.4\ncoverage==7.13.4\nexceptiongroup==1.3.1\nflake8==7.3.0\nhypothesis==6.151.9\nidna==3.11\niniconfig==2.3.0\njoblib==1.5.3\nmccabe==0.7.0\nnatsort==8.4.0\nnumpy==2.2.6\npackaging==25.0\npandas-flavor==0.2.0\npandas-vet==2023.8.2\npandas==2.3.3\npip==25.3\npluggy==1.6.0\npycodestyle==2.14.0\npyflakes==3.4.0\nPygments==2.19.2\npyjanitor==0.20.9\npytest-cov==7.0.0\npytest==9.0.2\npython-dateutil==2.9.0.post0\npytz==2025.2\nrequests==2.32.5\nscikit-learn==1.7.2\nscipy==1.15.3\nsetuptools==80.9.0\nsix==1.17.0\nsortedcontainers==2.4.0\nthreadpoolctl==3.6.0\ntomli==2.3.0\ntyping_extensions==4.15.0\ntzdata==2025.3\nurllib3==2.6.3\nwheel==0.45.1\nxarray==2025.6.1\nxlrd==2.0.2\n","stderr_tail":"","stdout_sha256":"cdb47c8bead6cccaca80f64d8ce3e5a1be89e970a5c8823b1b4feba9b26dd50e","log_path":"~/dev/nebius-hackathon/pilot/v2-P/ericmjl__pyjanitor-728/runs/pilot-ericmjl__pyjanitor-728-65b2a91a53/logs/base/base-6.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T20:14:40.704099Z","duration_s":0.082764,"timed_out":false,"image_before":"15836ee4-7386-4df3-afd2-51ab1d5c0a3d","image_after":"25438cd4-0348-45a9-8398-7518f0a5c540","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"base-7","seq":7,"branch_id":"base","kind":"command","cmd":"git add -A && git -c user.name=receipts -c user.email=receipts@localhost commit -q --allow-empty -m \"receipts snapshot\" && git rev-parse HEAD","path":null,"exit_code":0,"stdout_tail":"f1caf8acebd9a22ac11827c5dd717de1c5362283\n","stderr_tail":"","stdout_sha256":"3c38055179c34dce92c8b44f15322cb3617636cde2981a9e6f0cf6bc6e4eef4e","log_path":"~/dev/nebius-hackathon/pilot/v2-P/ericmjl__pyjanitor-728/runs/pilot-ericmjl__pyjanitor-728-65b2a91a53/logs/base/base-7.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T20:14:42.455118Z","duration_s":0.064975,"timed_out":false,"image_before":"25438cd4-0348-45a9-8398-7518f0a5c540","image_after":"31fd8104-01a8-4a33-acfb-e414a79f7b8a","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":"f1caf8acebd9a22ac11827c5dd717de1c5362283"}
{"receipt_id":"base-8","seq":8,"branch_id":"base","kind":"command","cmd":"git -c core.quotePath=false ls-tree -z --name-only f1caf8acebd9a22ac11827c5dd717de1c5362283","path":null,"exit_code":0,"stdout_tail":".azure-pipelines\u0000.bumpversion.cfg\u0000.codecov.yml\u0000.deepsource.toml\u0000.devcontainer\u0000.github\u0000.gitignore\u0000.pre-commit-config.yaml\u0000.pyup.yml\u0000.readthedocs.yml\u0000.travis.yml\u0000AUTHORS.rst\u0000CHANGELOG.rst\u0000CONTRIBUTING.rst\u0000LICENSE\u0000MANIFEST.in\u0000Makefile\u0000README.rst\u0000docs\u0000environment-dev.yml\u0000examples\u0000janitor\u0000nbconvert_config.py\u0000pyproject.toml\u0000pytest.ini\u0000requirements-dev.txt\u0000requirements.txt\u0000scripts\u0000setup.py\u0000talks\u0000tests\u0000","stderr_tail":"","stdout_sha256":"1454f7af39619891c4652309b1a01b1047550e08182cfa34052f8ae610970239","log_path":"~/dev/nebius-hackathon/pilot/v2-P/ericmjl__pyjanitor-728/runs/pilot-ericmjl__pyjanitor-728-65b2a91a53/logs/base/base-8.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T20:14:44.202537Z","duration_s":0.004125,"timed_out":false,"image_before":"31fd8104-01a8-4a33-acfb-e414a79f7b8a","image_after":"e6ea07c5-c337-4230-91f0-7aac312d2b6e","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"base-9","seq":9,"branch_id":"base","kind":"command","cmd":"git -c core.quotePath=false ls-tree -z --name-only f1caf8acebd9a22ac11827c5dd717de1c5362283:src","path":null,"exit_code":128,"stdout_tail":"","stderr_tail":"fatal: Not a valid object name f1caf8acebd9a22ac11827c5dd717de1c5362283:src\n","stdout_sha256":"66550c5df2c8178e58d3f503d693b2ea33a88e3ceff56bcd0c0e5da6849eabd8","log_path":"~/dev/nebius-hackathon/pilot/v2-P/ericmjl__pyjanitor-728/runs/pilot-ericmjl__pyjanitor-728-65b2a91a53/logs/base/base-9.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T20:14:45.356585Z","duration_s":0.004227,"timed_out":false,"image_before":"e6ea07c5-c337-4230-91f0-7aac312d2b6e","image_after":"d93b3180-8441-4b72-b2a0-ae2f6dd551d3","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
