Skip to main content

Code quality metrics based on Golden Ratio (φ) mathematical invariants

Project description

phi-complexity

Code quality metrics based on Golden Ratio (φ) mathematical invariants

PyPI version Python 3.9+ License: MIT Tests

phi-complexity is the first code quality library that measures the health of your Python code using universal mathematical invariants derived from the Golden Ratio (φ = 1.618...).

Unlike pylint (cultural rules) or radon (McCabe metrics), phi-complexity answers:

"Is this code in resonance with the natural laws of order, or is it collapsing under its own entropy?"


⚡ Quick Start

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")

📊 Metrics

Metric Description Mathematical basis
Radiance Score Global quality score (0–100) 100 - f(Lilith) - g(H) - h(Anomalies) - i(Fib)
Variance de Lilith Structural instability Population variance of function complexities
Shannon Entropy Information density H = -Σ p·log₂(p)
φ-Ratio Dominant function ratio max_complexity / mean → should tend toward φ
Fibonacci Distance Natural size alignment
Zeta-Score Global resonance ζ_meta(functions, φ) converging series

Gnostic Status Levels

Score Status Meaning
≥ 85 HERMÉTIQUE ✦ Stable, harmonious, production-ready
60–84 EN ÉVEIL ◈ Potential exists, some entropy zones
< 60 DORMANT ░ Deep restructuring recommended

🧭 Command Stability Matrix

Command Stability Purpose Output / Side-effects
phi check Stable Audit radiance for files/folders Console or JSON (no writes)
phi report Stable Markdown report Writes report.md if --output
phi oracle Stable Release gate (radiance + tests) Console; exits 1 on failure
phi harvest Experimental AST vectors collection Writes .phi/harvest.jsonl
phi metadata Experimental Metadata summary & purge (harvest/vault) Summaries; sanitized JSONL
phi vault / phi graph / phi canvas Experimental Vault storage + graph export + Obsidian canvas Writes under .phi/ (JSON, DOT/ASCII, .canvas)
phi search Experimental Query the vault Console/JSON; reads .phi/vault.jsonl
phi seal / phi heal Experimental Seal + auto-suture via LLM May call local LLM (--url); writes seal metadata in .phi/
phi spiral Experimental Radiance spiral visualization Console ASCII only

Tip: keep phi check/phi report/phi oracle in CI. Use experimental commands locally first and pin outputs under .phi/ in .gitignore if not needed in VCS.


🔍 Sample Output

╔══════════════════════════════════════════════════╗
║      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 Innovation Suite (Open Source)

phi-complexity embarque maintenant une suite orientée productivité/dev/ops :

  • AI AutoFix Studio : règles de mutation déterministes pour appliquer rapidement des corrections CI.
  • Flow Intelligence : classification dédiée des annulations liées à la concurrence (WORKFLOW_CONCURRENCY_CANCELLED).
  • Runner Sentinel : détection explicite des blocages de queue runner (RUNNER_QUEUE_STALL).
  • Ops & Engineering Control Plane : snapshot exportable JSON/Markdown (succès/échecs/cancelled, MTTR, causes racines, tendances).
  • Dev Productivity Environment : .devcontainer + Makefile + commande make ci-local pour reproduire le pipeline localement.
make setup
make ci-local

🧮 Mathematical Foundations

The Radiance Formula is derived from:

  • φ-Meta Framework (Tomy Verreault, 2026) — Axioms AX-A0 through AX-A58
  • Law of Antifragility (EQ-AFR-BMAD): φ_{t+1} = P_φ(φ_t + k·Var(E_t)·E_t)
  • Cybernetics (Korchounov, Mir, 1975) — Feedback and variance as control metrics
  • Shannon Information Theory — Code as an information channel

The Sovereign Coding Rules are derived from:

  • The C Book (Banahan, Brady, Doran) — Scope hermeticity, resource lifecycle
  • JaCaMo / Multi-Agent Programming — Agent independence and encapsulation

Full mathematical proof: docs/MATHEMATIQUES.md


🏗 Sovereign Architecture

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

🔗 Integration

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

Secrets (ADMIN_TOKEN)

  • Never commit ADMIN_TOKEN in tracked files.
  • Store it in environment variables or GitHub Actions Secrets.
  • Use .env.example as a template only:
ADMIN_TOKEN=

📜 License

MIT — Tomy Verreault, 2026

Anchored in the Bibliothèque Céleste — Morphic Phi Framework (φ-Meta)

🔒 Sécurité : Activation du contrôle phi-check

Ce projet utilise un contrôle automatique (pré-commit) qui bloque tout ajout de code contenant certains mots ou outils réservés (par exemple des scripts ou outils reconnus de piratage).

Pour installer et activer le contrôle localement :

pip install pre-commit
pre-commit install

Le contrôle phi-check se lance alors automatiquement à chaque commit.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

phi_complexity-0.2.1.tar.gz (203.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

phi_complexity-0.2.1-py3-none-any.whl (145.0 kB view details)

Uploaded Python 3

File details

Details for the file phi_complexity-0.2.1.tar.gz.

File metadata

  • Download URL: phi_complexity-0.2.1.tar.gz
  • Upload date:
  • Size: 203.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for phi_complexity-0.2.1.tar.gz
Algorithm Hash digest
SHA256 c87391726030267a55dc732b1f5ea6cbf322c0777509ea200fa51c0dddf66bbe
MD5 cc8b0e4350ee3edb22fc2809a6773cf7
BLAKE2b-256 fbac377cf4baa0cf4f2e09f285084e0c14813d1de0f6ee20faf5ef97de80dedd

See more details on using hashes here.

File details

Details for the file phi_complexity-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: phi_complexity-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 145.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for phi_complexity-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 07922c1be183c6c82746ef65abe230cae1b8041cb081bdea65aadef194eaae71
MD5 d5f177bb40b7c15026ec759d80151f84
BLAKE2b-256 dd4ee134314f680270cb5e2ae637fea451377e485452a81dd4684f57569f7ac8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page