DATALAD-INSTALL(1)
okay so you found datalad install(1) from the General Commands Manual β and bestie, it's literally the page about installing datasets. let's get into it π
β¨
π NAME π
datalad install β install one or many datasets from remote URL(s) or local PATH source(s). no cap, it's the dataset-cloning main character π
β¨ SYNOPSIS β¨
datalad install [-h] [-s URL-OR-PATH] [-d DATASET] [-g] [-D DESCRIPTION]
[-r] [-R LEVELS] [--reckless [auto|ephemeral|shared-...]]
[-J NJOBS] [--branch BRANCH] [--version] [URL-OR-PATH ...]
π DESCRIPTION π
okay so what this command does is create local sibling(s) of existing dataset(s) from (remote) locations that you specify as URL(s) or path(s). optional recursion into potential subdatasets is supported, and so is downloading all referenced data. the new dataset(s) can optionally be registered in an existing superdataset by identifying it via the DATASET argument β and yes, the new dataset's path needs to be located within the superdataset for that to work. π«Ά
if you don't pass an explicit -s|--source option, then all positional URL-OR-PATH arguments are considered to be "sources" if they are URLs or target locations if they are paths. if a target location path corresponds to a submodule, the source location for it is figured out from its record in the .gitmodules. if -s|--source is specified, then a single optional positional PATH would be taken as the destination path for that dataset.
it is possible to provide a brief description to label the dataset's nature and location, e.g. "Michael's music on black laptop". this helps humans identify data locations in distributed scenarios. by default an identifier comprised of user and machine name, plus path will be generated.
when only partial dataset content shall be obtained, it is recommended to use this command without the get-data flag, followed by a get operation to obtain the desired data. periodt.
NOTE Power-user info: this command usesgit clone, andgit annex initto prepare the dataset. registering to a superdataset is performed via agit submodule addoperation in the discovered superdataset. π
π Examples π
install a dataset from GitHub into the current directory::
% datalad install https://github.com/datalad-datasets/longnow-podcasts.git
install a dataset as a subdataset into the current dataset::
% datalad install -d . --source='https://github.com/datalad-datasets/longnow-podcasts.git'
install a dataset into 'podcasts' (not 'longnow-podcasts') directory, and get all content right away::
% datalad install --get-data -s https://github.com/datalad-datasets/longnow-podcasts.git podcasts
install a dataset with all its subdatasets::
% datalad install -r https://github.com/datalad-datasets/longnow-podcasts.git
π OPTIONS π
URL-OR-PATHβ path/name of the installation target. if noPATHis provided a destination path will be derived from a source URL similar togit clone.-h,--help,--help-npβ show this help message.--help-npforcefully disables the use of a pager for displaying the help message.-s URL-OR-PATH,--source URL-OR-PATHβ URL or local path of the installation source. Constraints: value must be a string or value must beNONE.-d DATASET,--dataset DATASETβ specify the dataset to perform the install operation on. if no dataset is given, an attempt is made to identify the dataset in a parent directory of the current working directory and/or thePATHgiven. Constraints: Value must be aDatasetor a valid identifier of aDataset(e.g. a path) or value must beNONE.-g,--get-dataβ if given, obtain all data content too. slay, content included π₯-D DESCRIPTION,--description DESCRIPTIONβ short description to use for a dataset location. its primary purpose is to help humans identify a dataset copy (e.g.,"mike's dataset on lab server"). note that when a dataset is published, this information becomes available on the remote side. Constraints: value must be a string or value must beNONE.-r,--recursiveβ if set, recurse into potential subdatasets.-R LEVELS,--recursion-limit LEVELSβ limit recursion into subdatasets to the given number of levels. Constraints: value must be convertible to type'int'or value must beNONE.--reckless [auto|ephemeral|shared-...]β obtain a dataset or subdatset and set it up in a potentially unsafe way for performance, or access reasons. Use with care, any dataset is marked as'untrusted'. the reckless mode is stored in a dataset's local configuration under'datalad.clone.reckless', and will be inherited to any of its subdatasets. supported modes are:['auto']: hard-link files between local clones. in-place modification in any clone will alter original annex content.['ephemeral']: symlink annex to origin's annex and discard local availability info viagit-annex-dead'here'and declares this annex private. shares an annex between origin and clone w/ogit-annexbeing aware of it. in case of a change in origin you need to update the clone before you're able to save new content on your end. alternative to'auto'when hardlinks are not an option, or number of consumed inodes needs to be minimized. note that this mode can only be used with clones from non-bare repositories or a RIA store! otherwise two different annex object tree structures (dirhashmixedvsdirhashlower) will be used simultaneously, and annex keys using the respective other structure will be inaccessible.['shared-<mode>']: set up repository and annex permission to enable multi-user access. this disables the standard write protection of annex'ed files.<mode>can be any value support by'git init --shared=', such as'group', or'all'.
Constraints: value must be one of (True, False, 'auto', 'ephemeral') or value must start with 'shared-'.
-J NJOBS,--jobs NJOBSβ how many parallel jobs (where possible) to use."auto"corresponds to the number defined by'datalad.runtime.max-annex-jobs'configuration item NOTE: this option can only parallelize input retrieval (get) and output recording (save). DataLad does NOT parallelize your scripts for you. Constraints: value must be convertible to type'int'or value must beNONEor value must be one of('auto',)[Default:'auto']--branch BRANCHβ clone source at this branch or tag. this option applies only to the top-level dataset not any subdatasets that may be cloned when installing recursively. note that if the source is a RIA URL with a version, it takes precedence over this option. Constraints: value must be a string or value must beNONE.--versionβ show the module and its version which provides the command.
π AUTHORS π
datalad is developed by The DataLad Team and Contributors <team@datalad.org>. π«Ά
and that's the tea β β this iconic page is datalad install version 1.1.5, dated 2025-06-15, and yeah bestie, that's the footer flex. π
β¨
π¦ where this page comes from
- debian trixie: datalad 1.1.5-2.1 Β· MIT
- ubuntu resolute: datalad 1.1.5-2.1 Β· MIT
- ubuntu stonking: datalad 1.1.5-2.1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms