This is the GruntWurk Core for Python — Just another Python project framework. It provides support for any type of Python project, especially:
-
Command-Line only tools (e.g. stdin → stdout filters)
-
A "simple control panel" framework for a quick-and-dirty app with lots of buttons that launch various scripts.
-
Any project that calls for: logging, standardized exit codes, command-line options, INI configs.
It also contains a collection of one-off "housekeeping" functions like installing a TTF font in Windows.
Note
|
This library was developed in Python 3.8 on Windows 10. Everything should work in Python 3.6 and/or on non-Windows boxes, but no guarantees either way. |
Coming Soon: Cookie-cutter templates that utilize the GruntWurk Core to jump-start your projects.
Project site |
|
Issues |
|
Authors |
Craig Jones |
Latest Version |
0.0.1 |
Python versions |
3.6 or above |
Project Setup Tools/Frameworks (gw_basis folder):
-
gw_cli.py — Command-Line-Interface tools (argparse helpers).
-
gw_config.py — INI configuration tools (configparser helpers).
-
gw_exceptions.py — Base exception classes that are logging-friendly and with exitcode standardization.
-
gw_logging.py — Extends basic Python logging with 2 added levels (DIAGNOSTIC, TRACE), incorporates colorlog, and other features.
-
gw_versioning.py — For help with bumping/tracking version numbers.
User-Interface (gw_gui folder):
-
gw_gui_simple_cp.py — A base class for creating a "simple control panel"
-
gw_gui_q_line_edit.py — A subclass of QLineEdit that allows for deselecting.
-
gw_gui_finger_tabs.py
-
gw_gui_kay_map.py — A manager for QActions, including loading them from a key map in a CSV file.
-
gw_gui_dialogs.py --QT-based message dialogs that are logging-friendly: inform_user_about_issue(), ask_user_to_confirm(), and ask_user_to_choose().
General Utility Functions:
-
gw_datetime.py — from_month_name(), timestamp().
-
gw_strings.py — strip_blank_lines(), rstrip_special(), leading_spaces_count(), normalizeName().
-
gw_alphabet.py — PHONETIC_LIST, PHONETIC_DICT, phonetic_spelling().
Windows Specific (gw_windows_specific folder):
-
gw_fonts.py — Installing a TTF or OTF font in Windows.
-
gw_winodws_behavior.py — disableWindowTracking().
-
gw_winodws_printing.py — fill_in_pdf(), view_pdf(), print_pdf().
For the User (App Developer):
-
Quick and easy: Getting your app to accept command-line switches.
-
Quick and easy: Getting your app to accept a basic configuration INI file.
-
Quick and easy: Writing a simple control panel app (i.e. a launcher platform).
-
Quick and easy: Taking advantage of Python’s Logging features.
-
Writing Filter Commands (command-line programs that are "piped" together)
-
Writing Apps with Exception Handling that combines logging and exit-code handling
For any Possible Contributor to this Library:
See link::LICENSE[]