私が書いているツールのコマンド ライン インターフェイスを開発しようとしています。fab
Fabric のツールに似たインターフェイスと svn のコマンド ライン ツールに似たインターフェイスの間を行き来しています。
fab
の使用メッセージ:
Usage: fab [options] <command>[:arg1,arg2=val2,host=foo,hosts='h1;h2',...] ...
svn
の使用メッセージ:
usage: svn <subcommand> [options] [args]
2つのオプションと(少なくとも私が使用しているもの)svn
もサポートしていることに注意してください。--version
--quiet
私の質問は次のとおりです。
- fab の cli (複数のコマンドがあり、それぞれに引数を指定できる) の設計は、コマンドライン ツール間で共通ですか? 私には、svn ツールの cli がより一般的に使用されているようです (確かではありません)。
- plac (または argparse)を使用して fab の cli を実装するのは簡単でしょうか?
- svn の cli を使用することにした場合、これを plac を使用して実装できますか? 私は plac が好きですが、サブコマンドの代わりにツールにオプションを直接追加する方法がわかりませんでした。argparseを使用して確実に実装できます。
PS: fab の cli が私にとって魅力的な唯一の理由は、1 つのステップで複数のタスクを実行できることですが、実装の容易さが私の主な関心事です。