Python Package

Komplexitéit reduzéieren

Techniken, fir zyklo matesch a kognitiv Komplexitéit a Python-Code ze moossen an ze reduzéieren.

Fréien Zougang: Bis 2026-12-31

mgpy behandelt Komplexitéit als moossbart Refactoring-Zil: Hotspots solle sichtbar, vergläichbar an iwwer Baselines nogehal ginn.

Kaerpunkten

  • CLI: Ënner Windows weisen d'Beispiller de recommandéierte Start iwwer py -3.12 -m <modul> ... (z.B. py -3.12 -m manifestguard ...). Ënner Linux/macOS ass dat normalerweis python3.12 -m ....
  • Den agebaute AST-Analyzer ass de Standard-Motor a hält Trenddaten stabil.
  • Fréi Returns, kleng Hëllefsfunktiounen a kloer Responsabilitéiten reduzéieren Verstéiss méi séier wéi reng Formatéierung.
  • Viru méi grousse strukturelle Changementer ëmmer eng Baseline späicheren.

Recommandeierte mgpy-Workflow

  1. Als éischt d Hotspots mat engem feste Schwellwäert moossen.
  2. D schlëmmste Funktiounen a kleng testbar Schrëtt opdeelen amplaz de ganze Modulbam op eemol ze verréckelen.
  3. No all Refactoring mam gespäicherte Baseline-Punkt vergläichen.

Schnellstart

py -3.12 -m manifestguard complexity --threshold 12
py -3.12 -m manifestguard baseline --save-label pre-refactor
py -3.12 -m manifestguard baseline --compare pre-refactor

Viraussetzungen

Kolonnen
Installation interpreter
Python 3.12 + pip
Recommended default path for installation and CLI calls.
Project target versions
Python 3.8 to 3.12
These are the project/runtime targets mgpy can analyze.
mgpy runtime
Validated on Python 3.10 to 3.13
The tool runtime itself is covered for this range.
CLI invocation
Windows: py -3.12 -m manifestguard
Linux/macOS usually maps to python3.12 -m manifestguard.
Runtime packages
tomlkit, click, pydantic, packaging, watchdog, PyNaCl, rfc8785
tomli is only added for Python below 3.11.
Offline / wheel install
Optional via pip --no-index or wheel
Useful for air-gapped or approved bundle distribution paths.