Skip to main content

PyUnstuck

Your lifesaver for frozen Python scripts

Stars Platforms Version


Ever had a Python script freeze and Ctrl+C won't work? PyUnstuck is your solution. It provides deep insight into frozen scripts, deadlocks, and thread hangs - all with a beautiful stack trace visualization.

✨ Highlights

  • Zero Config: Just run it against your script
  • Beautiful Output: Rust-style stack traces with syntax highlighting
  • Smart Analysis: Automatically detects deadlocks and resource issues
  • Safe Recovery: Gracefully terminates frozen threads
  • Works Everywhere: Windows, Linux, MacOS supported

🚀 Quick Start

# Install from PyPI (Global)
pip install pyunstuck

# For users in China (国内用户推荐)
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyunstuck

# Run PyUnstuck to analyze the deadlock
pyunstuck deadlock_test.py

When your script hangs, just press Ctrl+C. PyUnstuck will show you exactly what's going on.

📸 Screenshot

PyUnstuck in action

🎯 Perfect For

  • Debugging unresponsive scripts
  • Finding deadlocks in multi-threaded code
  • Understanding why your script is frozen
  • Analyzing resource usage and bottlenecks

💡 Example

Here's a classic deadlock scenario that PyUnstuck can help you debug:

import threading
import time

def deadlock_thread1(lock1, lock2):
    with lock1:
        time.sleep(1)  # Ensure deadlock happens
        with lock2:
            print("Thread 1")

def deadlock_thread2(lock1, lock2):
    with lock2:
        time.sleep(1)
        with lock1:
            print("Thread 2")

# Run this and watch it deadlock
lock1, lock2 = threading.Lock(), threading.Lock()
threading.Thread(target=deadlock_thread1, args=(lock1, lock2)).start()
threading.Thread(target=deadlock_thread2, args=(lock1, lock2)).start()

🔧 Requirements

  • Python 3.11+
  • psutil (auto-installed)
  • Any major OS

🤝 Contributing

Contributions are what make the open source community amazing. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📜 License

Distributed under the MIT License. See LICENSE for more information.

🌟 Similar Tools

While these tools are great, PyUnstuck focuses on simplicity and beautiful output:


Made with ❤️ by shuakami

If you find PyUnstuck helpful, please consider giving it a star ⭐

Metadata

Release files for pyunstuck 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyunstuck 1.1.0
File Size Uploaded
pyunstuck-1.1.0.tar.gz 10.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyunstuck 1.1.0
File Interpreter ABI Platform
pyunstuck-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 20.1 kB

Release files / pyunstuck-1.1.0.tar.gz

Download URL pyunstuck-1.1.0.tar.gz
Size 10.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2a0f8343e392f17e8151e74e93ede6bd4183357c1ed3624ad97adb2340ea98ed
BLAKE2b-256 checksum
How to use checksums
e42d2b43e4289a12281660c86a56f107b8a34c40a153a1bf1802122ec4e4d9c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.0

Release files / pyunstuck-1.1.0-py3-none-any.whl

Download URL pyunstuck-1.1.0-py3-none-any.whl
Size 9.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
09c2ae5c3634ba575af3f4c898d61ec70f48c7b8d08ce091753623042394fa11
BLAKE2b-256 checksum
How to use checksums
63ed7b662a20d73ac8cb314409d4f3aedc3919189776628ec235004708432c46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.0

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

0.1.0

2 release files

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