Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ccextractor/pybud
A Python tool that generates video visualizations for source code debugging.
https://github.com/ccextractor/pybud
gci gci2019
Last synced: about 1 month ago
JSON representation
A Python tool that generates video visualizations for source code debugging.
- Host: GitHub
- URL: https://github.com/ccextractor/pybud
- Owner: CCExtractor
- License: mit
- Created: 2020-01-22T17:16:02.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-10-03T21:45:13.000Z (about 1 year ago)
- Last Synced: 2024-11-09T01:16:29.837Z (about 1 month ago)
- Topics: gci, gci2019
- Language: Python
- Homepage:
- Size: 16.1 MB
- Stars: 10
- Watchers: 4
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# PyBud
PyBud is a Python debugging and profiling tool that generates videos of step-by-step code execution.
Here's a PyBud video output from debugging the usage example below!
![Demo](https://user-images.githubusercontent.com/22671592/72966758-4cffd200-3d85-11ea-9602-2b215a315565.gif)
## Installation
Use the package manager [pip](https://pip.pypa.io/en/stable/) to install PyBud.
```bash
pip install pybud
```## Usage Example
![Usage_Example](https://user-images.githubusercontent.com/22671592/72948262-4011bd00-3d4a-11ea-86e3-c06b99fde817.gif)
## Usage
Once installed, running `pybud --help` will give you an overview of how to use PyBud.
Here's the help output:
```bash
$ pybud -h
usage: pybud [-h] [-t] [-d FILE] [-f FUNCTION [FUNCTION ...]] [-o FILE] [-v [FILE]] [-c CONFIG] [-p [FILE]]A Python debugger for analyzing and profiling functions. Created by Eastan Giebler.
optional arguments:
-h, --help show this help message and exit
-t, --test Test PyBud on a suite of sorting, searching, and similar algorithms. Outputs a PyBud JSON for each function in the
'pybud/test/test_logs' package.Debugging:
Debug a python function and generate an output log.-d FILE, --debug FILE
Path to the Python file you wish to debug.
-f FUNCTION [FUNCTION ...], --function FUNCTION [FUNCTION ...]
The function in the Python file you wish to debug, along with the arguments you wish to pass. Defaults to the main
function if argument not used. EXAMPLE: '--function test 2 4' will call 'test(2,4)'.
-o FILE, --output FILE
Optional: Path to write the json log file to. Defaults to output.pybud if argument not used.
-v [FILE], --video [FILE]
Generate a video rendering for the PyBud debug steps of the program flow. Optional: provide a filepath to output to,
mp4 is the only supported format, defaults to output.mp4.
-c CONFIG, --video-cfg CONFIG
Path to the YAML video config file you wish to use, default configuration will be loaded if not specified.Parsing and Analysis:
Parse a PyBud JSON output and display in human-readable form.-p [FILE], --parse [FILE]
Path to the json log you wish to parse into human-readable form. Defaults to output.pybud if a file is not specified.
-v [FILE], --video [FILE]
Generate a video rendering for the PyBud debug steps of the program flow. Optional: provide a filepath to output to,
mp4 is the only supported format, defaults to output.mp4.
-c CONFIG, --video-cfg CONFIG
Path to the YAML video config file you wish to use, default configuration will be loaded if not specified.
```## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.## License
[MIT](https://choosealicense.com/licenses/mit/)