-
Notifications
You must be signed in to change notification settings - Fork 33
Support Zarr directories #853
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
56 commits
Select commit
Hold shift + click to select a range
ca049a1
Function for finding NWB's & Zarrs
jwodder 6d1bd2f
Add local asset subclasses for different file extensions
jwodder fd7bfb6
Add methods for metadata & validation
jwodder 96b6c5d
Use a dedicated type for digest value+algorithm pairs
jwodder aaa217f
Let the new find_dandi_files() take multiple paths
jwodder 8c71cf6
Make upload.py use the new find_dandi_files()
jwodder bf1fa33
Rename get_metadata()'s `allow_any_path` to `ignore_errors`
jwodder f5f84d8
Abstract out the calculation of local assets' sizes & mtimes
jwodder 46f7aff
Abstract out calculation of local assets' etags
jwodder 19b1fd6
Calculating Zarr metadata
jwodder 7c19cfc
Some code cleanup
jwodder 891feb1
Move core asset upload code to files.py
jwodder 0bbe8ad
Add RemoteBlobAsset and RemoteZarrAsset classes
jwodder 362a432
Implementation of Zarr checksumming
jwodder 9b4d78c
Give `BaseRemoteAsset` `is_blob()` and `is_zarr()` methods
jwodder c3c5102
download --sync: Use new `find_dandi_files()`
jwodder 580b9cd
dandi_zarr_checksum is now a digest type
jwodder 5299561
`BaseRemoteAsset.get_etag()`
jwodder f1f4e0f
`ZarrAsset.iter_upload()`
jwodder 67a2bb5
Basic test of uploading a Zarr
jwodder f660050
Fix
jwodder 8c8e87e
Test & fix
jwodder f503eba
Make LGTM happy
jwodder ab9ffb0
Add a zarr_dandiset fixture
jwodder 4e5d10c
Test replacing an uploaded Zarr with a non-Zarr at the same path
jwodder 25176da
Add xfailing tests involving Zarr downloads
jwodder 692eebf
Error on attempting to upload a Zarr to an embargoed Dandiset
jwodder b0796a4
Add some docstrings
jwodder 6b8f07a
Rename `get_size()` and `get_mtime()` to `size` and `modified`
jwodder 193d27c
Raise NotImplementedError when trying to download a Zarr
jwodder 448fb47
Don't recognize empty directories as Zarrs
jwodder b2711b2
Validation no longer needs to be skipped when uploading non-NWB files
jwodder 335f6d7
Rewrite get_zarr_checksum() using dandischema
jwodder 5e561e9
Classes for files & directories inside Zarrs
jwodder e3642af
Fixes
jwodder 607455f
Fetching Zarr entry checksum & stats
jwodder e2ca267
Test uploading a Zarr containing an empty directory
jwodder e179a49
Test `upload --sync` with Zarrs
jwodder 0a24a8c
Docstrings
jwodder 8aa0c4c
First complete draft of Zarr download
jwodder a22dd95
More tests of ProgressCombiner
jwodder 5aa819d
Fixes
jwodder a3d3479
Catch an error case
jwodder 4fa2395
Delete extra files in a local Zarr after downloading
jwodder 8072d5d
Checksum Zarrs after downloading
jwodder f85b392
Make the BaseRemoteAsset download methods error if called on a Zarr
jwodder 99ab41a
Add versionadded:: directives
jwodder 4832383
Make `dandi validate` support Zarrs
jwodder 3c60086
Update `dandi download` and `dandi validate` docs
jwodder c12f72b
`dandi download --sync` with Zarrs
jwodder 0da8d93
`get_digest()` → `get_raw_digest()`; `get_etag()` → `get_digest()`
jwodder c0a32ef
Replace `is_blob()` and `is_zarr()` with an `asset_type` property & enum
jwodder a60d5d4
Type-annotate a utility function
jwodder 0caa08f
Update version in which Zarr support will be released
jwodder b3a01de
`BaseRemoteAsset.digest_type`
jwodder 2c6279e
Add more information to an error message
jwodder File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.