Introducing quiCkLI
quiCkLI is a small, educational Python framework for building command-line applications. It keeps registration, parsing, validation, dispatch, and help visible so developers can learn how CLI tools fit together.
Sven Patrick Meier entwickelt quiCkLI als kleines, transparentes Framework, um CLI-Design und Python-Softwarearchitektur zu lernen.
View All AuthorsquiCkLI is a small, educational Python framework for building command-line applications. It keeps registration, parsing, validation, dispatch, and help visible so developers can learn how CLI tools fit together.
Wenn du schon immer ein kleines Python-Kommandozeilentool erstellen wolltest, aber
größere Frameworks überwältigend fandest, wurde quiCkLI für dich entwickelt. Es ist ein
minimales Framework, das die Grundbausteine sichtbar lässt - damit du lernen und bauen
kannst, ohne unnötige Komplexität.
Im ersten Artikel der Reihe Erste Schritte mit quiCkLI wirst du ein Begrüßungstool
mit genau drei Konzepten erstellen: Application, Argument und Option.
Es gibt bereits ausgezeichnete Python-CLI-Frameworks. argparse ist in der
Standardbibliothek. click ist ausgereift und weit verbreitet. typer generiert
Interfaces aus Typ-Annotationen. Wenn diese existieren, warum dann noch eines bauen?
Dieser Beitrag beantwortet diese Frage ehrlich. Er ist der erste einer Reihe über die
Entwicklung von quiCkLI - was es ist, warum es existiert und wohin es geht.
Designing a CLI is more than mapping strings to functions. You need to decide how users discover commands, provide values, recover from mistakes, and compose tools in scripts.
In Teil 1 hast du ein Begrüßungstool mit einem einzigen Argument und einem Schalter gebaut. In diesem Artikel kommen zwei neue Konzepte dazu: Validatoren, die ungültige Eingaben abfangen, bevor dein Handler ausgeführt wird, und globale Optionen, die für jede Anweisung in einer Anwendung gelten.
Das Beispiel ist quickcat, ein minimaler Datei-Viewer nach dem Vorbild des
Unix-cat-Befehls.
Jede Designentscheidung in quiCkLI wurde mit einer bestimmten Art von Entwickler im
Sinn getroffen. In diesem Beitrag möchte ich explizit darüber sprechen, wer das ist,
denn es erklärt Entscheidungen, die sonst willkürlich wirken könnten.
In den ersten beiden Teilen dieser Reihe hast du ein Begrüßungstool und einen
Datei-Viewer gebaut. In diesem abschließenden Artikel kombinierst du alles Gelernte
und baust pyk5l, eine kubectl-ähnliche Multi-Command-Anwendung.
Operations work values repeatability, composability, low overhead, and precise control. Those properties are natural strengths of command-line tools, especially when a task must run from a shell, a scheduled job, a container, or a recovery environment.
AI agents need tools with clear inputs, observable outputs, and bounded side effects. A CLI can provide that contract without hiding the operation behind an opaque integration layer.