101-180-next.rst 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. .. _datalad-next:
  2. What's next in DataLad?
  3. -----------------------
  4. 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.
  5. It can be thought of as a staging area for additional functionality, or for improved performance and user experience.
  6. 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.
  7. As such, ``datalad-next`` isn't confined to a topical set of features, but provides functionality with broad applicability.
  8. 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.
  9. 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>`_.
  10. .. figure:: ../artwork/src/future_view.svg
  11. Selected features
  12. ^^^^^^^^^^^^^^^^^
  13. 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>`_.
  14. A few selected commands are featured here, nevertheless.
  15. datalad tree
  16. """"""""""""
  17. The :dlcmd:`tree` command visualizes directory and dataset hierarchies.
  18. It mimics the UNIX/MS-DOS 'tree' utility to generate and display a directory tree, with DataLad-specific enhancements.
  19. 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.
  20. .. code-block:: bash
  21. /tmp/mydir
  22. ├── [DS~0] ds_A/
  23. │ └── [DS~1] subds_A/
  24. └── [DS~0] ds_B/
  25. ├── dir_B/
  26. │ ├── file.txt
  27. │ ├── subdir_B/
  28. │ └── [DS~1] subds_B0/
  29. └── [DS~1] (not installed) subds_B1/
  30. 5 datasets, 2 directories, 1 file
  31. datalad download
  32. """"""""""""""""
  33. The :dlcmd:`download` command is similar to :dlcmd:`download-url`, but more powerful and meant as a backend rather than a front-end.
  34. 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).
  35. datalad create-sibling-webdav
  36. """""""""""""""""""""""""""""
  37. 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>`_.
  38. Notably, it provides new, powerful dataset deposition methods that include human-readable worktree-like representations of datasets that are nevertheless clone-able.
  39. .. index::
  40. single: configuration item; datalad.extensions.load
  41. Patches to exiting functionality
  42. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  43. ``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.
  44. 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.
  45. .. code-block:: bash
  46. datalad configuration --scope global set datalad.extensions.load=next