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
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size hackerearth_box-0.2.1-py2-none-any.whl (5.5 kB)||File type Wheel||Python version 2.7||Upload date||Hashes View|
|Filename, size hackerearth-box-0.2.1.tar.gz (4.2 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for hackerearth_box-0.2.1-py2-none-any.whl