spockoo/phi-complexity

GitHub: spockoo/phi-complexity

这是一个利用黄金分割率不变量及数学算法来量化评估Python代码健康度和结构稳定性的静态分析工具。

Stars: 1 | Forks: 0

# phi-complexity [![PyPI version](https://img.shields.io/pypi/v/phi-complexity.svg)](https://pypi.org/project/phi-complexity/) [![Python 3.9+](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/spockoo/phi-complexity/blob/main/LICENSE) [![Tests](https://img.shields.io/badge/tests-26%20passed-brightgreen)](https://github.com/spockoo/phi-complexity/tree/main/tests) `phi-complexity` 是**第一个代码质量库**,它使用源自黄金分割率(φ = 1.618...)的**通用数学不变量**来衡量您的 Python 代码的健康状况。 与 `pylint`(文化规则)或 `radon`(McCabe 指标)不同,`phi-complexity` 回答了: ## ⚡ 快速开始 ``` pip install phi-complexity ``` ``` # Audit a file phi check my_script.py # Audit a folder phi check ./src/ # Generate a Markdown report phi report my_script.py --output report.md # CI/CD strict mode (exit 1 if radiance < 75) phi check ./src/ --min-radiance 75 ``` ### Python API ``` from phi_complexity import auditer, rapport_console, rapport_markdown # Get metrics as a dict metrics = auditer("my_script.py") print(metrics["radiance"]) # → 82.4 print(metrics["statut_gnostique"]) # → "EN ÉVEIL ◈" print(metrics["oudjat"]) # → {"nom": "process_data", "ligne": 42, ...} # Print console report print(rapport_console("my_script.py")) # Save Markdown report rapport_markdown("my_script.py", sortie="report.md") ``` ## 📊 指标 | 指标 | 描述 | 数学基础 | |---|---|---| | **Radiance Score** | 全局质量评分(0–100) | `100 - f(Lilith) - g(H) - h(Anomalies) - i(Fib)` | | **Variance de Lilith** | 结构不稳定性 | 函数复杂度的总体方差 | | **Shannon Entropy** | 信息密度 | `H = -Σ p·log₂(p)` | | **φ-Ratio** | 主导函数比率 | `max_complexity / mean` → 应趋向于 φ | | **Fibonacci Distance** | 自然尺寸对齐 | `Σ|n_i - Fib_k| / φ` | | **Zeta-Score** | 全局共振 | `ζ_meta(functions, φ)` 收敛级数 | ### 灵知状态等级 | 分数 | 状态 | 含义 | |---|---|---| | ≥ 85 | **HERMÉTIQUE ✦** | 稳定,和谐,可用于生产环境 | | 60–84 | **EN ÉVEIL ◈** | 存在潜力,部分熵区域 | | < 60 | **DORMANT ░** | 建议深度重构 | ## 🧭 命令稳定性矩阵 | 命令 | 稳定性 | 目的 | 输出 / 副作用 | |---|---|---|---| | `phi check` | **Stable** | 审计文件/文件夹的 radiance | 控制台或 JSON(无写入) | | `phi report` | **Stable** | Markdown 报告 | 如果指定 `--output` 则写入 `report.md` | | `phi oracle` | **Stable** | 发布门控(radiance + 测试) | 控制台;失败时退出码为 1 | | `phi harvest` | Experimental | AST 向量收集 | 写入 `.phi/harvest.jsonl` | | `phi metadata` | Experimental | 元数据摘要与清除(harvest/vault) | 摘要;经过清理的 JSONL | | `phi vault` / `phi graph` / `phi canvas` | Experimental | Vault 存储 + 图形导出 + Obsidian canvas | 写入 `.phi/` 下(JSON, DOT/ASCII, `.canvas`) | | `phi search` | Experimental | 查询 vault | 控制台/JSON;读取 `.phi/vault.jsonl` | | `phi seal` / `phi heal` | Experimental | Seal + 通过 LLM 自动缝合 | 可能调用本地 LLM (`--url`);在 `.phi/` 中写入 seal 元数据 | | `phi spiral` | Experimental | Radiance 螺旋可视化 | 仅控制台 ASCII | **提示:** 在 CI 中保留 `phi check`/`phi report`/`phi oracle`。先在本地使用实验性命令,如果在 VCS 中不需要,请将 `.phi/` 下的输出固定在 `.gitignore` 中。 ## 🔍 示例输出 ``` ╔══════════════════════════════════════════════════╗ ║ PHI-COMPLEXITY — AUDIT DE RADIANCE ║ ╚══════════════════════════════════════════════════╝ 📄 Fichier : my_script.py 📅 Date : 2026-04-08 17:11 ☼ RADIANCE : ██████████████░░░░░░ 72.6 / 100 ⚖ LILITH : 11221.9 (Structural variance) 🌊 ENTROPIE : 2.48 bits (Shannon) ◈ PHI-RATIO : 3.43 (ideal: φ = 1.618, Δ=1.81) ζ ZETA-SCORE : 0.3656 (Global resonance) STATUT : EN ÉVEIL ◈ 🔎 OUDJAT : 'process_data' (Line 42, Complexity: 376) ⚠ SUTURES IDENTIFIED (2): 🟡 Line 18 [LILITH] : Nested loop (depth 2). Consider a helper function. >> for j in range(b): 🔵 Line 67 [SOUVERAINETE] : 'load_data' receives 6 arguments. Encapsulate in an object. >> def load_data(path, sep, enc, cols, dtype, na): ``` ## 🚀 CI 创新套件(开源) `phi-complexity` 现在搭载了一套面向生产力/Dev/Ops 的套件: - **AI AutoFix Studio**:确定性变异规则,用于快速应用 CI 修复。 - **Flow Intelligence**:针对与并发相关的取消(`WORKFLOW_CONCURRENCY_CANCELLED`)的专用分类。 - **Runner Sentinel**:显式检测 runner 队列阻塞(`RUNNER_QUEUE_STALL`)。 - **Ops & Engineering Control Plane**:可导出的 JSON/Markdown 快照(成功/失败/已取消、MTTR、根本原因、趋势)。 - **Dev Productivity Environment**:`.devcontainer` + `Makefile` + `make ci-local` 命令,用于在本地复现流水线。 ``` make setup make ci-local ``` ## 🧮 数学基础 **Radiance 公式** 源自: - **φ-Meta Framework**(Tomy Verreault, 2026)—— 公理 AX-A0 至 AX-A58 - **Law of Antifragility**(EQ-AFR-BMAD):`φ_{t+1} = P_φ(φ_t + k·Var(E_t)·E_t)` - **Cybernetics**(Korchounov, Mir, 1975)—— 反馈与方差作为控制指标 - **Shannon Information Theory** —— 将代码视为信息通道 **Sovereign Coding Rules** 源自: - **The C Book**(Banahan, Brady, Doran)—— 作用域封闭性,资源生命周期 - **JaCaMo / Multi-Agent Programming** —— 智能体独立性与封装 完整数学证明:[docs/MATHEMATIQUES.md](https://github.com/spockoo/phi-complexity/blob/main/docs/MATHEMATIQUES.md) ## 🏗 Sovereign 架构 ``` Zero external dependencies. Pure Python standard library (ast, math, json). ``` ``` phi_complexity/ ├── core.py ← Golden constants (PHI, TAXE_SUTURE, ETA_GOLDEN...) ├── analyseur.py ← AST fractal dissection ├── metriques.py ← Radiance Index calculation ├── rapport.py ← Console / Markdown / JSON rendering └── cli.py ← phi check / phi report ``` ## 🔗 集成 ### Pre-commit Hook ``` repos: - repo: https://github.com/spockoo/phi-complexity rev: v0.1.0 hooks: - id: phi-check args: [--min-radiance, "70"] ``` ### GitHub Action ``` - name: Phi-Complexity Audit run: | pip install phi-complexity phi check ./src/ --min-radiance 75 ``` ### 密钥(`ADMIN_TOKEN`) - 切勿在受跟踪的文件中提交 `ADMIN_TOKEN`。 - 将其存储在环境变量或 GitHub Actions Secrets 中。 - 仅将 `.env.example` 作为模板使用: ``` ADMIN_TOKEN= ``` ## 📜 许可证 MIT — Tomy Verreault, 2026 *锚定于 Bibliothèque Céleste — Morphic Phi Framework (φ-Meta)*
标签:Linter, pptx, PyPI, Python, Shannon熵, SOC Prime, SQL查询, 二进制发布, 云安全监控, 代码健康度, 代码度量, 代码规范, 复杂度分析, 开发工具, 开源工具, 数学不变量, 斐波那契, 无后门, 自动化payload嵌入, 逆向工具, 静态分析, 黄金分割率