Metadata-Version: 2.1
Name: skeletonize
Version: 0.1
Summary: Handles skeletonization and deskeletonization of python code.
Home-page: https://github.com/kavigupta/skeletonize
Author: Kavi Gupta
Author-email: skeletonize@kavigupta.org
License: UNKNOWN
Description: 
        # skeletonize
        
        Handles skeletonization and deskeletonizaiton of programs. This allows for easily distributing assignments to students
        that contain skeleton code, and determining which parts of the skeleton they filled in after the fact, extracting blanks.
        
        ## skeletonization
        
        Skeletonization works by taking in a piece of code with "skeleton markers" as so:
        
        ```python
        def factorial(x):
            if <<<x == 0>>>:
                return <<<1>>>
            else:
                return <<<x>>> * <<<factorial(x - 1)>>>
        ```
        
        and converting it into either a skeleton
        
        ```python
        def factorial(x):
            if ______:
                return ______
            else:
                return ______ * ______
        ```
        
        or a solution
        
        ```python
        def factorial(x):
            if x == 0:
                return 1
            else:
                return x * factorial(x - 1)
        ```
        
        ## reskeletonization
        
        Reskeletonization works by taking a skeleton:
        
        ```python
        def factorial(x):
            if <<<x == 0>>>:
                return <<<1>>>
            else:
                return <<<x>>> * <<<factorial(x - 1)>>>
        ```
        
        and a student solution:
        
        ```python
        def factorial(x):
            if not x:
                return 1
            else:
                return x * factorial(x)
        ```
        
        and produces a reskeletonized program
        
        ```python
        def factorial(x):
            if <<<not x>>>:
                return <<<1>>>
            else:
                return <<<x>>> * <<<factorial(x)>>>
        ```
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Operating System :: OS Independent
Requires-Python: >=3.5
Description-Content-Type: text/markdown
