← Back to list

netninja-qt-compat
by aztr0nutzs
⭐ 0🍴 0📅 Dec 29, 2025
SKILL.md
name: netninja-qt-compat description: Implement and maintain NET-NiNJA's Qt compatibility logic: auto-select PyQt6 vs PyQt5 based on CPU features (SSE4.1/4.2), add and honor --gui=auto|qt6|qt5, and prevent premature PyQt6 imports that crash on legacy CPUs. Use when touching GUI startup, requirements, or hardware gating.
Netninja Qt Compat
Goal
Select the correct GUI backend at runtime (auto/Qt6/Qt5), guard imports to avoid crashes, and keep requirements consistent with the selected backend.
Read First
cpu_features.pyfor SSE4.1/4.2 detectionmain.pyandnetreaper_gui.pyfor startup flownetreaper_gui_legacy.pyfor legacy GUI entrylaunch_gui.bat,launch_gui.ps1for CLI surfacesrequirements.txt,requirements_legacy.txt,requirements_windows.txt
Workflow
- Decide backend selection rules:
--gui=qt6forces Qt6.--gui=qt5forces Qt5.--gui=autousescpu_features.pyand forces Qt5 if SSE4.1 or SSE4.2 is missing.
- Centralize selection logic in one function (e.g.,
select_gui_backend) that returns backend + reason. - Enforce import order: never import PyQt6 before the selection decision. Use conditional or local imports after selecting backend.
- Log the decision clearly (backend + reason) before GUI startup.
- Keep requirements aligned: Qt6 in modern requirements, Qt5 in legacy requirements. Ensure launcher docs reflect the CLI flag.
- Add a simple diagnostic command or log line that shows the detected CPU features and selected backend.
Output Expectations
- Runtime decision is deterministic and logged.
- Legacy CPUs never attempt PyQt6 import.
- CLI flag override works on all launch surfaces.
Score
Total Score
60/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon