diff --git a/README.md b/README.md index 3260bd3..43c8b5f 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,17 @@ 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. + - 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 + - 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 ------------------------- @@ -23,8 +23,8 @@ application which is built on app_skellington. The format is multi-level .ini sy Reference the ConfigObj documentation for config.ini and config.spec format. See: - * https://configobj.readthedocs.io/en/latest/configobj.html#the-config-file-format - * https://configobj.readthedocs.io/en/latest/configobj.html#validation + - https://configobj.readthedocs.io/en/latest/configobj.html#the-config-file-format + - https://configobj.readthedocs.io/en/latest/configobj.html#validation Config files (config.ini) are created if they don't exist. The file always contains the full specification of parameters; i.e. even default @@ -38,9 +38,9 @@ Linux: Windows: -C:\Users\\\\\\\\Local\\\\\config.ini +C:\\Users\\\\\\\\Local\\\\\config.ini -C:\Users\\\\\\\\Local\\\\\Logs\\\.log +C:\\Users\\\\\\\\Local\\\\\Logs\\\.log Application configuration can be overridden ad-hoc through the --config argument. @@ -50,11 +50,11 @@ 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 + APPSKELLINGTON_DEBUG=1 or - export APP_SKELLINGTON_DEBUG=1 + export APPSKELLINGTON_DEBUG=1 Tests @@ -64,5 +64,5 @@ 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! +Please report bugs, improvements, or feedback! diff --git a/app_skellington/cli.py b/app_skellington/cli.py index 9d38c7d..112a1e0 100644 --- a/app_skellington/cli.py +++ b/app_skellington/cli.py @@ -473,7 +473,7 @@ class SubMenu: # NOTE(MG) Fix below strategizes whether to pass in 'required' # paremter to ArgumentParser.add_subparsers() # which was added in in Python3.7. - # Must also be written into SubMenu.create_submenu. + # Must also be written into CommandTree.init_submenu func_args = { 'dest': var_name, 'metavar': var_name, diff --git a/setup.py b/setup.py index 443c2a4..ff92d0b 100755 --- a/setup.py +++ b/setup.py @@ -12,24 +12,35 @@ # # de-installation: # -# $ pip uninstall +# $ pip uninstall app_skellington from setuptools import setup +import os __project__ = 'app_skellington' -__version__ = '0.1.0' +__version__ = '0.1.1' +__description__ = 'A high-powered command line menu framework.' + +long_description = __description__ +readme_filepath = os.path.join( + os.path.abspath(os.path.dirname(__file__)), + 'README.md' +) +with open(readme_filepath, encoding='utf-8') as fp: + long_description = fp.read() setup( - name = __project__, - version = __version__, - description = 'A high-powered 2-level CLI framework', - author = 'Mathew Guest', - author_email = 't3h.zavage@gmail.com', - url = 'https://git-mirror.zavage-software.com/Mirror/app_skellington', - license = 'MIT', + name = __project__, + version = __version__, + description = 'A high-powered 2-level CLI framework', + long_description = long_description, + author = 'Mathew Guest', + author_email = 't3h.zavage@gmail.com', + url = 'https://git-mirror.zavage-software.com/Mirror/app_skellington', + license = 'MIT', - python_requires = '>=3', + python_requires = '>=3', classifiers = [ 'Development Status :: 3 - Alpha',