Package files and metadata into self contained datasets
Make your data more resilient, portable and easy to work with by packaging files & metadata into self contained datasets.
- Documentation: http://dtool.readthedocs.io
- Free software: MIT License
Dtool is a suite of software for managing scientific data and making it accessible programatically. It consists of a command line interface dtool and a Python API: dtoolcore.
The dtool command line interface allows one to organise files into datasets and to move datasets between different storage solutions, for example from local disk to remote object storage. Importantly it also provides methods to verify that the transfer has been successful.
The Python API gives complete access to the data and metadata in a dataset. It makes it easy to create scripts for processing the items, or a subset of items, in a dataset. The Python API also allows datasets to be constructed programatically.
Dtool is extensible, meaning that it is possible to create plugins both for adding functionality to the command line interface and for creating interfaces to custom storage backends.
The dtool Python package is a meta package that installs the packages:
- dtoolcore - core API
- dtool-cli - CLI plugin scaffold
- dtool-create - CLI commands for creating datasets
- dtool-info - CLI commands for getting information about datasets
- dtool-symlink - storage broker interface allowing symlinking to data
- dtool-s3 - storage broker interface t S3 object storage
- dtool-irods - storage broker interface to iRODS
$ pip install -U pip setuptools wheel $ pip install dtool
$ dtool create my-awesome-dataset Created proto dataset file:///Users/olssont/my-awesome-dataset Next steps: 1. Add descriptive metadata, e.g: dtool readme interactive file:///Users/olssont/my-awesome-dataset 2. Add raw data, eg: dtool add item my_file.txt file:///Users/olssont/my-awesome-dataset Or use your system commands, e.g: mv my_data_directory /Users/olssont/my-awesome-dataset/data/ 3. Convert the proto dataset into a dataset: dtool freeze file:///Users/olssont/my-awesome-dataset