What is next in DataLad
Project description
DataLad NEXT extension
This DataLad extension can be thought of as a staging area for additional functionality, or for improved performance and user experience. Unlike other topical or more experimental extensions, the focus here is on functionality with broad applicability. This is extension is a suitable dependency for other software packages that intend to build on this improved set of functionality.
Installation
# create and enter a new virtual environment (optional)
$ virtualenv --python=python3 ~/env/dl-next
$ . ~/env/dl-next/bin/activate
# install from PyPi
$ python -m pip install datalad-next
How to use
Additional commands provided by this extension are immediately available after installation. However, in order to fully benefit from all improvements, the extension has to be enabled for auto-loading by executing:
git config --global --add datalad.extensions.load next
Doing so will enable the extension to also alter the behavior the core DataLad package and its commands.
Summary of functionality provided by this extension
- A replacement sub-system for credential handling that is able to handle arbitrary properties for annotating a secret, and facilitates determining suitable credentials while minimizing avoidable user interaction, without compromising configurability.
- A user-facing
credentials
command to set, remove, and query credentials. - The
create-sibling-...
commands for the platforms GitHub, GIN, GOGS, Gitea are equipped with improved credential handling that, for example, only stores entered credentials after they were confirmed working, or auto-selects the most recently used, matching credentials, when none are specified. - A
create-sibling-webdav
command for hosting datasets on a WebDAV server via a sibling tandem for Git history and file storage. Datasets hosted on WebDAV in this fashion are cloneable withdatalad-clone
. A full annex setup for storing complete datasets with historical file content version, and an additional mode for depositing single-version dataset snapshot are supported. The latter enables convenient collaboration with audiences that are not using DataLad, because all files are browsable via a WebDAV server's point-and-click user interface. - Enhance
datalad-push
to automatically export files to git-annex special remotes configured withexporttree=yes
. - Enhance
datalad-siblings enable
(AnnexRepo.enable_remote()
to automatically deploy credentials for git-annex special remotes that require them. git-remote-datalad-annex
is a Git remote helper to push/fetch to any location accessible by any git-annex special remote.git-annex-backend-XDLRA
(originally available from themihextras
extension) is a custom external git-annex backend used by git-remote-datalad-annex. A base class to facilitate development of external backends in Python is also provided.
Summary of additional features for DataLad extension development
serve_path_via_webdav
test decorator that automatically deploys a local WebDAV server.with_credential
test decorator that temporarily deploy a credential to the local credential system.- Utilities for HTTP handling
probe_url()
to discover redirects and authentication requirements for an HTTP URLget_auth_realm()
return a label for an authentication realm that can be used to query for matching credentials
- Utilities for special remote credential management:
get_specialremote_credential_properties()
inspects a special remote and return properties for querying a credential store for matching credentialsupdate_specialremote_credential()
updates a credential in a store after successful useget_specialremote_credential_envpatch()
returns a suitable environment "patch" from a credential for a particular special remote type
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for datalad_next-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39ccc11a8bb0c8c9279d7fa2c98f4daf16ad183cf9fd297e381e04e650e9554b |
|
MD5 | 3b6ab04d12ee5a3408230d92c703b38c |
|
BLAKE2b-256 | fef8138eea5e7571d5fb92e5e99b4b75dfec3f5d21da15522804f8c946cfe8d2 |