Skip to content

Latest commit

 

History

History
91 lines (59 loc) · 3.88 KB

README.adoc

File metadata and controls

91 lines (59 loc) · 3.88 KB

GruntWurk Core for Python

GruntWurk Core for Python logo

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

https://github.com/gruntwurk/gwpycore

Issues

https://github.com/gruntwurk/gwpycore/issues/

Authors

Craig Jones

Latest Version

0.0.1

Python versions

3.6 or above

What’s in GruntWurk Core for Python?

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().

License

See link::LICENSE[]