Because life's too short to debug!
Unfuck is a magical Python tool that automatically fixes your code errors with a single command. When your Python script crashes, simply type unfuck and watch the magic happen! โจ
# Install unfuck
pip install unfuck
# Run your script (it will probably break)
python my_script.py
# Unfuck it!
unfuck
# Your code is now working! ๐- Fixes 50+ common Python errors automatically
- Works in under 2 seconds
- Zero configuration required
- Creates backups before making changes
- Uses local Ollama LLM for complex errors
- Learns from your mistakes
- Gets smarter over time
- Explains what went wrong
- Encouraging: "I got you! Let me fix that error..."
- Sarcastic: "This again? sigh fixing..."
- Zen: "Breathe... let me find the balance in your code..."
- Professional: "Error detected. Initiating repair sequence..."
- Meme: "TO THE MOON! (with your fixed code)"
| Error Type | Examples | Fix |
|---|---|---|
| Import Errors | ModuleNotFoundError, ImportError |
Install packages, fix typos |
| Syntax Errors | Missing colons, brackets, quotes | Add missing syntax elements |
| Type Errors | String + Integer, NoneType calls | Add type conversions, null checks |
| Name Errors | Undefined variables, scope issues | Define variables, fix scope |
| Index/Key Errors | List out of range, missing dict keys | Add bounds checking, use .get() |
| Attribute Errors | Wrong method calls, typos | Fix method names, add checks |
| Value Errors | Invalid conversions, empty sequences | Add validation, defaults |
| File Errors | Missing files, permission issues | Create files, fix paths |
| Indentation Errors | Mixed tabs/spaces, wrong levels | Fix indentation consistently |
# Fix the last error
unfuck
# Fix with explanations
unfuck --explain
# Preview fixes without applying
unfuck --preview
# Use AI for complex errors
unfuck --ai# Encouraging mode (default)
unfuck --mode encouraging
# Sarcastic mode
unfuck --mode sarcastic
# Zen mode
unfuck --mode zen
# Professional mode
unfuck --mode professional
# Meme mode
unfuck --mode meme# Try harder fixes
unfuck --aggressive
# Show fix history
unfuck --history
# Show success statistics
unfuck --stats
# Undo last fix
unfuck --undo
# Fix everything possible (rampage mode!)
unfuck --rampage# Fix everything it can find
unfuck --rampage
# Add meditation comments to code
unfuck --zen
# Git blame with sarcastic comments
unfuck --blame
# Russian roulette - random fix from top options
unfuck --russian-roulette- ๐ First Unfuck! - Your first successful fix
- ๐ฅ Unfuck Streak - Fix 10 errors in a row
- ๐ Unfuck Master - Fix 100 errors
- ๐ Unfuck Royalty - Fix 500 errors
- ๐ Unfuck Legend - Fix 1000 errors
Unfuck can use local AI models via Ollama for complex error analysis:
# Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# Pull a model
ollama pull llama2
# Use AI-powered unfucking
unfuck --ai --explainUnfuck tracks your debugging journey:
# View your unfuck statistics
unfuck --stats
# View fix history
unfuck --history
# Export your unfuck story
unfuck --export-storyCreate ~/.unfuck/config.json to customize:
{
"ai_enabled": true,
"ai_model": "llama2",
"personality_mode": "encouraging",
"auto_backup": true,
"max_fix_attempts": 3,
"confidence_threshold": 0.6,
"show_animations": true,
"verbose_output": false
}Try unfuck with these example broken scripts:
# Test import errors
python examples/test_imports.py
unfuck
# Test syntax errors
python examples/test_syntax.py
unfuck
# Test various errors
python examples/broken_script.py
unfuck๐ฅ UNFUCK - The Magical Python Error Fixer ๐ฅ
๐ Error Analysis
โโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Property โ Value โ
โโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Error Type โ ModuleNotFoundError โ
โ Message โ No module named 'numpy' โ
โ File โ /path/to/script.py โ
โ Line โ 3 โ
โโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ ๏ธ Fix Suggestions
โโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโฌโโโโโโโโโโโ
โ Rank โ Description โ Confidence โ Type โ
โโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโผโโโโโโโโโโโค
โ 1 โ Install missing module โ 95% โ install โ
โ 2 โ Fix typo in import name โ 80% โ typo โ
โโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโดโโโโโโโโโโโ
๐ Unfucked! Your code is running!
๐ฅ You're on fire! 5 fixes in a row!
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Add your fix patterns to the database
- Test with broken scripts
- Submit a pull request
# Add to unfuck/core/pattern_database.py
FixPattern(
error_type="YourError",
error_pattern="error message pattern",
fix_type="your_fix_type",
fix_code="fix implementation",
confidence=0.9,
description="What this fix does",
examples=["example usage"]
)- JavaScript/TypeScript support
- VS Code extension
- Team collaboration features
- Cloud-based fix sharing
- Machine learning improvements
- Plugin system for custom fixes
Found a bug? We want to fix it! Please report issues with:
- The error that occurred
- What unfuck tried to do
- What actually happened
- Your Python version and OS
This project is licensed under the MIT License - see the LICENSE file for details.
- The Python community for all the Stack Overflow questions that inspired this
- Ollama for making local AI accessible
- Rich for beautiful terminal output
- All the developers who've ever been frustrated by debugging
Made with โค๏ธ by the unfuck team
"Because life's too short to debug" ๐
Website โข Documentation โข Discord โข Twitter