Releases: dandi/dandi-cli
Releases · dandi/dandi-cli
0.14.1
🐛 Bug Fix
- Update for the version /info endpoint in dandi-api #575 (@dchiquito)
- Log validation errors #579 (@jwodder)
- Log 409 responses at DEBUG level #578 (@jwodder)
Authors: 2
- Daniel Chiquito (@dchiquito)
- John T. Wodder II (@jwodder)
0.14.0
0.13.2
🐛 Bug Fix
- BF: do not assume that service record of redirector is present/has url #567 (@yarikoptic)
- Fix a typo in the display string for one of the known URL patterns #564 (@jwodder)
- Error with a decent message when trying to delete() a path not in a Dandiset #563 (@jwodder)
- Fix & test for downloading by asset ID URL #561 (@jwodder)
- Strip trailing slash from API URL used by delete() #559 (@jwodder)
- Refresh dandiset.yaml on download if out of date #556 (@jwodder)
- Support "…/assets/?path=" URLs #555 (@jwodder)
- Get hdmf, pynwb, h5py versions without importing #553 (@jwodder)
Authors: 2
- John T. Wodder II (@jwodder)
- Yaroslav Halchenko (@yarikoptic)
0.13.1
🐛 Bug Fix
- Log dandi, hdmf, h5py, and pynwb versions to log file #545 (@jwodder)
- small fix of extract_sex #549 (@djarecka)
- Add and use get_module_version for cache tokens #539 (@yarikoptic)
- Log errors in extracting metadata for upload #546 (@jwodder)
📝 Documentation
- DOC: minor tune up to README.md on installation instructions and WiP #551 (@yarikoptic)
Authors: 3
- Dorota Jarecka (@djarecka)
- John T. Wodder II (@jwodder)
- Yaroslav Halchenko (@yarikoptic)
0.13.0
🚀 Enhancement
🐛 Bug Fix
- Update dandiarchive client to use most_recent_published_version #537 (@dchiquito @yarikoptic)
- Support parsing & navigating asset download URLs #535 (@jwodder)
- Give
ls
a--metadata
option #536 (@jwodder) - Fix retrying 503's #528 (@jwodder)
- Retry requests that fail with 503 #521 (@jwodder)
- Better filtering of file-only log messages #523 (@jwodder)
- Fix typo in setting jobs_per_file for upload command #519 (@jwodder)
- fix to migrate2newschema #515 (@djarecka)
- BF(workaround): get the list of entries with sizes before querying #513 (@yarikoptic)
- fix: remove unset fields to enable schemaKey #512 (@satra)
- Fixes conversion of existing dandiset metadata with sub-object validation #505 (@satra)
- Upload file parts in parallel #499 (@jwodder)
⚠️ Pushed to master
- DOC: provide instructions in DEVELOPMENT.md for interaction with dandi-api instance (@yarikoptic)
🏠 Internal
- ENH: Enhancements to metadata schema and compatibility with JSONLD #517 (@satra @yarikoptic)
- Add --only-metadata option to migrate-dandisets.py #511 (@jwodder)
🧪 Tests
- Add tests of json_dict() method #526 (@jwodder)
- Store metadata test JSON in files #525 (@jwodder)
- Run "provision" container in the foreground #506 (@jwodder)
- Ignore warnings from ruamel.yaml caused by hdmf using deprecated functions #507 (@jwodder)
Authors: 5
- Daniel Chiquito (@dchiquito)
- Dorota Jarecka (@djarecka)
- John T. Wodder II (@jwodder)
- Satrajit Ghosh (@satra)
- Yaroslav Halchenko (@yarikoptic)
0.12.1
🐛 Bug Fix
- Lowercase "sha256" #493 (@jwodder)
- Validate uploads before digesting #495 (@jwodder)
- Check for already-uploaded blobs via /uploads/initialize/ instead of /blobs/digest/ #496 (@jwodder)
- Update upload code for changes in API #479 (@jwodder)
- dandi ls: Error if --schema is given with remote resource of different version #489 (@jwodder)
🧪 Tests
- Add option for only running new Dandi API tests #500 (@jwodder)
- Don't hardcode DANDI_SCHEMA_VERSION value in tests #491 (@jwodder)
Authors: 1
- John T. Wodder II (@jwodder)
0.12.0
🚀 Enhancement
- Add "digest" command #480 (@jwodder)
- ENH: prototype for the DANDIEtag "digester" #474 (@yarikoptic @jwodder)
- Change BareAssetMeta.digest to a list #460 (@jwodder)
🐛 Bug Fix
- Remove "current" column from upload progress display #486 (@jwodder)
- Add dandi_etag digest type to schema #481 (@jwodder)
- Add --devel-debug to
dandi validate
#476 (@jwodder) - Only call logging.basicConfig() when used as a command #468 (@jwodder)
- BF: Require pydantic >= 1.8.1 #461 (@yarikoptic)
- Fix "%s: ok" log message from
dandi validate
#462 (@jwodder) - Display
dandi validate
errors using logger #459 (@jwodder) - ENH: more of lgr.debug for multipart upload #457 (@yarikoptic)
- Rename DandiMeta to DandisetMeta #454 (@jwodder)
🏠 Internal
- Script for generating S3 versioned file stats #473 (@jwodder)
- Add
-vv
option toauto shipit
#471 (@jwodder)
Authors: 2
- John T. Wodder II (@jwodder)
- Yaroslav Halchenko (@yarikoptic)
0.11.0
🚀 Enhancement
- Update and simplify models to support automated editor generation #348 (@satra @yarikoptic @jwodder)
- Use separate session for S3 requests #330 (@jwodder)
- BF: no --develop-debug for download ATM #330 (@yarikoptic)
- RF: moved handling of dandiset identifier "deduction" into Dandiset itself #330 (@yarikoptic)
- BF(workaround): allow for "proper" identifier according to new schema #330 (@yarikoptic)
- Merge remote-tracking branch 'origin/master' into gh-320 #330 (@yarikoptic)
- Further fixes #330 (@jwodder)
- Give DandiAPIClient a dandi_authenticate() method #330 (@jwodder)
- Fixes #330 (@jwodder)
- Rename DANDI_API_KEY to DANDI_GIRDER_API_KEY #330 (@jwodder)
- Test of uploading & downloading via new API #330 (@jwodder)
- RF+ENH: support mapping for direct API urls, and use netflify insstance instead of api+ prefix #330 (@yarikoptic)
- Delint #330 (@jwodder)
- RF: account for web UI URL changes/dropped features, remove support for girder URLs #330 (@yarikoptic)
- Handle uploading already-extant assets #330 (@jwodder)
- Use new metadata schema #330 (@jwodder)
- Yield more from iter_upload() #330 (@jwodder)
- Document upload method parameters #330 (@jwodder)
- New API upload function #330 (@jwodder)
- Give dandi_instance a metadata_version field #330 (@jwodder)
- Split Docker Compose dandi_instances and fixtures in two #330 (@jwodder)
- Add dandi-api instance record #330 (@jwodder)
🐛 Bug Fix
- Add dateModified to asset metadata #452 (@jwodder)
- fix: change enum to const for single enums #449 (@satra)
- Add --new-schema option to
ls
command for converting output #445 (@jwodder) - Eliminate check for session_start_time preceding date_of_birth #440 (@jwodder)
- Eliminate DANDI_SCHEMA; add get_schema_version() #442 (@jwodder)
- Discard empty "sex" and "species" fields on conversion #438 (@jwodder)
- schema: minor spotted typo fixes #435 (@yarikoptic)
- Retry requests on ConnectionErrors #437 (@jwodder)
- Include HDMF version as well into the token #434 (@yarikoptic)
- Error if sha256 digest is missing from asset being downloaded #428 (@jwodder)
- Report dandi version in User-Agent header #424 (@jwodder)
- Remove misleading log message about authenticating with new API #425 (@jwodder)
- Distinguish between pre- and post-validation when uploading #420 (@jwodder)
- Log failed HTTP connections; include PID and TID in logs; include asset path in upload log messages #418 (@jwodder)
- Revert PR #409 (Content-MD5 header) #419 (@jwodder)
- Set Content-MD5 header when uploading asset parts #409 (@jwodder)
- upload(): Only yield first "validating" status to pyout #417 (@jwodder)
- Add more logging when uploading & downloading #412 (@jwodder)
- Sleep increasing amounts while waiting for uploaded assets to validate #408 (@jwodder)
- Populate wasDerivedFrom #386 (@jwodder)
- FIX: use authorized checkout for actions #403 (@satra)
- enh: account for samples, sessions and participants #392 (@satra @jwodder @yarikoptic)
- Disabling logging to stderr while using pyout #401 (@jwodder)
- Cache file digests and check for change in digest when uploading #391 (@jwodder)
- Make existing="refresh" a synonym for "overwrite" for new upload #390 (@jwodder)
- RF/NF: Identifiable and BareAssetMeta to describe an asset anywhere #373 (@yarikoptic @jwodder)
- Give known_urls human-readable display strings #384 (@jwodder)
- Make
dandi download -i <instance>
run in a Dandiset download that Dandiset #383 (@jwodder) - Give
validate
command a--schema VERSION
option for validating assets and dandiset.yaml #379 (@jwodder) - Support downloading folders and latest Dandiset version #377 (@jwodder @yarikoptic)
- Add
include_metadata=False
parameter to asset-listing DandiAPIClient methods #378 (@jwodder @yarikoptic) - Discard invalid asset identifiers when extracting metadata #374 (@jwodder)
- Handle uploading already-present files in new API #347 (@jwodder)
- Adjust license metadata conversion #364 (@jwodder @yarikoptic)
- Give AssetMeta and DandiMeta
json_dict()
methods for better dictification #346 (@jwodder) - BF: allow to handle an item with multiple files #342 (@yarikoptic)
- ENH: devel upload dandiset metadata #341 (@yarikoptic)
- Try self.listFile() again on ConnectionErrors #335 (@jwodder)
- Add functions for validating metadata against JSON Schema and use in tests #338 (@jwodder)
- Fix
AttributeError: 'Resource' object has no attribute 'values'
#336 (@jwodder) - [DATALAD RUNCMD] Swap order of str and AnyUrl to be from specific to generic #334 (@yarikoptic)
- cleaning up biosample and participant #312 (@satra @jwodder)
- Tee all logs to user log directory #318 (@jwodder)
- Update for new AP...
0.10.0
🚀 Enhancement
- Set chunk size on per-file basis; limit to 1000 chunks; upload files up to 400GB ATM #310 (@jwodder @yarikoptic)
🐛 Bug Fix
- Autogenerate schema element titles #304 (@jwodder)
- Compare uploaded file size against what download headers report #306 (@jwodder)
- fix: rat to common lab rat #307 (@satra)
Authors: 3
- John T. Wodder II (@jwodder)
- Satrajit Ghosh (@satra)
- Yaroslav Halchenko (@yarikoptic)
0.9.0
🚀 Enhancement
- Function for converting NWB file to AssetMeta instance #226 (@jwodder @yarikoptic @satra)
🐛 Bug Fix
- Temporary workaround: prevent upload of files larger than 67108864000 #303 (@yarikoptic)
- Add title to
Field
calls where necessary #299 (@AlmightyYakob @satra) - Replace askyesno() with click.confirm() #296 (@jwodder)
- Test against & support Python 3.9 #297 (@jwodder)
- ls - avoid workaround, more consistent reporting of errors #293 (@yarikoptic)
- add dandimeta migration #295 (@satra)
- Nwb2asset #294 (@satra)
- Some schema updates #286 (@jwodder @yarikoptic @dandibot auto@nil @satra)
- make most things optional #234 (@satra)
🏠 Internal
Authors: 6
- @dandibot
- auto (auto@nil)
- Jacob Nesbitt (@AlmightyYakob)
- John T. Wodder II (@jwodder)
- Satrajit Ghosh (@satra)
- Yaroslav Halchenko (@yarikoptic)