{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":202796357,"defaultBranch":"master","name":"dandi-cli","ownerLogin":"dandi","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-08-16T20:38:46.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/53260526?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726179692.0","currentOid":""},"activityList":{"items":[{"before":"9c47a47f5cb797111a1287f2d35d3ee43537ae9f","after":"8d739b7569bbfd5c929a40666569fb50072d0398","ref":"refs/heads/enh-log","pushedAt":"2024-09-20T18:58:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"ENH: respect/log separately Retry-After + support DANDI_DEVEL_AGGRESSIVE_RETRY mode\n\nThis is all to address that odd case with 000026 where connection keeps interrupting.\nUnclear why so adding more specific cases handling and allowing for such an aggressive\nretrying where we would proceed as long as we are getting something (but sleep would also increase)","shortMessageHtmlLink":"ENH: respect/log separately Retry-After + support DANDI_DEVEL_AGGRESS…"}},{"before":"e06c3c45cbfca004b90d63214d12e9542c648dd2","after":"9c47a47f5cb797111a1287f2d35d3ee43537ae9f","ref":"refs/heads/enh-log","pushedAt":"2024-09-18T18:28:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"Demand urllib3 to be no less than 2.0.0 in which enforce_content_length was set to default to True","shortMessageHtmlLink":"Demand urllib3 to be no less than 2.0.0 in which enforce_content_leng…"}},{"before":"2d4d1bcc4b7a93ee606514b94b4b0923c46d07ec","after":"e06c3c45cbfca004b90d63214d12e9542c648dd2","ref":"refs/heads/enh-log","pushedAt":"2024-09-18T18:15:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"Also report python version","shortMessageHtmlLink":"Also report python version"}},{"before":"56690baffa4a0dc5e901ddffe71b6dd8d4abc35b","after":"2d4d1bcc4b7a93ee606514b94b4b0923c46d07ec","ref":"refs/heads/enh-log","pushedAt":"2024-09-18T18:12:43.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"RF+ENH: also report requests and urllib3 versions, do not prefix with v\n\nno v prefix since is not providing any information on top; sorting for deterministic order","shortMessageHtmlLink":"RF+ENH: also report requests and urllib3 versions, do not prefix with v"}},{"before":"d61f76bed1b040f83ca181a7dec8370a785de77b","after":"56690baffa4a0dc5e901ddffe71b6dd8d4abc35b","ref":"refs/heads/enh-log","pushedAt":"2024-09-17T20:44:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"Make message more \"factual\"\n\nVery unlikely but it could be that directory already existed but without\nchecksum file for some reason.","shortMessageHtmlLink":"Make message more \"factual\""}},{"before":"d7f0f6e6f87f98e452c1a771a51d6af60d227bbf","after":"d61f76bed1b040f83ca181a7dec8370a785de77b","ref":"refs/heads/enh-log","pushedAt":"2024-09-16T23:32:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"Log details on how much was actually downloaded and in how many chunks","shortMessageHtmlLink":"Log details on how much was actually downloaded and in how many chunks"}},{"before":"9580513222b942059e8aa7ad749346381ceb2a21","after":"d5c4a3fcba0c79102ca50e94b62f6c7c671c3b35","ref":"refs/heads/master","pushedAt":"2024-09-13T16:16:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"Adjust copyright year in documentation config","shortMessageHtmlLink":"Adjust copyright year in documentation config"}},{"before":"f78350febc36f4e5a56c891d66af04906c3500aa","after":"d7f0f6e6f87f98e452c1a771a51d6af60d227bbf","ref":"refs/heads/enh-log","pushedAt":"2024-09-13T15:48:50.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"Add handling of PermissionError on Windows for an existing directory\n\nThat is my guess for what is happening in\n\n ________________________ test_DownloadDirectory_basic _________________________\n dandi\\tests\\test_download.py:1048: in test_DownloadDirectory_basic\n with DownloadDirectory(tmp_path, digests={}) as dl:\n dandi\\download.py:889: in __exit__\n self.writefile.replace(self.filepath)\n C:\\hostedtoolcache\\windows\\Python\\3.10.11\\x64\\lib\\pathlib.py:1247: in replace\n self._accessor.replace(self, target)\n E PermissionError: [WinError 5] Access is denied: 'C:\\\\Users\\\\runneradmin\\\\AppData\\\\Local\\\\Temp\\\\pytest-of-runneradmin\\\\pytest-0\\\\test_DownloadDirectory_basic0.dandidownload\\\\file' -> 'C:\\\\Users\\\\runneradmin\\\\AppData\\\\Local\\\\Temp\\\\pytest-of-runneradmin\\\\pytest-0\\\\test_DownloadDirectory_basic0'","shortMessageHtmlLink":"Add handling of PermissionError on Windows for an existing directory"}},{"before":"2519269aaa98b18f6dabc7d27f0e87f07fa176f6","after":"f78350febc36f4e5a56c891d66af04906c3500aa","ref":"refs/heads/enh-log","pushedAt":"2024-09-13T15:29:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"Add unit-testing for DownloadDirectory to ensure expected operation\n\nAlso shortened the log line to not include traceback","shortMessageHtmlLink":"Add unit-testing for DownloadDirectory to ensure expected operation"}},{"before":"7cd4c99862000e69f347e5274b2e85f042465ab8","after":"2519269aaa98b18f6dabc7d27f0e87f07fa176f6","ref":"refs/heads/enh-log","pushedAt":"2024-09-13T14:56:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"Add unit-testing for DownloadDirectory to ensure expected operation\n\nAlso shortened the log line to not include traceback","shortMessageHtmlLink":"Add unit-testing for DownloadDirectory to ensure expected operation"}},{"before":"7ed9c30a7340d15065f0e8dc8ed4a9e0da02241f","after":"8dba0108b8e8e0aee219d7cfff38caf880de5a3d","ref":"refs/heads/enh-test-export","pushedAt":"2024-09-13T14:06:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"Fix comparison but also make caching optional depending on either original file had it","shortMessageHtmlLink":"Fix comparison but also make caching optional depending on either ori…"}},{"before":"4061912f24a08135bdf131f4a2c74c0f2407ec57","after":"7ed9c30a7340d15065f0e8dc8ed4a9e0da02241f","ref":"refs/heads/enh-test-export","pushedAt":"2024-09-13T00:37:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"Fix comparison but also make caching optional depending on either original file had it","shortMessageHtmlLink":"Fix comparison but also make caching optional depending on either ori…"}},{"before":"ca7ddad9907dbd6fbb43563ece6090ebaee10c4e","after":"4061912f24a08135bdf131f4a2c74c0f2407ec57","ref":"refs/heads/enh-test-export","pushedAt":"2024-09-13T00:29:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"Use released version of pynwb in comparison\n\nCo-authored-by: Ryan Ly ","shortMessageHtmlLink":"Use released version of pynwb in comparison"}},{"before":"98faaaf8818790827c6fd49456c6ca83b55800fe","after":"7cd4c99862000e69f347e5274b2e85f042465ab8","ref":"refs/heads/enh-log","pushedAt":"2024-09-12T23:27:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"Fix typing check - move assert before use of fp.tell() + shorten the message while at it","shortMessageHtmlLink":"Fix typing check - move assert before use of fp.tell() + shorten the …"}},{"before":"59373dbabc6e3f5dcf17699f69ee1f402a782b47","after":"98faaaf8818790827c6fd49456c6ca83b55800fe","ref":"refs/heads/enh-log","pushedAt":"2024-09-12T23:22:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"Log download directory path and also either we are entering __exit__ with or without exception etc","shortMessageHtmlLink":"Log download directory path and also either we are entering __exit__ …"}},{"before":null,"after":"59373dbabc6e3f5dcf17699f69ee1f402a782b47","ref":"refs/heads/enh-log","pushedAt":"2024-09-12T22:21:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"ENH: log dandischema version and ensure we log (consistently) path for log messages in download","shortMessageHtmlLink":"ENH: log dandischema version and ensure we log (consistently) path fo…"}},{"before":null,"after":"ca7ddad9907dbd6fbb43563ece6090ebaee10c4e","ref":"refs/heads/enh-test-export","pushedAt":"2024-09-09T21:35:17.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"Use \"cache_spec:False\" in our copy_nwb_file helper while exporting NWB copy\n\nStopped since ideally we should make it dependent on either original\nfile contains the spec","shortMessageHtmlLink":"Use \"cache_spec:False\" in our copy_nwb_file helper while exporting NW…"}},{"before":"8e0b1c3ade9a67fbb39e81eddaff016ed0fca22a","after":"9580513222b942059e8aa7ad749346381ceb2a21","ref":"refs/heads/master","pushedAt":"2024-09-09T18:14:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Update CHANGELOG.md [skip ci]","shortMessageHtmlLink":"Update CHANGELOG.md [skip ci]"}},{"before":"1aa3df8b7fbe19f6edcaa1f36524598f720ffef0","after":null,"ref":"refs/heads/enh-organize-logging","pushedAt":"2024-09-09T18:14:17.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"}},{"before":"44e097f9fcc3498b7fb4330e2a1974af79fd9624","after":"8e0b1c3ade9a67fbb39e81eddaff016ed0fca22a","ref":"refs/heads/master","pushedAt":"2024-09-09T18:14:16.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"Merge pull request #1496 from dandi/enh-organize-logging\n\nDisallow hdmf 3.14.4, make organize to not parallelize for a single file, log information about all exceptions while reading metadata for organize","shortMessageHtmlLink":"Merge pull request #1496 from dandi/enh-organize-logging"}},{"before":"78b9beeb031595e446f83cda7bc1d63e9fefa076","after":"1aa3df8b7fbe19f6edcaa1f36524598f720ffef0","ref":"refs/heads/enh-organize-logging","pushedAt":"2024-09-06T01:28:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"Apply suggestions from code review: kill commented out + use _ for unused var\n\nCo-authored-by: Austin Macdonald ","shortMessageHtmlLink":"Apply suggestions from code review: kill commented out + use _ for un…"}},{"before":"6b579c04e872f20aaae671a669b32ed2449fed37","after":"78b9beeb031595e446f83cda7bc1d63e9fefa076","ref":"refs/heads/enh-organize-logging","pushedAt":"2024-09-05T20:34:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"Do not allow for HDMF 3.14.4 with regression","shortMessageHtmlLink":"Do not allow for HDMF 3.14.4 with regression"}},{"before":null,"after":"6b579c04e872f20aaae671a669b32ed2449fed37","ref":"refs/heads/enh-organize-logging","pushedAt":"2024-09-05T20:31:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"Return and log exception information while loading metadata for organize\n\njoblib does not setup automagically some kind of logging for Parallel.\nFiled dedicated to possibly see it implemented\n\n- https://github.com/dandi/dandi-cli/issues/1495\n\nFor the sake of current use case (e.g. troubleshooting\nhttps://github.com/dandi/dandi-cli/issues/1494) it should largely suffice to\nreturn and log information about exception which was raised while loading\nmetadata. This is what is done in this PR and while using buggy hdmf we do get\nnice logging in the log file at DEBUG level. No attempts were made to reduce\npossibly a flood of duplicate log messages since per file metadata would have\nunique values","shortMessageHtmlLink":"Return and log exception information while loading metadata for organize"}},{"before":"c47269b9904ae0b0574947484ef28f8568db0cfe","after":"e456ebbc21b8cc9b013a27ac45c009d88fcfcdb0","ref":"refs/heads/enh-short-obj-conflicts","pushedAt":"2024-08-21T13:43:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"RF: make logging messages independent of active level - 1: hits always at DEBUG\n\nWith this change logging looks like\n\n 2024-08-21 09:42:39,718 [ INFO] 2 out of 5 paths are not unique.\n 2 paths 'compete' for the path 'sub-P53CS/sub-P53CS_ses-20171101_ecephys+image.nwb':\n /home/yoh/proj/dandi/dandisets/000004/sub-P53CS/sub-P53CS_ses-20171101_obj-108aqix_ecephys+image.nwb\n /home/yoh/proj/dandi/dandisets/000004/sub-P53CS/sub-P53CS_ses-20171101_obj-lj04dr_ecephys+image.nwb\n 1 more case(s) are listed at DEBUG level.\n 2024-08-21 09:42:39,718 [ DEBUG] Additional non-unique paths:\n 3 paths 'compete' for the path 'sub-P54CS/sub-P54CS_ses-20180101_ecephys+image.nwb':\n /home/yoh/proj/dandi/dandisets/000004/sub-P54CS/sub-P54CS_ses-20180101_obj-1ru98u8_ecephys+image.nwb\n /home/yoh/proj/dandi/dandisets/000004/sub-P54CS/sub-P54CS_ses-20180101_obj-1ukzk61_ecephys+image.nwb\n /home/yoh/proj/dandi/dandisets/000004/sub-P54CS/sub-P54CS_ses-20180101_obj-1vx1a5w_ecephys+image.nwb\n 2024-08-21 09:42:39,718 [ INFO] We will try adding _obj- based on crc32 of object_id","shortMessageHtmlLink":"RF: make logging messages independent of active level - 1: hits alway…"}},{"before":"c45ffe2f24ae15b3aa59eb60304b09b616c375c0","after":"c47269b9904ae0b0574947484ef28f8568db0cfe","ref":"refs/heads/enh-short-obj-conflicts","pushedAt":"2024-08-20T14:00:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"Small tune ups from code review\n\nCo-authored-by: John T. Wodder II ","shortMessageHtmlLink":"Small tune ups from code review"}},{"before":"21fd7fa1f8d9b814bad638ff482619cc505f00f2","after":"c45ffe2f24ae15b3aa59eb60304b09b616c375c0","ref":"refs/heads/enh-short-obj-conflicts","pushedAt":"2024-08-20T00:03:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"ENH: organize - show files with conflicts requiring adding _obj-\n\nLogging check is currently not really functioning since IIRC we\ndo enable logging into a file at higher level than INFO. So we\nmight need to tune decision making here","shortMessageHtmlLink":"ENH: organize - show files with conflicts requiring adding _obj-"}},{"before":null,"after":"21fd7fa1f8d9b814bad638ff482619cc505f00f2","ref":"refs/heads/enh-short-obj-conflicts","pushedAt":"2024-08-20T00:00:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"ENH: organize - show files with conflicts requiring adding _obj-\n\nLogging check is currently not really functioning since IIRC we\ndo enable logging into a file at higher level than INFO. So we\nmight need to tune decision making here","shortMessageHtmlLink":"ENH: organize - show files with conflicts requiring adding _obj-"}},{"before":"9abc18ff93caa0e6d006ab3137ee1256c1eef40e","after":null,"ref":"refs/heads/gh-1484","pushedAt":"2024-08-15T15:00:25.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"}},{"before":"649d89d87c6d70ce13263c4befb9804216768344","after":"44e097f9fcc3498b7fb4330e2a1974af79fd9624","ref":"refs/heads/master","pushedAt":"2024-08-15T15:00:23.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"},"commit":{"message":"Merge pull request #1486 from dandi/gh-1484\n\nDump audit table to file specified by `DANDI_TESTS_AUDIT_CSV` envvar","shortMessageHtmlLink":"Merge pull request #1486 from dandi/gh-1484"}},{"before":"85f6dd8ede4164e13d8122a10fc20c7be7d4eac7","after":null,"ref":"refs/heads/fix-docker-host","pushedAt":"2024-08-15T13:28:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"yarikoptic","name":"Yaroslav Halchenko","path":"/yarikoptic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39889?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQxODo1ODozMC4wMDAwMDBazwAAAAS8SPCs","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQxODo1ODozMC4wMDAwMDBazwAAAAS8SPCs","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0xNVQxMzoyODo0MC4wMDAwMDBazwAAAASbOS0u"}},"title":"Activity · dandi/dandi-cli"}