12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- .. _datalad-next:
- What's next in DataLad?
- -----------------------
- The `datalad-next extension <https://docs.datalad.org/projects/next>`_ is a noteworthy extension not only because of the additional functionality it provides, but also because of its role in the development process of the datalad core package.
- It can be thought of as a staging area for additional functionality, or for improved performance and user experience.
- New features are introduced into ``datalad-next`` first, and, once tested for a sufficient amount of time and deemed useful, adopted in the core datalad package.
- As such, ``datalad-next`` isn't confined to a topical set of features, but provides functionality with broad applicability.
- Some of this functionality takes the form of new stand-alone commands, while other functionality concerns improvements of existing commands under the hood via a special patch mechanism or modern re-implementations of established concepts.
- As development in this extension is dynamic, the best place to find and up-to-date overview of functionality is in its `source repository <https://github.com/datalad/datalad-next>`_.
- .. figure:: ../artwork/src/future_view.svg
- Selected features
- ^^^^^^^^^^^^^^^^^
- The ideal way to stay up-to-date on gooey developments is its documentation at `docs.datalad.org/projects/next <https://docs.datalad.org/projects/next>`_.
- A few selected commands are featured here, nevertheless.
- datalad tree
- """"""""""""
- The :dlcmd:`tree` command visualizes directory and dataset hierarchies.
- It mimics the UNIX/MS-DOS 'tree' utility to generate and display a directory tree, with DataLad-specific enhancements.
- With those, it can be used as an improved `tree`-style visualization, as a dataset discovery tool (when used with its ``--recursive`` option), or for programmatic directory traversal.
- .. code-block:: bash
- /tmp/mydir
- ├── [DS~0] ds_A/
- │ └── [DS~1] subds_A/
- └── [DS~0] ds_B/
- ├── dir_B/
- │ ├── file.txt
- │ ├── subdir_B/
- │ └── [DS~1] subds_B0/
- └── [DS~1] (not installed) subds_B1/
- 5 datasets, 2 directories, 1 file
- datalad download
- """"""""""""""""
- The :dlcmd:`download` command is similar to :dlcmd:`download-url`, but more powerful and meant as a backend rather than a front-end.
- Unlike most DataLad commands, it can be used outside of the context of a dataset, has more options for input and output specifications (such as streaming), and provides support for additional URL schemes (such as :term:`SSH` URLs).
- datalad create-sibling-webdav
- """""""""""""""""""""""""""""
- The :dlcmd:`create-sibling-webdav` extends DataLad's ``create-sibling-*`` family with support for `WebDAV <https://en.wikipedia.org/wiki/WebDAV>`_ services such as `Nextcloud <https://en.wikipedia.org/wiki/Nextcloud>`_, `owncloud <https://en.wikipedia.org/wiki/OwnCloud>`_ `Sciebo <https://www.hochschulcloud.nrw>`_.
- Notably, it provides new, powerful dataset deposition methods that include human-readable worktree-like representations of datasets that are nevertheless clone-able.
- .. index::
- single: configuration item; datalad.extensions.load
- Patches to exiting functionality
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- ``datalad-next`` differs from other extensions also in that it has a mechanism that hooks into existing DataLad commands and improves them under the hood.
- If the DataLad configuration ``extensions.load=next`` is set and ``datalad-next`` is installed, patches can be applied to select commands of the core package.
- .. code-block:: bash
- datalad configuration --scope global set datalad.extensions.load=next
|