The results from code executed in the four independent PAD editors
are directed to separate document windows. This means command line prompts are unnecessary
and work product is kept separate, not intermixed with instructions.
Because the output windows are also document editors,
comments and images that might be necessary to
clarify or augment the result can easily be added. Finished
documents can be printed in-part or in-full and saved as RTF files, which can be further edited with MS Word.
Besides being able to cut, copy, and paste into a PAD, any selection of code
can be run, edited, and then rerun again without the need to retype the entire expression.
The more common Python modules are automatically imported with their alias on startup, saving having
to constantly re-enter them. There is also a Python priming file for the same purpose
that can be user configured.
There is syntax coloring, auto indexing, de-indexing, and auto-complete for both
variables and methods. There are insertion menus for variables and file names to assist
in recollection, as well as alleviating the need for typing them.
PAD editor contents, selected or full, can be printed or saved as
either Python text, RTF, or HTML files. Contents can be loaded from
Python text or extracted from RTF files.
A 30,000 character rolling history of all executed code is maintained for each Python engine
allowing its examination, recovery, and execution should it be required.
The actual Python engines run in processes separate from the editors, meaning if
some experimental code caused it to hang, say in an endless loop, all is not lost.
Python can be restarted from within
Visral, preventing the loss of work and permitting a modified version of the
culprit code to be tried again.
There are built-in Python methods that permit real-time access to operating system resources while
simultaneously pausing (or not) code execution until requests have been completed.
Transparent detection and wrapping allows raw SQL code to be intermixed with Python code.
Visral packs the SQL within Python statements to permit it to be processed by the
The act of copying code from PDF files or websites and pasting into PAD editors
automatically filters out the more common command line prompts and comments out
any previously displayed results.
Load and display multiple spreadsheets of up 1,000,000 rows by 4,000 columns each from
DataFrames, arrays, matrices, and CSV files. (memory permitting)
Cut, copy, paste, delete, insert, and rearrange columns and rows of DataFrames via spreadsheets.
Examine spreadsheet content with vertical and horizontal mouse scrolls, page up and
down buttons, 2D mouse drag, or GOTO menu selections.
Create or edit DataFrame entries via spreadsheet cells (WYSIWYG), or load and
manage spreadsheet content under Python control.
With a click of a button on any combination of columns and rows, including non-contiguous,
or by dragging the mouse, make selections for creating new DataFrames, Series, arrays,
matrices, or list, for printing tables in documents, or for feeding Python operations.
Perform DataFrame operations such as sorting, dropping duplicates, applying
formulas, and etc. via spreadsheets selections.
Series results are recorded in the SERIES spreadsheet. Automatically performing a push down,
or rather push to the right operation, the spreadsheet maintains a history of Series work
products for later examination and recovery.
The Report document accepts results from Python operations, including images, plots,
and charts. The code producing those results can be hidden in the document as an Execute
button to be executed later from the Guide; perhaps when dependent data is available.
It can also be hidden as Operator button to be recalled to a Panel for subsequent
An entire Folder of Python Operators can be embedded (hidden) in a document along with
spreadsheets, Venues, and Panels for later recall via associated buttons.
Passages composed of groups of buttons and text can be created within documents to create
instructional treatises, adaptive questionnaires, and more, all interactive with
Python routines and analysis.