Skip to main content

SCROLL: Automatically generates documentation and unit-tests for python programs

Built with Data processing programs in mind

PyPI version Downloads Python 3.6+ Code style: black

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

# main.py

def run():
    '''this is your singular entry function'''
    # your code here


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

  1. Edison Abahurire simicode

Similar Libraries that do Runtime-Introspection:

  1. pythoscope for Auto unit-test generation
  2. auger for Auto Unit-test generation
  3. MonkeyType for Auto Type hinting / Annotation
  4. 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.

Release files for scroll 2021.11.17

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scroll 2021.11.17
File Size Uploaded
scroll-2021.11.17.tar.gz 17.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for scroll 2021.11.17
File Interpreter ABI Platform
scroll-2021.11.17-py3-none-any.whl Python 3 none any Details

Total release size: 27.3 kB

Release files / scroll-2021.11.17.tar.gz

Download URL scroll-2021.11.17.tar.gz
Size 17.2 kB
Tags Source
SHA-256 checksum
How to use checksums
1e45975e63bf355f1c174743f10d63eec38bae186fd96442cf8cf4d6e15b2729
BLAKE2b-256 checksum
How to use checksums
03e9da6efa03fc90f5a86497d77727541167d13dda9e43f79ce33330b672136d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.26.0

Release files / scroll-2021.11.17-py3-none-any.whl

Download URL scroll-2021.11.17-py3-none-any.whl
Size 10.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b103edb996bbea58add30ccc7a2902341b368b11fd231af76376b7c5d4606835
BLAKE2b-256 checksum
How to use checksums
ad5e0cd9a531f6498ae65d9ff89decd14b4ba7627b78e231cd1185e92cccb16a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.26.0
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page