Skip to main content

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:

  1. Use:
    b
    
  2. Move backward through execution.
  3. 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)

Source distribution for timetrace-debugger 1.0.4
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)

Table of built distributions (wheels) for timetrace-debugger 1.0.4
File Interpreter ABI Platform Actions
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.

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