Skip to main content

watch_run project

Project description

watch_run Project

watch_run is designed specifically for Python developers. It abandons the intensive use of print statements, logging, and debuggers, significantly reducing manual effort.

Key Advantages:

One-Click Debugging: No need to embed print statements or debug code. Simply start the tool to enter a highly optimized debugging environment, keeping your code clean and pure.

Locating Intermittent Defects: For bugs that are hard to reproduce, set up monitoring easily, greatly shortening the diagnosis cycle.

Multi-Target Monitoring: Easily set up watch lists to monitor numerous variables and function call traces, which is especially important for understanding complex logic and performance bottlenecks.

Performance Overhead: Carefully optimized algorithms maintain near-native execution speed in deep debugging mode, overcoming the performance bottlenecks of traditional debugging.

In summary, watch_run is a significant leap in Python debugging tools. With its outstanding usability and extreme performance optimization, it greatly widens the efficiency gap, paving a highly efficient programming path for Python that other languages do not possess.

Supported Platforms Now

  • Operating Systems

    • macOS
    • Windows
  • Python Versions

    • Python 3.10
    • Python 3.11
    • Python 3.12

Installation

pip install watch_run

Usage

watch_run main.py

Video URL: https://b23.tv/aubl73c Run 'watch_run main.py' in the same place where you previously run 'python3 main.py'. This is the only command.

New version Tkinter is needed: Tcl/Tk 8.6 Running the 'watch_run main.py' command will launch a simple user interface.

Button Panel on User Interface

Run

Start running the program. During execution, settrace will be automatically started, and the previous terminal will be bound for printing.
If you are on a Mac system, you can use 'watch_run main.py &' to continue allowing the terminal to execute new commands.

Toggle Simple/Fast Mode

Toggle Simple/Fast Mode

Add Class

Click this button to add a new class entry. The new entry will include input fields for class name, variable names, list names, and instance names.
Each entry can only have one class name, while variable names, list names, and instance names can be multiple, separated by commas.
If you want to track regular variables instead of class objects, you don't need to fill in the class name.
Instance names refer to the variable names used when creating class instances, used for filtering. For example, aaa = classA() and bbb = classA(), if you enter aaa in the instance name field, bbb will not be monitored.

Add Stop Line

Click this button and select the Python file path and enter one or more line numbers (separated by commas), then click enable.
When the thread executes to this line, it will stop settrace and resume normal running speed, no longer monitoring regular variables, but still monitoring class objects. This monitoring does not affect the running speed.

Save Data

Click this button to save the current configuration data. Usually, you don't need it because the data is automatically saved when you click the Run button.

Open History to Edit

Click this button to open and edit the history record file of the monitoring targets.

Show Trace Result (time sequence)

Click this button to display monitoring results, including value changes and the call stack. This is the raw log file sorted by record time, and it is automatically cleared each time the program runs.

Show Trace Result (instances sequence)

Click this button to read the raw log file and organize the information for each monitored object. The monitoring results are displayed in an instance-sorted manner to better showcase each monitored object.

Print in Terminal (instances sequence)

Click this button to print the instance-sorted monitoring results in the terminal.

Clear Info Before

Click this button to clear the monitoring information recorded during this run, but keep the list of monitored objects so that subsequent monitoring information is highlighted.

Attention

Click this button to view notes and usage tips.

Features

Monitor Ordinary Variables: Free of charge. Provides monitoring at 10-15 times the normal runtime speed.

Monitor through Class Objects: Paid feature. Enables monitoring in a production environment without impacting performance. You can purchase this feature through the application interface.

License

This project uses the following third-party libraries:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

watch_run-0.0.12-cp312-cp312-win_amd64.whl (499.3 kB view details)

Uploaded CPython 3.12Windows x86-64

watch_run-0.0.12-cp312-cp312-macosx_13_0_arm64.whl (605.8 kB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

watch_run-0.0.12-cp311-cp311-win_amd64.whl (530.7 kB view details)

Uploaded CPython 3.11Windows x86-64

watch_run-0.0.12-cp311-cp311-macosx_13_0_arm64.whl (617.2 kB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

watch_run-0.0.12-cp310-cp310-win_amd64.whl (527.0 kB view details)

Uploaded CPython 3.10Windows x86-64

watch_run-0.0.12-cp310-cp310-macosx_13_0_arm64.whl (618.0 kB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

File details

Details for the file watch_run-0.0.12-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: watch_run-0.0.12-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 499.3 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.11

File hashes

Hashes for watch_run-0.0.12-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2923e43956227d7b04d6aaf22651f34014303811eb796cc35b295a3cf31d0252
MD5 96fa89cfa6f3a175fbda3f5a11a3f108
BLAKE2b-256 2834d68c26780c022e95ee1e1039153e89a8103db3b36b4c05e46c70d45d2138

See more details on using hashes here.

File details

Details for the file watch_run-0.0.12-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for watch_run-0.0.12-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 7f4fefe070e076013e3e2a82262c684fb6f808fcc9658092bfa05ec155c26d22
MD5 877cf459d16ad642c3f9dce6177e988b
BLAKE2b-256 f339a69672b3b771a3efc4848c579feed2eac6bf849674d815efc7eac364d99b

See more details on using hashes here.

File details

Details for the file watch_run-0.0.12-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: watch_run-0.0.12-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 530.7 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.11

File hashes

Hashes for watch_run-0.0.12-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b370f8d388d726042e172e33ef8a993ed15a7da276737469443f0f4656043758
MD5 00c9a5aa6b1a5cb3bc02fcefd8b5c610
BLAKE2b-256 0c375bb8e6643ebdcfa1ab13949bb12491d9b8938216999ec22dd3379e3e7fa4

See more details on using hashes here.

File details

Details for the file watch_run-0.0.12-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for watch_run-0.0.12-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 aa7d6d646305a9d8f3af355895b87edde637500c0f54e4eccabbbdf1489f7037
MD5 d41de5fc3cc9de399d08e5f8d4f2d168
BLAKE2b-256 7320429373b2fc070756e48ba0f8bb33eeba99a1957b489c217f5302795e7bfb

See more details on using hashes here.

File details

Details for the file watch_run-0.0.12-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: watch_run-0.0.12-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 527.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.11

File hashes

Hashes for watch_run-0.0.12-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 652c0ca16a0ef7aa4a8e5761684af0fd6ddce749d6cf369504e77d220a47e555
MD5 2eeda02b0b52a40c8d524e68c690641f
BLAKE2b-256 71b14caab7672c13dfb06cfe6a74ebccd982de92b6b7ebc68f2cb69cdf79577a

See more details on using hashes here.

File details

Details for the file watch_run-0.0.12-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for watch_run-0.0.12-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 fb64df20914b01efa1964d24cc9585ca0f667c796761caba2a52554ca3b2815f
MD5 869b9453a95915c8d54aa30d6f438d27
BLAKE2b-256 fa5014d73b75b9ac37c856e44135b4041392a579045bba51e7c61685d3f2ab5b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page