Einleitung
quiCkLI ist ein minimales Lern-Framework für den Aufbau von Python-Kommandozeilen- Interfaces. Es stellt eine kleine Menge expliziter Bausteine bereit, ohne die Kommandozeile hinter einer großen Abstraktionsschicht zu verbergen.
Warum quickli?
Viele CLI-Frameworks sind darauf ausgelegt, jedes mögliche Problem zu lösen. Das ist für große Anwendungen nützlich, kann aber die Grundlagen schwer erkennbar machen. quickli verfolgt einen kleineren Ansatz, damit Entwickler lernen können, wie ein CLI zusammengesetzt wird:
Applicationverwaltet Registrierung und Dispatch.Commandrepräsentiert eine benannte Operation.Argumentbeschreibt positionalen Input.Optionbeschreibt benannten Input und Schalter.- Konverter und Validatoren wandeln Text in geprüfte Werte um.
Das Framework ist bewusst abhängigkeitsarm und hält die Bibliotheksgrenze sichtbar.
Application.run() gibt weiterhin Handler-Ergebnisse an den Aufrufer zurück, während
Application.main() eine Standardhülle für sys.argv, Ausgabe, strukturierte
Laufzeitfehler und Exit-Codes bereitstellt.
Ein kleines Beispiel
Die folgende befehlslose Anwendung akzeptiert JSON- oder YAML-Text und normalisiert ihn zu JSON:
from quickli import Application, Argument
from quickli import load_json, load_yaml, render_json
app = Application(name="profile")
@app.entrypoint(arguments=[Argument("payload")])
def normalize(payload: str) -> str:
data = load_json(payload) if payload.lstrip().startswith(("{", "[")) else load_yaml(payload)
return render_json(data)
$ python profile.py "name: Ada" → {"name": "Ada"}
Die nächste Seite zeigt, wie quickli installiert und ein vollständiges Beispiel ausgeführt wird.
Nächste Schritte
Lies die quiCkLI-Konzepte, um zu verstehen,
wie Application, Command, Argument, Option und Plugin zusammenwirken.
Die Entwicklungs-Roadmap beschreibt die nächsten geplanten Schritte.
