No edit summary
Line 16: Line 16:
=== Data ===
=== Data ===
A running Pippy instance will contain the following data:
A running Pippy instance will contain the following data:
*zero or more python zip bundles,
*zero or more modules (each module is a python zip bundle, not a sugar bundle),
*each python zip bundle will include a setup.py capable of creating the zip bundle output,
*each module will include zero or more source files,
*unless the user has asked to edited the setup.py, it will not be shown, instead a default will be used, maintained by Pippy,
*each module will include a source file setup.py capable of creating the python zip bundle output, but unless the user has asked to edit the setup.py, it will not be shown, instead a default will be used, maintained by Pippy,


=== Input ===
=== Input ===
Pippy may read from:
Pippy may read from:
*a saved instance of Pippy, in the journal,
*a saved instance of Pippy, in the journal,
*a zip bundle in the journal,
*a module(python zip bundle) in the journal,
*example zip bundles included with Pippy,
*example modules included with Pippy,


=== Output ===
=== Output ===
Pippy may write to:
Pippy may write to:
*a saved instance of Pippy, in the journal,
*a saved instance of Pippy, in the journal,
*a zip bundle in the journal.
*a module (python zip bundle) in the journal.


=== Display ===
=== Display ===
Display will contain:
Display will contain:
*toolbar,
*toolbar,
*a series of tabs, one for each bundle, an add bundle button, and an open example bundle button,
*a series of tabs, one for each module, an add module button, and an open example module button,
*within each bundle, a series of tabs, one for __doc__ that is not editable, one for each source file that is editable, and an add file button,
*within each module, a series of tabs, one for __doc__ that is not editable, one for each source file that is editable, and an add file button,
*within each file, a syntax highlighting text edit widget.
*within each file, a syntax highlighting text edit widget.


(the series of tabs encapsulated in another series of tabs is potentially difficult for a learner to comprehend, but an alternative tree view is thought inappropriate because of the horizontal space consumed, and because use of a bundle should be constrained to the public API of the bundle).
(the series of tabs encapsulated in another series of tabs is potentially difficult for a learner to comprehend, but an alternative tree view is thought inappropriate because of the horizontal space consumed, and because use of a module should be constrained to the public API of the module).


=== Process ===
=== Process ===