Skip to main content

Interactive CLI for exploring HDF5 files

Project description

hcl

Explore Hdf5 files on the Command Line.

Designed to be familiar to Unix CLI users, but no particular effort has been made for true compatibility or POSIX compliance.

Usage

usage: hcl [-h] [-c COMMAND] [-p PLUGIN] [--verbose] [--mode MODE] [--version]
           [file]

CLI for interactive exploration of HDF5 files.

positional arguments:
  file                  HDF5 file to explore. Add ':/path/to/group' to start
                        in a specific group. If this is not given, only
                        `--version`, `--help`, or `--command '<some_command>
                        --help'` can be used.

optional arguments:
  -h, --help            show this help message and exit
  -c COMMAND, --command COMMAND
                        Run a single command and exit.
  -p PLUGIN, --plugin PLUGIN
                        Import path for additional commands, in the form
                        '{module}:{object}', where {module} can be an absolute
                        import path, or the path to a python file which can be
                        run; {object} can be a Command subclass, an iterable
                        of them, or a callable returning either. Can be used
                        multiple times.
  --verbose, -v         Increase logging verbosity, up to -vv for debug.
  --mode MODE, -m MODE  Mode in which to open the file. 'r' (default):
                        Readonly, file must exist. 'r+': Read/write, file must
                        exist. 'w': Create file, truncate if exists. 'w-' or
                        'x': Create file, fail if exists. 'a': Read/write if
                        exists, create otherwise.
  --version, -V         Print version and exit.

Commands available

attrs               List attributes or look at one attribute.
cd                  Change working group.
chunks              Get dataset chunks.
compression         Get dataset compression.
compression_opts    Get dataset compression_opts.
driver              Get group or dataset driver.
dtype               Get dataset dtype.
exit                Quit hcl.
filename            Get group or dataset filename.
fillvalue           Get dataset fillvalue.
fletcher32          Get dataset fletcher32.
help                List available commands.
is_virtual          Get dataset is_virtual.
libver              Get group or dataset libver.
ls                  List members of a group.
maxshape            Get dataset maxshape.
mode                Get group or dataset mode.
name                Get group or dataset name.
pwd                 Get working group.
scaleoffset         Get dataset scaleoffset.
shape               Get dataset shape.
shuffle             Get dataset shuffle.
size                Get dataset size.
tree                Show hierarchy as a tree.
userblock_size      Get group or dataset userblock_size.

See files in commands/ for usage for each command.

Development

Plugins

Pull requests adding more commands to the core tool are very welcome.

However, hcl also supplies an easy route to add functionality locally. The --plugin option allows you to supply the python import path or a file system path to a python script, containing third party commands.

These should subclass hcl.Command, and allow you to control autocompletion, return codes and so on. See hcl/commands.py for examples on how to use this class. The context variable passed to the Command's constructor is the main hcl.cli.Cli instance.

Documentation

Run make docs to automatically update this README's usage information, and the command documentation in ./commands. CI checks whether these are up to date.

Notes

Very similar to h5cli. hcl features:

  • more documentation
  • piping output from --command mode
  • doesn't crash when I try to run it.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hcl-0.2.1.tar.gz (16.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page