Quozl

Joined 17 March 2010
505 bytes added ,  22:02, 9 March 2011
no edit summary
Line 21: Line 21:     
=== Purpose ===
 
=== Purpose ===
*increase code sharing,
+
*increase code sharing, at a module level,
 
*increase relevance to Python users,
 
*increase relevance to Python users,
 
*increase portability of code written, beyond Pippy and Sugar,
 
*increase portability of code written, beyond Pippy and Sugar,
Line 27: Line 27:  
=== Data ===
 
=== Data ===
 
A running Pippy instance will contain the following data:
 
A running Pippy instance will contain the following data:
*zero or more modules (either pure python modules, packages, or distutil source distributions, though not a sugar bundle),
+
*zero or more modules,
 +
**(either pure python modules, packages, or distutil source distributions, though not a sugar bundle),
 
*each module will include zero, one (pure python modules) or more (packages or distutil source distributions) source files,
 
*each module will include zero, one (pure python modules) or more (packages or distutil source distributions) source files,
*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,
+
*each module will include a source file setup.py capable of creating the python distutil source distribution output, but unless the user has asked to edit the setup.py, it will not be shown, instead a default will be used, created and maintained by Pippy,
    
A shared Pippy will contain the same data as above on each laptop.
 
A shared Pippy will contain the same data as above on each laptop.
Line 35: Line 36:  
=== 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, by activation only,
*a module (python zip bundle) in the journal, (which may have come from a teacher, another learner, or a server),
+
*a module in the journal, (which may have come from a teacher, another learner, or a server), usign the object chooser,
*example modules included with Pippy,
+
**in pure python module form, as a single source file,
 +
**in distutil source distribution form, as multiple source files inside a tar or zip container,
 +
*pristine example modules included with Pippy, using a button and an example chooser.
    
=== 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,
**(activation of this journal entry: run the Pippy activity and present exactly what was visible at the time the saved instance was created)
+
*a pure python module, in the journal,
*a module (python zip bundle) in the journal.
+
**represented as a single source file,
**(activation of this journal entry: run the Pippy activity in an execution only mode that behaves in the same way as the "run" button, displaying a VTE (only if stdout is written to, or stdin is read from), and if not exiting immediately, without creating a journal entry,)
+
*a package module, in the journal,
 +
**represented as a distutils source distribution in tar or zip container.
 +
 
 +
=== Activation ===
 +
 
 +
Pippy may be activated from a journal entry:
 +
*a saved instance of Pippy, which will start the Pippy activity and present exactly what was visible at the time the saved instance was created,
 +
*a pure python module or package module, which will start the Pippy activity in an execution only mode that behaves in the same way as the "run" button, displaying a VTE (only if stdout is written to, or stdin is read from), and if not exiting immediately, without creating a journal entry.
    
=== Display ===
 
=== Display ===