ANNOUNCING: Availability of a pre-alpha release of a Python CLI API and associated character-mode emulation of the pixel-mode wxPython GUI API

Richard S. Gordon rigordo at comcast.net
Thu Aug 6 20:53:58 CEST 2015


Members of the Python developer community might find some useful information, programming techniques, building block modules, packages and tools in the toolkit I’ve released via github:

https://github.com/ <https://github.com/>rigordo959/tsWxGTUI_PyVx_Repository

The repository includes Python 2x and 3x versions of:
A cross-platform Python 2x & Python 3x based Command Line Interface (CLI) API which works on various releases of Linux, Mac OS X, Microsoft Windows and Unix.
A cross-platform Python 2x & Python 3x based character-mode emulation of the pixel-mode "wxPython" Graphical User Interface (GUI) API which works on various releases of Linux, Mac OS X, Microsoft Windows (requires Cygwin plugin) and Unix.
Python version-specific Site-Packages (e.g. installable via commands such as "python2.6.8 setup.py install" or "python2.7.9 setup.py install” in "./tsWxGTUI_PyVx_Repository/SourceDistributions/Site-Packages/Python-2x”) which augments the standard Python Global Module Index
Python version-independant Developer-Sandboxes (e.g. run test and tool applications in "./tsWxGTUI_PyVx_Repository/SourceDistributions/Developer-Sandboxes/Python-3x/tsWxGTUI_Py3x") which facilitates experimentation without corrupting installed Site-Packages.
Python 2x & Python 3x based applications and instructions in "./tsWxGTUI_PyVx_Repository/Documents/Demo.txt" that demonstrate the Toolkit’s local and remote usage and coding techniques.
A single "python setup.py sdist” command cannot be used to release the repository via PyPI. Separate “python setup.py install” commands can be used to install the Python 2x and Python 3x site-packages. However, it is most important to keep a single repository because development and maintenance are facilitated when source code components share a common API and a single document set.

Unlike host operating systems, which provide native GUI services and standard terminal emulators (8-/16-color xterm-family and non-color vt100-family without interpreting mouse input), this Toolkit emulates the wxPython 68-color palette, and association of mouse input with wxPython triggering objects (such as buttons, checkboxes, radio buttons, scroll bar buttons and sliders/gauges).

Though its still a work in progress (pre-alpha), I"ve released the existing source code, documentation, man-pages and draft engineering notebooks in order to solicit feedback on the features, performance and priorities of features to implement next.

Richard S. Gordon

-----------
CLI API
-----------

A report packager/module that formats date, time, file size and nested dictionaries for creating message time stamps and configuration logs.
An exception package/module for mapping various exceptions into Unix-style 8-bit error codes to facilitate coordination of multiple Python scripts.
A logger package/module which creates a dated and time stamped directory in the directory from which a Python application is launched which will capture stdout/stderr, debug  and curses messages.
A Platform Run Time Environment package/module which builds and displays a formatted nested dictionary of Python system and host platform information. 
An Operator Settings Parser which extracts key-word value pair options and positional arguments using the latest available Python parser (argparse, optparse of getopt) with example code for each that can support:
-h/—help
-a/—about
-v/—version
-V/—Verbose
-d/—debug
-----------
GUI API
-----------

A curses-based character mode emulation of the pixel-mode wxPython Graphical User Interface API
It provides a pixel-mode “wxPython" feeling on character-mode 8-/16-color (xterm-family) & non-color (vt100-family) terminals and terminal emulators.
It supports:
Launching from command line interface mode
Frames, Dialogs, Scrolled Windows
Panels
Buttons, CheckBoxes, Radio Boxes/Buttons
Text Entry and Password Entry (still under development)
Splash Screen display constructed or re-used during launch
68-color palette (mapped into 8-/16-color Curses palette)
Logging to Screen and Files
Event Handling (not yet general purpose)
Task Bar (not yet capable of changing focus)
Position and dimensions accepted in Pixel (default) or Character (option) cell units.
Keyboard and mouse input works with:
Curses CLI applications on 32-/64-bit host platform:
"Terminal” on GNU/Linux
"Terminal” on Mac OS X
“Console” on Microsoft Windows with “Cygwin”, GNU/Linux-like plug-in from Red Hat
“Terminal” on Unix
nCurses CLI applications on 32-/64-bit host platform:
"XTerm" and "UXTerm” on GNU/Linux
"iTerm2" on Mac OS X
“Mintty” on Microsoft Windows with “Cygwin”, GNU/Linux-like plug-in from Red Hat


More information about the Python-announce-list mailing list