SCROLL: Automatically generates documentation and unit-tests for python programs
Built with Data processing programs in mind
How it works
This tool monitors your function calls and returns while you "exercise" you program (i.e run functional tests).
It will collect this information (traces), record the order in which your functions run and generate documentation / tests using that information.
Design concept
The final goal is to enable a developer/user browser through documentation that flows
in the order in which functions in the program run, hence the name SCROLL.
Installation
pip install scroll
To install using wheel files, Check in Distribution files
Example Usage
Lets say your file which contains the main entry function is called main.py
An example main file with an entry function
def run():
'''this is your singular entry function'''
if __name__ == '__main__':
run()
Run the file using scroll on bash
scroll main.py
How about some guidelines?
- There should be only one main entry function in your code
To-Do
- add creating of url with class name / func name ancored on it
- add creating of SCROLL.md that has scroll of all functions
Contributing
To get started contributing, visit the CONTRIBUTING GUIDE
Contributors and acknowledgment
- Edison Abahurire simicode
Similar Libraries that do Runtime-Introspection:
- pythoscope for Auto unit-test generation
- auger for Auto Unit-test generation
- MonkeyType for Auto Type hinting / Annotation
- hypothesis for Auto test-case generation
License
MIT
Credits
- MonkeyType: When I got this idea, My first option was to just plagiarise their code ;)
I also learned a lot from issue-conversations with @carljm.
- Flit which this wonderful library is packaged with.