app_skellington =============== Application framework for Python, features include: * Pain-free multi-level command menu: Expose public class methods as commands available to user. * Simple to define services and automatic dependency injection based on name (with custom invocation as an option). *WIP * INI-style config and and validation (provided through ConfigObj). * Colored logging (provided through colorlog) * Works on Linux, Windows, and Mac. Principles: * Lend to creating beautiful, easy to read and understand code in the application. * Minimize coupling of applications to this framework. * Compatable with Linux, Windows, and Mac. Try to be compatible as possible otherwise. * Try to be compatible with alternate Python runtimes such as PyPy and older python environments. *WIP Application Configuration ------------------------- Site configurations are supported through configobj. There is a config.spec in the src directory which is a validation file; it contains the accepted parameter names, types, and limits for configurable options in the application which is built on app_skellington. The format is multi-level .ini syntax. See the configobj documentation for more information. Site configuration files (config.ini) are created if they don't exit. The file always contains the full specification of parameters; i.e. even default parameters are added into the config file. Linux: /home/\/.config/\/config.ini /home/\/.cache/\/log/\.log Windows: C:\Users\\\\\\\\Local\\\\\config.ini C:\Users\\\\\\\\Local\\\\\Logs\\\.log Application configuration can be overridden ad-hoc through the --config argument. Debug - Turn on Logging --------------------------- Set 'APPSKELLINGTON_ENABLE_LOGGING' environment variable to any value which turns on AppSkellington-level logging. For example, APP_SKELLINGTON_DEBUG=1 or export APP_SKELLINGTON_DEBUG=1 Tests ----- Tests are a WIP. Recommendation is to run 'pytest' in the 'tests' directory. Notes ----- See official website: https://zavage-software.com Please report bugs, improvements, or feedback!