Python Library to facilitate automated package management on distributed servers
Library Name- BOX
Automate the installation/updation of modules/packages on the servers according to a given dependency config file
Dependency Config File Format
- 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
- 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
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|File Name & Hash SHA256 Hash Help||Version||File Type||Upload Date|
(5.5 kB) Copy SHA256 Hash SHA256
|2.7||Wheel||Jun 25, 2015|
(4.2 kB) Copy SHA256 Hash SHA256
|–||Source||Jun 25, 2015|