[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80074":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":12,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":9,"pushedAt":9,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":15,"starSnapshotCount":15,"syncStatus":26,"lastSyncTime":27,"discoverSource":28},80074,"fixpy","yousseeff20\u002Ffixpy","yousseeff20","Beautiful CLI tool that explains Python errors clearly.",null,"Python",66,1,17,5,0,8,42.2,"MIT License",false,"main",true,[],"2026-06-12 04:01:26","# fixpy 🔍\n\n> **Smart Python traceback explainer — understand your errors instantly.**\n\n[![CI](https:\u002F\u002Fgithub.com\u002Fyousseeff20\u002Ffixpy\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fyousseeff20\u002Ffixpy\u002Factions)\n[![PyPI version](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Ffixpy-traceback.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Ffixpy-traceback\u002F)\n[![Python](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Ffixpy-traceback)](https:\u002F\u002Fpypi.org\u002Fproject\u002Ffixpy-traceback\u002F)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](LICENSE)\n\nfixpy analyses Python tracebacks and explains them in **plain, beginner-friendly English** (and Arabic!) with:\n\n- 🎨 **Beautiful Rich terminal output** — color-coded panels, syntax-highlighted code examples\n- 🔍 **14 exception analyzers** — SyntaxError, NameError, TypeError, AttributeError, ImportError, and more\n- 💡 **Smart suggestions** — typo detection, `pip install` hints, NoneType detection\n- 🌐 **Arabic mode** — `--lang ar` for Arabic explanations\n- 👁 **Watch mode** — re-analyse on every file save\n- 📋 **Clipboard support** — paste tracebacks directly\n- 🔧 **JSON output** — for CI\u002FCD integration\n- 🧩 **VS Code extension support (preview)** — analyze tracebacks inside the editor\n- 🐍 **Python 3.9–3.13** compatible\n\n---\n\n## Installation\n\n```bash\npip install fixpy-traceback\n```\n\nOr for development:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fyousseeff20\u002Ffixpy\ncd fixpy\npip install -e \".[dev]\"\n```\n\n---\n\n## Usage\n\n### Analyse a log file\n```bash\nfixpy error.log\n```\n\n### Run a script and analyse its error\n```bash\nfixpy app.py\n```\n\n### Pipe output directly\n```bash\npython app.py 2>&1 | fixpy\n```\n\n### Paste a traceback from clipboard\n```bash\nfixpy --paste\n```\n\n### Watch mode — re-analyse on every save\n```bash\nfixpy --watch app.py\n```\n\n### Arabic output\n```bash\nfixpy --lang ar error.log\n```\n\n### Machine-readable JSON output\n```bash\nfixpy --json error.log\n```\n\n---\n\n## Example Output\n\n```\n╔══════════════════════════════════════════════════════════════╗\n║   ZeroDivisionError   fixpy — Error Detected                 ║\n╚══════════════════════════════════════════════════════════════╝\n\n┌─ 📍 Error Location ──────────────────────────────────────────┐\n│  📄 File      app.py                                          │\n│  📍 Line      5                                               │\n│  ⚙  Function  \u003Cmodule>                                        │\n│  💬 Code      result = 10 \u002F 0                                 │\n└───────────────────────────────────────────────────────────────┘\n\n┌─ 🔍 What Happened ────────────────────────────────────────────┐\n│  Division by zero: used `\u002F` with a denominator of 0.          │\n└───────────────────────────────────────────────────────────────┘\n\n┌─ 📖 Why It Happened ──────────────────────────────────────────┐\n│  In mathematics, dividing by zero is undefined. Python raises  │\n│  ZeroDivisionError whenever the right-hand side of `\u002F` is 0.  │\n└───────────────────────────────────────────────────────────────┘\n\n┌─ 🛠  How to Fix It ────────────────────────────────────────────┐\n│  Check that the denominator is not zero before dividing,       │\n│  or use a try\u002Fexcept block to handle the case gracefully.      │\n└───────────────────────────────────────────────────────────────┘\n\n┌─ ✅ Fixed Code Example ────────────────────────────────────────┐\n│  def safe_divide(a, b):                                        │\n│      if b == 0:                                                │\n│          return None                                           │\n│      return a \u002F b                                              │\n└───────────────────────────────────────────────────────────────┘\n\n  Confidence: ████████████████████░ 97%  (pattern-based — not AI)\n  👶 Common Beginner Mistake\n```\n\n---\n\n## Supported Exceptions\n\n| Exception | Confidence | Features |\n|---|---|---|\n| `SyntaxError` | 88–95% | Sub-type detection, indentation hints |\n| `IndentationError` | 95% | Tab\u002Fspace mix detection |\n| `NameError` | 88% | Typo suggestions, import hints |\n| `TypeError` | 70–90% | NoneType patterns, operand types, arg count |\n| `AttributeError` | 85–90% | NoneType detection, per-type suggestions |\n| `ImportError` | 88% | `pip install` mapping for 30+ packages |\n| `ModuleNotFoundError` | 95% | Smart pip package name lookup |\n| `IndexError` | 92% | Zero-indexing explanation |\n| `KeyError` | 92% | Safe `.get()` pattern |\n| `ZeroDivisionError` | 97% | Guard patterns, try\u002Fexcept example |\n| `ValueError` | 72–93% | int\u002Ffloat conversion, unpacking |\n| `FileNotFoundError` | 94% | Path tips, pathlib example |\n| `RuntimeError` | 60–95% | Dict mutation, bare raise detection |\n| `RecursionError` | 96% | Base case explanation, function detection |\n\n---\n\n## CLI Reference\n\n```\nUsage: fixpy [OPTIONS] [SOURCE]\n\n  fixpy — Analyse a Python traceback and explain it in plain English.\n\nArguments:\n  [SOURCE]  Path to a .py script or .log\u002F.txt traceback file.\n\nOptions:\n  -p, --paste         Read traceback from the system clipboard.\n  -w, --watch         Watch a .py file — re-analyse on every save.\n  -l, --lang TEXT     Output language: 'en' (default) or 'ar'.\n  --json              Output analysis as machine-readable JSON.\n  -v, --version       Show version and exit.\n  --help              Show this message and exit.\n```\n\n---\n\n## VS Code Extension (Preview)\n\n`fixpy` now includes preview support for a VS Code extension in\n[`vscode-extension\u002F`](vscode-extension\u002F).\n\n### What it provides\n\n- Traceback detection in open text\u002Flog files\n- Commands to analyze selected traceback text or the full current file\n- Beginner-friendly explanations and fix guidance shown in VS Code\n- Inline diagnostics on traceback frame lines\n\n### Quick start\n\n```bash\npip install fixpy-traceback\ncd vscode-extension\nnpm install\n```\n\nThen open this repository in VS Code and press `F5` to launch an Extension\nDevelopment Host.\n\n---\n\n## Building from Source\n\n```bash\n# Install build tool\npip install hatch\n\n# Build wheel + sdist\nhatch build\n\n# Output is in dist\u002F\nls dist\u002F\n```\n\n---\n\n## Publishing to PyPI\n\n```bash\n# 1. Update version in pyproject.toml and src\u002Ffixpy\u002F__init__.py\n# 2. Create and push a version tag\ngit tag v0.1.0\ngit push origin v0.1.0\n\n# GitHub Actions will automatically build and publish to PyPI\n# via trusted publishing (no API keys needed).\n\n# Or publish manually:\npip install twine\ntwine upload dist\u002F*\n```\n\n---\n\n## Running Tests\n\n```bash\n# Install dev dependencies\npip install -e \".[dev]\"\n\n# Run all tests\npytest\n\n# With coverage report\npytest --cov=fixpy --cov-report=html\n\n# Lint\nruff check src\u002F\n```\n\n---\n\n## Project Structure\n\n```\nfixpy\u002F\n├── src\u002Ffixpy\u002F\n│   ├── cli.py                    # Typer CLI entry point\n│   ├── models.py                 # Core dataclasses\n│   ├── parser\u002F                   # Traceback text parser\n│   ├── analyzers\u002F                # 14 exception analyzers + registry\n│   │   └── exceptions\u002F\n│   ├── formatter\u002F                # Rich terminal renderer\n│   ├── i18n\u002F                     # English + Arabic strings\n│   └── helpers\u002F                  # Clipboard, file watcher, similarity\n├── tests\u002F                        # pytest test suite\n├── examples\u002F                     # Sample .log files\n└── .github\u002Fworkflows\u002Fci.yml      # GitHub Actions CI\n```\n\n---\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n\n---\n\n## License\n\nMIT © fixpy Contributors\n","fixpy 是一个用于解析并清晰解释 Python 错误的命令行工具。它通过14种异常分析器来处理常见的错误类型，如语法错误、名称错误等，并以彩色编码面板和语法高亮代码示例的形式提供美观的终端输出。此外，fixpy 还具备智能建议功能，能够检测拼写错误、提示缺少的包安装以及识别 NoneType 问题。支持阿拉伯语模式、监视模式（自动重新分析）、剪贴板输入、JSON 输出格式以及 VS Code 扩展预览版，使得开发者可以更方便地在不同场景下理解和解决 Python 代码中的错误。该工具非常适合初学者学习 Python 时遇到困难，或是需要提高调试效率的专业开发人员使用。",2,"2026-06-11 03:59:09","CREATED_QUERY"]