DataLad Logo
maint
  • Change log
  • Acknowledgments
  • Publications
  • Background and motivation
  • Delineation from related solutions
  • Basic principles
  • Credentials
  • Metadata
  • Customization and extension of functionality
  • Design
    • Command line interface
    • Provenance capture
    • Application-type vs. library-type usage
    • File URL handling
    • Result records
    • dataset argument
    • Log levels
    • Drop dataset components
    • Python import statements
    • Miscellaneous patterns
    • Exception handling
    • Credential management
    • URL substitution
    • Threaded runner
    • BatchedCommand and BatchedAnnex
    • Standard parameters
    • Positional vs Keyword parameters
    • Docstrings
  • Glossary
  • Command line reference
  • Python module reference
  • Configuration
DataLad
  • »
  • Design
  • Edit on GitHub

Design

The chapter described command API principles and the design of particular subsystems in DataLad.

  • Command line interface
    • Basic workflow of a command line based command execution
    • Command parser construction by Interface inspection
    • CLI-based execution of Interface command
  • Provenance capture
    • The provenance record
    • Declaration of inputs and outputs
    • Placeholders in commands and IO specifications
    • Result records emitted by run
    • Implementation details
  • Application-type vs. library-type usage
    • Library-mode implications
  • File URL handling
    • Extensible protocol and authentication support
    • Indexing and access of archive content
  • Result records
    • Mandatory fields
    • Common optional fields
    • Additional fields observed “in the wild”
  • dataset argument
    • Impact on relative path resolution
    • Special values
    • Use cases
  • Log levels
    • Common principles
    • Use cases
  • Drop dataset components
    • Use cases
  • Python import statements
    • Examples
  • Miscellaneous patterns
    • Generator methods in Repo classes
    • Calls to Git commands
    • Command examples
  • Exception handling
    • Catching exceptions
    • Messaging about an exception
  • Credential management
    • Credentials
    • Providers
    • Integration with Git
    • Authenticators
  • URL substitution
    • Examples
  • Threaded runner
    • Threads
    • Protocols
    • Object and Generator Results
  • BatchedCommand and BatchedAnnex
    • Batched Command
    • BatchedAnnex
  • Standard parameters
  • Positional vs Keyword parameters
    • Motivation
    • Interfaces
    • Regular functions and methods
  • Docstrings
    • Formatting overview and guidelines
Previous Next

© Copyright 2016-2022, DataLad team. Revision 9e147092.

Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: maint
Versions
latest
stable
maint
Downloads
pdf
html
epub
On Read the Docs
Project Home
Builds