67 lines
3.6 KiB
ReStructuredText
67 lines
3.6 KiB
ReStructuredText
.. _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
|