Bug#827514: ITP: python-vagrant -- Python bindings for interacting with Vagrant virtual machines
Package: wnpp
Severity: wishlist
Owner: "Hans-Christoph Steiner" <hans@eds.org>
* Package name : python-vagrant
Version : 0.5.13
Upstream Author : Todd DeLuca <todddeluca@gmail.com>
* URL : https://github.com/todddeluca/python-vagrant
* License : MIT
Programming Lang: Python
Package source :
https://anonscm.debian.org/cgit/python-modules/packages/python-vagrant.git
Description : Python bindings for interacting with Vagrant virtual
machines
Python-vagrant is a python module that provides a _thin_ wrapper
around the `vagrant` command line executable, allowing programmatic
control of Vagrant virtual machines (boxes). This project began
because I wanted python bindings for Vagrant so I could
programmatically access my vagrant box using Fabric. This module is
useful for:
.
- Starting a Vagrant virtual machine (VM) (`up`)
- Terminating a Vagrant VM (`destroy`)
- Halting a Vagrant VM without destroying it (`halt`)
- Querying the status of a VM or VMs (`status`)
- Getting ssh configuration information useful for SSHing into the
VM (`host`, `port`, ...)
- Running `vagrant` commands in a multi-VM environment
(http://vagrantup.com/v1/docs/multivm.html) by using `vm_name`
parameter
- Initializing the VM based on a named base box, using init().
- Adding, Removing, and Listing boxes (`box add`, `box remove`,
`box list`)
- Provisioning VMs - up() accepts options like `no_provision`,
`provision`, and `provision_with`, and there is a `provision()`
method
- Using sandbox mode from the Sahara gem:
https://github.com/jedi4ever/sahara
.
This package is _beta_ and its API is not guaranteed to be
stable. The API attempts to be congruent with the `vagrant` API
terminology, to facilitate knowledge transfer for users already
familiar with Vagrant. Over time, the python-vagrant API has changed
to better match the underling `vagrant` CLI and to evolve with the
changes in that CLI.
.
The package version numbering is in the form `0.X.Y`. The initial `0`
reflects the _beta_ nature of this project. The number `X` is
incremented when backwards-incompatible changes occur. The number `Y`
is incremented when backwards-compatible features or bug fixes are
added.
Reply to: