Design
The chapter described command API principles and the design of particular subsystems in DataLad.
- 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
- Progress reporting
- GitHub Action
- Continuous integration and testing
- User messaging: result records vs exceptions vs logging