datalad/datalad: 1.5.0
Authors/Creators
-
Hanke, Michael1
-
Halchenko, Yaroslav O.2
-
Poldrack, Benjamin3
- Meyer, Kyle2
-
Solanky, Debanjum Singh2
- Alteva, Gergana
- Gors, Jason2
-
MacFarlane, Dave
-
Olaf Häusler, Christian
- Olson, Taylor
- Waite, Alex3
-
De La Vega, Alejandro4
-
Sochat, Vanessa
-
Keshavan, Anisha5
-
Ma, Feilong2
-
Christian, Horea
-
Poelen, Jorrit
-
Skytén, Kusti
-
Visconti di Oleggio Castello, Matteo6
-
Hardcastle, Nell
- Stoeter, Torsten
- C Lau, Vicky
-
Markiewicz, Christopher J.7
-
Wagner, Adina S.8
-
Nichols, B. Nolan9
-
Mika Pflüger10
-
Mönch, Christian3
-
Gau, Rémi11
-
Szczepanik, Michał3
-
Riße, Matthias12
-
Büchau, Yann Georg13
-
Stephan Heunis14
-
Lukas Schrangl15
-
Macdonald, Austin2
- 1. Institute of Neuroscience and Medicine, Brain & Behaviour (INM-7), Research Centre Jülich, Jülich, Germany and Institute of Systems Neuroscience, Medical Faculty, Heinrich Heine University Düsseldorf, Düsseldorf, Germany
- 2. Dartmouth College, Hanover, NH, United States
- 3. Institute of Neuroscience and Medicine, Brain & Behaviour (INM-7), Research Centre Jülich, Jülich, Germany
- 4. University of Texas at Austin
- 5. UC Berkeley - UCSF Graduate Program in Bioengineering
- 6. UC Berkeley
- 7. Stanford University, Stanford, CA, United States
- 8. Psychoinformatics Lab, INM-7, Research Centre Juelich
- 9. Maze Therapeutics, South San Francisco, CA, United States
- 10. Potsdam Institute for Climate Impact Research (PIK) e. V.
- 11. Université catholique de Louvain, Louvain la neuve, Belgium
- 12. Institute of Climate and Energy Systems - Stratosphere (ICE-4), Research Centre Jülich, Jülich, Germany
- 13. Eberhard Karls Universität Tübingen
- 14. Institute of Neuroscience and Medicine, Brain & Behavior (INM-7), Research Center Juelich, Germany
- 15. Institute of Biophysics, University of Natural Resources and Life Sciences, Vienna, Austria
Description
🚀 Enhancements and New Features
Add
--cfg-procoption toinstall,clone, andgetto run configuration procedures on datasets post-installation. Fixes #7468 via PR #7477 (by @bpinsard)NF+BM: extend create_test_dataset spec, add save/run benchmarks on heavy hierarchies. PR #7839 (by @yarikoptic)
🐛 Bug Fixes
Fix
AltConstraints.__or__()andConstraints.__and__()mutating their left-hand operand in place and returningself. This caused silent side effects when constraint objects defined at module level (e.g.reckless_opt) were reused across multiple|or&chains. Both operators now return a new instance, preserving the original. Identified via the constraint system overhaul in datalad-next. Fixes #7164 (by @yarikoptic)Propagate
datalad -c key=valueCLI config overrides andDATALAD_*environment variables to subprocesses via Git's native environment-based configuration mechanism (GIT_CONFIG_COUNT/GIT_CONFIG_KEY_N/GIT_CONFIG_VALUE_N). Previously the overrides were only stored indatalad.cfg.overridesand were invisible to subprocesses spawned by commands likedatalad run, so e.g.datalad -c user.name=Test run git config user.namedid not return the override. Adapted near-verbatim from thecli_configoverridespatch in datalad-next, with itsget_gitconfig_items_from_env/set_gitconfig_items_in_envhelpers also added underdatalad.config. Fixes #4119 (by @yarikoptic)ENH add --data option to get command, matching push one. PR #7476 (by @bpinsard)
chore: deduplicate code across interface docs, create-sibling, s3, and benchmarks. PR #7841 (by @yarikoptic)
Do not fail
add-archive-contentwhen adding files ignored due to .gitignore rules. PR #7844 (by @asmacdo)Fix the dataset-level "Total" progress bar of
datalad get(and other JSON-progress annex commands): advance it on per-filebyte-progressdeltas (throttled to 0.5s) instead of only on completion, surface errored files in the bar label ([errored: N / <human-size>]) and remove their key-sizes from the effective total, and roll back any provisional credit when a partially-streamed file errors. The bar now tracks cumulative on-disk bytes for non-errored files; resumed-from-disk bytes are tracked as a separate anchor pushed totqdmviainitial=so the rate / ETA display reflects session work only. PR #7865 (by @yarikoptic)Fix
tqdmProgressBar.updateso a changedtotal=is applied directly rather than viatqdm.reset(), which used to zero the elapsed-time and EMA state and produce momentary nonsense rates (e.g.[00:00<00:00, 16.0T Bytes/s]). PR #7865 (by @yarikoptic)Resolve
--jobs autoforpush,drop, andremoveso the literal stringautois no longer passed through togit annex. Previouslypush --jobs=autocrashed withoption --jobs: cannot parse value 'auto', whiledrop --jobs=auto(andremove --jobs=auto, which delegates to drop) swallowed the sameCommandErrorand silently left content in place. Fixes #7867. PR #7868 (by @yarikoptic)
🏎 Performance
datalad pushno longer runs a pointlessgit push --dry-runand refspec computation when the target is a git-annex special remote (e.g. WebDAV, S3, directory) that has no git URL. This was wasteful at best and could cause errors or significant slowdowns for remotes like WebDAV. Thetarget_is_git_remotecheck is now performed before the dry-run block and guards the entire dry-run + refspec computation. Ported from thepush_optimizepatch in datalad-next. Fixes #6657 (by @yarikoptic)
🧪 Tests
Resolve
@use_cassette('name')against<test_module_dir>/vcr_cassettes/<name>.yamlso cassettes can ship next to their tests. PR #7852 (by @yarikoptic)Ship VCR cassette for
test_anonymous_s3so it stops hitting live S3. PR #7852 (by @yarikoptic)Drop the
annex.pidlock=trueNFS workaround. Its v7-era polling-based locking became the dominant cost on NFS after the v8→v10 git-annex bump and was the root cause of the cron NFS-job 6h timeouts; v10 + NFSv4.2 handles fcntl natively. PR #7852 (by @yarikoptic)Retry SSH-target docker setup on host port collisions in
tools/ci/prep-travis-forssh.sh. PR #7852 (by @yarikoptic)Export the cron NFS test mount with
asyncfor more-realistic-than-default test conditions and a small per-write speedup. PR #7852 (by @yarikoptic)Capture per-test timings as a
pytest-report.jsonlartifact viapytest-reportlog, preserving timing data even when a job is cancelled. PR #7852 (by @yarikoptic)BF(TST): add signal_timeout helper and bound test_gin_cloning. PR #7859 (by @yarikoptic)
Files
datalad/datalad-1.5.0.zip
Files
(1.8 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:8fbd1322ee3c27e229d114813470e2c5
|
1.8 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/datalad/datalad/tree/1.5.0 (URL)
Funding
- U.S. National Science Foundation
- CRCNS US-German Data Sharing: DataGit - converging catalogues, warehouses, and deployment logistics into a federated 'data distribution' 1429999
Software
- Repository URL
- https://github.com/datalad/datalad