DATALAD-CREATE(1)

✨ datalad create ✨

okay bestie, welcome to the General Commands Manual page for datalad create β€” this is the one where we make a whole new dataset from scratch, like, from nothing. πŸŽ€

🌸 SYNOPSIS 🌸

datalad create [-h] [-f] [-D DESCRIPTION] [-d DATASET] [--no-annex]
       [--fake-dates] [-c PROC] [--version] [PATH] ...

πŸ’– DESCRIPTION πŸ’–

So this command initializes a shiny new dataset at whatever location you give it β€” or in the current directory if you're feeling lazy (no judgement 🫢). The new dataset can optionally be registered inside an existing superdataset β€” but heads up, for that to work the new dataset's path needs to be located within the superdataset, and you have to give the superdataset explicitly via --dataset. iykyk.

It is recommended to drop a brief description to label the dataset's nature and location β€” like, for example, "Michael's music on black laptop". This literally helps humans identify data locations in distributed scenarios, fr fr. If you don't, an identifier comprised of user and machine name, plus path, will be generated by default.

🚨 big one: this command only creates a new dataset, it does not add existing content to it β€” even if the target directory already contains additional files or directories. it's giving "empty vessel" energy.

Plain Git repositories can be created via --no-annex. BUT πŸ’€ the result will not be a full dataset, and, consequently, not all features are supported (e.g. a description). so keep that in mind.

To create a local version of a remote dataset, use the install command instead, bestie. different tool, different vibe.

NOTE β€” Power-user info 🧚: This command uses git init and git annex init to prepare the new dataset. Registering to a superdataset is performed via a git submodule add operation in the discovered superdataset. iconic behavior tbh.

πŸ¦‹ Examples πŸ¦‹

Create a dataset mydataset in the current directory:

% datalad create mydataset

Apply the text2git procedure upon creation of a dataset:

% datalad create -c text2git mydataset

Create a subdataset in the root of an existing dataset:

% datalad create -d . mysubdataset

Create a dataset in an existing, non-empty directory:

% datalad create --force

Create a plain Git repository:

% datalad create --no-annex mydataset

πŸ’… OPTIONS πŸ’…

  • PATH β€” path where the dataset shall be created; directories will be created as necessary. If no location is provided, a dataset will be created in the location specified by --dataset (if given) or the current working directory. Either way the command will error if the target directory is not empty 😭 β€” use --force to create a dataset in a non-empty directory. Constraints: value must be a string or Value must be a Dataset or a valid identifier of a Dataset (e.g. a path) or value must be NONE.
  • INIT OPTIONS β€” options to pass to git init. Any argument specified after the destination path of the repository will be passed to git-init as-is. Note that not all options will lead to viable results β€” for example --bare will not yield a repository where DataLad can adjust files in its working tree. so like… don't, probably.
  • -h, --help, --help-np β€” show this help message. --help-np forcefully disables the use of a pager for displaying the help message. (no pager, no drama 🌈)
  • -f, --force β€” enforce creation of a dataset in a non-empty directory. the "I know what I'm doing" flag πŸ”₯
  • -D DESCRIPTION, --description DESCRIPTION β€” short description to use for a dataset location. Its primary purpose is to help humans to 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 be NONE.
  • -d DATASET, --dataset DATASET β€” specify the dataset to perform the create operation on. If a dataset is given along with PATH, a new subdataset will be created in it at the path provided to the create command. If a dataset is given but PATH is unspecified, a new dataset will be created at the location specified by this option. Constraints: Value must be a Dataset or a valid identifier of a Dataset (e.g. a path) or value must be NONE.
  • --no-annex β€” if set, a plain Git repository will be created without any annex. minimalist queen πŸ’…
  • --fake-dates β€” Configure the repository to use fake dates. The date for a new commit will be set to one second later than the latest commit in the repository. This can be used to anonymize dates. πŸ•΅οΈβ€β™€οΈ incognito mode, but for git history.
  • -c PROC, --cfg-proc PROC β€” Run cfg_PROC procedure(s) (can be specified multiple times) on the created dataset. Use run-procedure --discover to get a list of available procedures, such as cfg_text2git. πŸͺ„
  • --version β€” show the module and its version which provides the command.

πŸ‘‘ AUTHORS πŸ‘‘

datalad is developed by The DataLad Team and Contributors <team@datalad.org>. absolute legends, no cap 🫢


and that's the whole page, bestie! πŸ’œ this was datalad create version 1.1.5, dated 2025-06-15 β€” go forth and create datasets, you're gonna slay βœ¨πŸ“

πŸ“¦ where this page comes from