This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Python Library to facilitate automated package management on distributed servers

Project Description

Library Name- BOX

Task

Automate the installation/updation of modules/packages on the servers according to a given dependency config file

Dependency Config File Format

Library Components

  • config_parser.py - parses dependency config from given filepath
  • utils.py - set of utility functions such as dependency_install_manager, steps execution callable for fabric, etc.
  • install.py - this is the main file, which contains function to be called when the library is used
  • exceptions.py - this contains the various exceptions classes used in the library

Inputs to be given

  • dependency config file this is a dictionary of the given format with steps, action and package_name this imports the endpoints callable.
  • machines information this is a set of machine callables which define a set of machines each machine has 3 components - user, key, endpoint

Flow

  • user creates a set of callables which return endpoints for machines
  • now a dependency config file is created in specified format, which takes callables for server for each package, and action is defined (INSTALL/UNINSTALL).
  • now, path to dependency config file is given to the library function ( handle_dependencies() ) alongwith action(explained below)
    • action - this is the required action of the user, i.e. if the user wants to execute all the packages to be installed, he will specify action=INSTALL, else UNINSTALL(for executing packages to be uninstalled)
  • handle_dependencies() passes the dependency config filepath to the config_parser which returns a dictionary of endpoints (as key) and packages( as value)
  • now, for every machine manage_dependencies_on_machine() is called which takes machine and its packages and installs them using utility functions

3rd Party Library used

Examples

You can find examples of dependency config file, and sample machine group class here and here.

If you are using django, you might like to use this library via a management command , which you can find here.

Release History

Release History

This version
History Node

0.2.1

History Node

0.2

History Node

0.2.0

History Node

0.1.31

History Node

0.1.30

History Node

0.1.22

History Node

0.1.3

History Node

0.1.1

History Node

0.1

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
hackerearth_box-0.2.1-py2-none-any.whl (5.5 kB) Copy SHA256 Checksum SHA256 2.7 Wheel Jun 25, 2015
hackerearth-box-0.2.1.tar.gz (4.2 kB) Copy SHA256 Checksum SHA256 Source Jun 25, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting