A collection of fabric tasks for package management
Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs
fabric_package_management
tests
.gitignore
.travis.yml
LICENSE
MANIFEST.in
README.md
dev-requirements.pip
requirements.pip
setup.py

README.md

fabric-package-management

As the name implies, fabric-package-management is a collection of Fabric tasks for package management. There's nothing too fancy going on here. It's aim is to simply not have to copy and paste similar convenience functions into many a Fabfile.

Build Status docs codecov

Example:

#!/usr/bin/python

from fabric.api import task, prompt, env
from fabric.context_managers import cd
from fabric.operations import reboot

from fabric_package_managment import apt

@task()
def run():
    apt.update()
    apt.upgrade()
    apt.install(['bpython', 'git'])
    with cd('/tmp'):
        apt.source("python-libcloud", download_only=True)
    apt.remove('bpython', purge=True)
    apt.autoremove()
    apt.autoclean()
    if apt.reboot_required():
        prompt("Reboot required. Initiate now?\nYes/No?",
            "response",
            default="No",
            validate=r'yes|Yes|YES|no|No|NO')
        if env.response.lower() == "yes":
            reboot()