コマンドラインアプリケーション

Console Application とも呼ばれるコマンドラインアプリケーションは、 shell コマンドラインアプリケーションは通常、さまざまな入力を引数として受け入れます。多くの場合、パラメータやサブコマンド、オプション(フラグやスイッチと呼ばれることが多い)と呼ばれます。

いくつかの一般的なコマンドラインアプリケーションには次のものがあります。

  • Grep - プレーンテキストのデータ検索ユーティリティ
  • curl - URL構文によるデータ転送のためのツール
  • httpie - ユーザーフレンドリーなコマンドラインHTTPクライアント。
  • git - 分散バージョン管理システム
  • mercurial - 主にPythonで書かれた分散バージョン管理システム

Clint

clint は、コマンドラインアプリケーションを開発するための非常に便利なツールで埋め尽くされたPythonモジュールです。 それは以下のような機能をサポートしています。 CLIの色とインデント、シンプルで強力な列プリンタ、イテレータベースのプログレスバー、暗黙的な引数処理。

Click

click は、可能な限り小さなコードで構成可能な方法でコマンドラインインターフェイスを作成するためのPythonパッケージです。 この「Command-Line Interface Creation Kit」は高度に設定可能ですが、デフォルトですぐに適切なデフォルトが提供されます。

docopt

docopt は軽量で高度にPythonicなパッケージで、POSIXスタイルの使用方法を解析することで、簡単かつ直感的にコマンドラインインターフェイスを作成することができます。

Plac

Plac はPythonの標準ライブラリ argparse の単純なラッパーで、宣言的インタフェースを使用して複雑さの大部分を隠します。引数パーザは、命令的に記述されるのではなく推論されます。このモジュールは、素朴なユーザー、プログラマー、システム管理者、科学者、一般的にはスローアウェイスクリプトを作成し、迅速かつ簡単なコマンドラインインターフェイスを作成することを目指しています。

Cliff

Cliff は、コマンドラインプログラムを構築するためのフレームワークです。 setuptoolsのエントリーポイントを使用して、サブコマンド、出力フォーマッタ、およびその他の拡張機能を提供します。 このフレームワークは、メインプログラムがいくつかの基本的な引数解析を処理し、次にサブコマンドを呼び出して作業を行う、subversionやgitなどのマルチレベルコマンドを作成するために使用されます。

Cement

Cement は高度なCLIアプリケーションフレームワークです。 その目的は、シンプルで複雑なコマンドラインアプリケーションの両方に標準の機能満載のプラットフォームを導入し、品質を犠牲にすることなく迅速な開発ニーズをサポートすることです。Cement は柔軟性があり、ユースケースは、マイクロフレームワークの単純さからメガフレームワークの複雑さにまで及びます。