dandi upload#
dandi [<global options>] upload [<options>] [<path> ...]
Upload Dandiset files to DANDI Archive.
The target Dandiset to upload to must already be registered in the archive, and
a dandiset.yaml
file must exist in the common ancestor of the given
paths (or the current directory, if no paths are specified) or a parent
directory thereof.
Local Dandisets should pass validation. For that, the assets should first be organized using the dandi organize command.
By default, all *.nwb
, *.zarr
, and *.ngff
assets in the
Dandiset (ignoring directories starting with a period) will be considered for
the upload. You can point to specific files you would like to validate and
have uploaded.
Options#
- -e, --existing [error|skip|force|overwrite|refresh]#
How to handle files that already exist on the server:
error
— raise an errorskip
— skip the fileforce
— force reuploadoverwrite
— force upload if either size or modification time differsrefresh
[default] — upload only if local modification time is ahead of the remote
- -i, --dandi-instance <instance>#
DANDI instance (either a base URL or a known instance name) to upload to [default:
dandi
]
- -J, --jobs N[:M]#
Number of assets to upload in parallel and, optionally, number of upload threads per asset [default:
5:5
]
- --sync#
Delete assets on the server that do not exist locally after uploading
- --validation [require|skip|ignore]#
How to handle invalid assets:
require
[default] — Do not upload any invalid assetsskip
— Do not check assets for validityignore
— Emit an error message for invalid assets but upload them anyway
Data should pass validation before uploading. Use of this option is highly discouraged.
Development Options#
The following options are intended only for development & testing purposes.
They are only available if the DANDI_DEVEL
environment variable is
set to a nonempty value.
- --allow-any-path#
Upload all file types, not just NWBs and Zarrs
- --devel-debug#
Do not use pyout callbacks, do not swallow exceptions, do not parallelize.
- --upload-dandiset-metadata#
Update Dandiset metadata based on the local
dandiset.yaml
file