mirror of
https://git.zavage.net/Zavage-Software/app_skellington.git
synced 2024-12-22 06:39:20 -07:00
experiment with reStructuredtext
This commit is contained in:
parent
157a9e501c
commit
87fbc405c0
32
README.md
32
README.md
@ -1,17 +1,17 @@
|
|||||||
app_skellington
|
app_skellington
|
||||||
===============
|
===============
|
||||||
Application framework for Python, features include:
|
Application framework for Python, features include:
|
||||||
* Pain-free multi-level command menu: Expose public class methods as commands available to user.
|
- 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
|
- 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).
|
- INI-style config and and validation (provided through ConfigObj).
|
||||||
* Colored logging (provided through colorlog)
|
- Colored logging (provided through colorlog)
|
||||||
* Works on Linux, Windows, and Mac.
|
- Works on Linux, Windows, and Mac.
|
||||||
|
|
||||||
Principles:
|
Principles:
|
||||||
* Lend to creating beautiful, easy to read and understand code in the application.
|
- Lend to creating beautiful, easy to read and understand code in the application.
|
||||||
* Minimize coupling of applications to this framework.
|
- Minimize coupling of applications to this framework.
|
||||||
* Compatable with Linux, Windows, and Mac. Try to be compatible as possible otherwise.
|
- 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
|
- Try to be compatible with alternate Python runtimes such as PyPy and older python environments. \*WIP
|
||||||
|
|
||||||
Application Configuration
|
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
|
Reference the ConfigObj documentation for config.ini and config.spec
|
||||||
format. See:
|
format. See:
|
||||||
|
|
||||||
* https://configobj.readthedocs.io/en/latest/configobj.html#the-config-file-format
|
- 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#validation
|
||||||
|
|
||||||
Config files (config.ini) are created if they don't exist. The
|
Config files (config.ini) are created if they don't exist. The
|
||||||
file always contains the full specification of parameters; i.e. even default
|
file always contains the full specification of parameters; i.e. even default
|
||||||
@ -38,9 +38,9 @@ Linux:
|
|||||||
|
|
||||||
Windows:
|
Windows:
|
||||||
|
|
||||||
C:\Users\\\<user>\\\<app_name\>\\Local\\\<app_name\>\\config.ini
|
C:\\Users\\\<user>\\\<app_name\>\\Local\\\<app_name\>\\config.ini
|
||||||
|
|
||||||
C:\Users\\\<user>\\\<app_name\>\\Local\\\<app_name\>\\Logs\\\<app_name\>.log
|
C:\\Users\\\<user>\\\<app_name\>\\Local\\\<app_name\>\\Logs\\\<app_name\>.log
|
||||||
|
|
||||||
Application configuration can be overridden ad-hoc through the --config <filename>
|
Application configuration can be overridden ad-hoc through the --config <filename>
|
||||||
argument.
|
argument.
|
||||||
@ -50,11 +50,11 @@ Debug - Turn on Logging
|
|||||||
Set 'APPSKELLINGTON_ENABLE_LOGGING' environment variable to any value which turns
|
Set 'APPSKELLINGTON_ENABLE_LOGGING' environment variable to any value which turns
|
||||||
on AppSkellington-level logging. For example,
|
on AppSkellington-level logging. For example,
|
||||||
|
|
||||||
APP_SKELLINGTON_DEBUG=1 <executable>
|
APPSKELLINGTON_DEBUG=1 <executable>
|
||||||
|
|
||||||
or
|
or
|
||||||
|
|
||||||
export APP_SKELLINGTON_DEBUG=1
|
export APPSKELLINGTON_DEBUG=1
|
||||||
<executable>
|
<executable>
|
||||||
|
|
||||||
Tests
|
Tests
|
||||||
@ -64,5 +64,5 @@ Tests are a WIP. Recommendation is to run 'pytest' in the 'tests' directory.
|
|||||||
Notes
|
Notes
|
||||||
-----
|
-----
|
||||||
See official website: https://zavage-software.com
|
See official website: https://zavage-software.com
|
||||||
Please report bugs, improvements, or feedback! <contact>
|
Please report bugs, improvements, or feedback!
|
||||||
|
|
||||||
|
@ -473,7 +473,7 @@ class SubMenu:
|
|||||||
# NOTE(MG) Fix below strategizes whether to pass in 'required'
|
# NOTE(MG) Fix below strategizes whether to pass in 'required'
|
||||||
# paremter to ArgumentParser.add_subparsers()
|
# paremter to ArgumentParser.add_subparsers()
|
||||||
# which was added in in Python3.7.
|
# 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 = {
|
func_args = {
|
||||||
'dest': var_name,
|
'dest': var_name,
|
||||||
'metavar': var_name,
|
'metavar': var_name,
|
||||||
|
15
setup.py
15
setup.py
@ -12,18 +12,29 @@
|
|||||||
#
|
#
|
||||||
# de-installation:
|
# de-installation:
|
||||||
#
|
#
|
||||||
# $ pip uninstall <app>
|
# $ pip uninstall app_skellington
|
||||||
|
|
||||||
|
|
||||||
from setuptools import setup
|
from setuptools import setup
|
||||||
|
import os
|
||||||
|
|
||||||
__project__ = 'app_skellington'
|
__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(
|
setup(
|
||||||
name = __project__,
|
name = __project__,
|
||||||
version = __version__,
|
version = __version__,
|
||||||
description = 'A high-powered 2-level CLI framework',
|
description = 'A high-powered 2-level CLI framework',
|
||||||
|
long_description = long_description,
|
||||||
author = 'Mathew Guest',
|
author = 'Mathew Guest',
|
||||||
author_email = 't3h.zavage@gmail.com',
|
author_email = 't3h.zavage@gmail.com',
|
||||||
url = 'https://git-mirror.zavage-software.com/Mirror/app_skellington',
|
url = 'https://git-mirror.zavage-software.com/Mirror/app_skellington',
|
||||||
|
Loading…
Reference in New Issue
Block a user