Skip to main content

Takes the drudgery out of bind-mounting volumes on Docker and Singularity

Project description

bindit

https://img.shields.io/pypi/v/bindit.svg https://img.shields.io/travis/jooh/bindit.svg Documentation Status

Takes the drudgery out of binding volumes on Docker and (soon) Singularity

bindit is a wrapper for container runners that makes it easy to handle file input and output for containerised command-line applications. It works by detecting file paths in the container image arguments, and rebasing these as necessary onto new bind mounts. See docs for full detail, but here is the high-level API:

Usage: bindit [OPTIONS] COMMAND [ARGS]...

  bindit is a wrapper for container runners that makes it easy to handle
  file input and output for containerized command-line applications. It
  works by detecting file paths in the container image arguments, and
  rebasing these as necessary onto new bind mounts.

Options:
  -i, --ignorepath PATH  path(s) on the host to ignore when detecting new bind
                         mounts. Typical         linux binary locations
                         (/usr/bin etc) are included on this list by default.
  -a, --absonly          Only rebase absolute paths.
  -d, --dryrun           Return formatted shell command without invoking
                         container runner
  -l, --loglevel TEXT    Logging level  [default: INFO]
  --help                 Show this message and exit.

Commands:
  docker
Usage: bindit_partial [OPTIONS] SCRIPT_ARG...

  bindit_partial constructs a shell script wrapper for bindit (or your
  container runner directly) that can be used as a command line interface
  for the container. It works a bit like functools.partial in the standard
  library - you can offload some default parameters (e.g. for volume binds
  mounts) to the script in order to obtain a cleaner API for the container.

  For main documentation, see bindit.

Options:
  --output_file TEXT     Output to file instead of standard out
  --shebang TEXT         Shell interpreter directive  [default: #!/bin/bash]
  --vararg_pattern TEXT  vararg pattern (try "$argv" for csh/tcsh)  [default:
                         "$@"]
  --help                 Show this message and exit.   Usage: bindit_partial [OPTIONS] SCRIPT_ARG...

History

0.2.2 (2019-07-26)

  • Patch –version argument for standalone installs.

0.2.1 (2019-07-26)

  • Handle missing docker binary more gracefully to support e.g. dryrun mode on machines without docker installed (and eventually, singularity).

0.2.0 (2019-07-25)

  • New bindit_partial utility for generating command-line wrapper scripts
  • Tests improved, bugs squashed (0.1.0 was easy to break, this release is much more robust
  • Comprehensive documentation with reasonable docstrings

0.1.0 (2019-04-30)

  • First release on PyPI.

Project details


Download files

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

Files for bindit, version 0.2.2
Filename, size File type Python version Upload date Hashes
Filename, size bindit-0.2.2-py2.py3-none-any.whl (12.8 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size bindit-0.2.2.tar.gz (23.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page