Timetrace Debugger
A Time-Travel Debugging Engine for Python.
Timetrace enables reverse execution, execution timeline recording, and structured debugging of Python programs.
Overview
Traditional debuggers allow forward stepping only.
Timetrace allows you to:
- Step backward in execution
- Inspect historical variable states
- Analyze execution timelines
- Replay saved debugging sessions
This makes debugging faster, more analytical, and more educational.
Features
- Reverse execution stepping
- Execution timeline recording
- Call stack tracking
- Exception capture
- Thread & async tracing
- Conditional breakpoints
- Watchpoints
- Multi-file project support
- CLI-based interactive interface
Installation
pip install timetrace-debugger
Verify installation:
timetrace --help
Basic Usage
Run Timetrace on a Python file:
timetrace your_script.py
Example:
timetrace app.py
Debugger Commands
| Command | Action |
|---|---|
| n | Step forward |
| b | Step backward |
| si | Step into |
| so | Step over |
| su | Step out |
| p | Print current state |
| s | Show call stack |
| g | Go to specific step |
| break | Set breakpoint |
| break if | Conditional breakpoint |
| watch | Watch variable |
| history | View variable history |
| q | Quit debugger |
Using Timetrace Efficiently
To get the best results, follow these recommended debugging techniques:
1️ Step Forward to Understand Flow
Use:
n
to move line-by-line through execution.
Inspect variables using:
p
This helps understand program logic before locating issues.
2️ Step Backward to Identify Root Cause
If incorrect output appears:
- Use:
b - Move backward through execution.
- Observe where the variable changed unexpectedly.
This avoids restarting the program repeatedly.
3️ Use Conditional Breakpoints
Instead of stepping through long loops:
break if x > 100
Execution pauses only when the condition becomes true.
Best for:
- Loop debugging
- Edge-case detection
- Logical condition failures
4️ Watch Critical Variables
Track variable changes:
watch x
View full history:
history x
Useful for:
- Recursive functions
- State mutation debugging
- Complex calculations
5️ Analyze Recursion Using Stack View
In recursive programs:
s
This displays the call stack.
Helps in:
- Understanding recursion depth
- Tracking nested calls
- Identifying infinite recursion
6️ Save & Replay Sessions
Save execution session:
timetrace script.py --save session.json
Replay later:
timetrace --replay session.json
Useful for:
- Sharing debugging sessions
- Reviewing past executions
- Demonstrations
7️ Multi-File Projects
Run Timetrace from your project root:
timetrace main.py
Ensures:
- Proper module tracing
- Accurate import resolution
- Complete execution capture
Academic Use
Timetrace is especially useful for:
- Understanding recursion
- Learning stack behavior
- Debugging lab assignments
- Visualizing variable changes
- Teaching program flow
- Improving analytical debugging skills
Limitations
- Very large programs may consume more memory
- Heavy multiprocessing not fully supported
- GUI applications are CLI-debug only
- Designed primarily for debugging logic, not high-load production systems
License
MIT License
Copyright (c) 2026 Varkala Shashidhar
Metadata
Release files for timetrace-debugger 1.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| timetrace_debugger-1.0.4.tar.gz | 11.0 kB | Without provenance | Details for timetrace_debugger-1.0.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| timetrace_debugger-1.0.4-py3-none-any.whl | Python 3 | none | any | Details for timetrace_debugger-1.0.4-py3-none-any.whl |
Total release size: 22.9 kB
Release files / timetrace_debugger-1.0.4.tar.gz
| Download URL | timetrace_debugger-1.0.4.tar.gz |
|---|---|
| Size | 11.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8a6d3edf209814e43fe18d60516186e05bed3797c573ca10085a3f4ecd3a8661
|
|
BLAKE2b-256 checksum How to use checksums |
b33fc098b274680ca926947dd04695633eca8b03285e5360528461a085898b11
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / timetrace_debugger-1.0.4-py3-none-any.whl
| Download URL | timetrace_debugger-1.0.4-py3-none-any.whl |
|---|---|
| Size | 11.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
252d555c4ad225b360f18c832833ab81d8c8772bb5be191e196565e77af2e0cf
|
|
BLAKE2b-256 checksum How to use checksums |
363f0acc56a9a346d88bb72e2026dfa6536d0c8e37411e662daaaf30c0ead0e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Security for timetrace-debugger 1.0.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.