Neural-style execution graph visualizer for Python projects
Project description
SYNAPSE
Project Tagline
A Python runtime execution visualizer that traces program behavior and represents it as a neural-style execution graph.
Overview
SYNAPSE is a Python execution tracing tool designed to capture runtime events, including function calls, line execution, returns, and exceptions. These events are recorded chronologically and subsequently utilized to generate an interactive graphical representation of program behavior. The primary objective is to facilitate developer comprehension of code flow within a project and to pinpoint error occurrences during execution.
Core Concept
Departing from traditional stack traces or log analysis, SYNAPSE offers a visual paradigm for understanding program execution.
Each module or file is conceptualized as a node within a graph, with execution transitions between files depicted as edges. During runtime playback, nodes illuminate to signify the flow of execution, analogous to neuronal activation in a neural network.
Features
Pending Features (Session 1)
- Python runtime tracing utilizing
sys.settrace. - Capture of call, line, return, and exception events.
- Recording of execution timelines into JSON format.
- Tracking of call stack depth.
- Monitoring of execution transitions between modules.
- Capture of exception type and associated message.
Planned Features
- Static dependency graph generation.
- Three-dimensional neural-style graph visualization.
- Timeline-based playback of execution events.
- Interactive debugging interface.
- Error highlighting within the execution graph.
Usage
To execute the tracer on a target script, employ the following command:
python synapse.py demo_project/main.py
This command initiates the tracer, resulting in the generation of events.json, which contains the recorded execution timeline.
Technology Stack
| Technology | Purpose |
|---|---|
| Python | Core programming language |
| Runtime Tracing | sys.settrace for event capture |
| JSON | Event logging and timeline storage |
| AST Parsing | (Planned) For static analysis |
| 3D Visualization | (Planned) For neural-style graph rendering |
Project Goal
The long-term objective of SYNAPSE is to establish a visual debugging tool that renders program execution as an interactive neural network. This will enable developers to replay execution timelines, inspect errors, and comprehend intricate code flows through an intuitive visual interface.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file synapse_tracer-1.0.0.tar.gz.
File metadata
- Download URL: synapse_tracer-1.0.0.tar.gz
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
660e8c5031e0856d0a37b8380387cc812d824a381eded96dfcf4bf1d77051c6a
|
|
| MD5 |
1aa65523f66f663a9c7ea3a6821df4dc
|
|
| BLAKE2b-256 |
f96a44b509bba5b13e717aca0a1f25e4b5ef2c2c15934851c5a1dde02a3bb763
|
File details
Details for the file synapse_tracer-1.0.0-py3-none-any.whl.
File metadata
- Download URL: synapse_tracer-1.0.0-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54725974095f56043071c842a6b53f240fd34d2fab8138851c88a61c65cc472d
|
|
| MD5 |
ed5eda66dae53d18be8cf35c27fc8d61
|
|
| BLAKE2b-256 |
55bcb4842ea4df344c89b2afe4c060be4ab9839e5f4118d65d01707323a32f13
|