Ad

watchpoints: Python variable and object monitor

Watchpoints is a Python tool that monitors variable and object changes, similar to GDB watchpoints. It provides flexible tracking with customizable callbacks, deepcopy options, and control over output streams and call stacks.
Screenshot of gaogaotiantian/watchpoints homepage

Watchpoints enables users to monitor changes to variables and objects in their Python code. It functions by observing modifications and triggering actions based on those changes. The project aims to simplify debugging and understanding dynamic behavior by providing a direct way to track alterations to specific data.

Watchpoints stands out due to its ease of use and flexibility. It supports monitoring both variables and objects, offering options for deepcopy and custom comparison. The tool allows for customized callbacks and the ability to control the call stack, making it adaptable to various debugging scenarios.

  • Variable Monitoring: Tracks changes to individual variables.
  • Object Monitoring: Tracks changes to objects and their attributes.
  • Custom Callbacks: Allows users to define actions triggered by changes.
  • Deepcopy Support: Provides options for deepcopying objects for accurate tracking.
  • Flexible Output: Supports directing output to different streams (e.g., console, file).
  • Stack Control: Enables adjusting the call stack depth for detailed debugging information.
  • Customizable Comparison: Works with user-defined comparison functions for complex objects.

The project is actively maintained with recent commits and a growing user base, indicated by its GitHub stars and forks. The documentation is comprehensive and examples are readily available. The presence of a sufficient release history suggests a stable codebase.

Watchpoints is valuable for Python developers needing to track variable and object modifications during development and debugging. It assists in pinpointing the source of unexpected behavior and understanding complex state changes in applications by providing detailed change notifications and customizable monitoring options.

Languages:
Summarize:
Share:
Stars
555
Forks
22
Issues
4
Created
5 years ago
Commit
1 year ago
License
APACHE-2.0
Archived
No
Updated 17 days ago

Similar Repositories