Python tooling

datalad-next comprises a number of more-or-less self-contained mini-packages providing particular functionality. These implementations are candidates for a migration into the DataLad core package, and are provided here for immediate use. If and when components are migrated, transition modules will be kept to prevent API breakage in dependent packages.

archive_operations

Handler for operations on various archive types

commands

Essential tooling for implementing DataLad commands

config

Configuration query and manipulation

constraints

Data validation, coercion, and parameter documentation

consts

Common constants

credman

Credential management

datasets

Representations of DataLad datasets built on git/git-annex repositories

exceptions

Special purpose exceptions

gitpathspec

Handling of Git's pathspecs with subdirectory mangling support

iterable_subprocess

Context manager to communicate with a subprocess using iterables

itertools

Various iterators, e.g., for subprocess pipelining and output processing

iter_collections

Iterators for particular types of collections

repo_utils

Common repository operations

runners

Execution of subprocesses

shell

A persistent shell connection

tests

Tooling for test implementations

tests.fixtures

Collection of fixtures for facilitation test implementations

types

Custom types and dataclasses

uis

UI abstractions for user communication

url_operations

Handlers for operations on various URL types and protocols

utils

Assorted utility functions