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 === |