2017-05-24 7 views
0

私はPython JIRAパッケージを管理しています。このパッケージには、jira pythonモジュール(ライブラリ)とjirashell対話型CLIツールの2つの部分が含まれています。Pythonライブラリでデフォルトでcliコマンドをインストールする必要がありますか?

これまでずっと一緒にバンドルされていましたが、CLIツールには新しい要件のIPythonがあり、一部のユーザーはipython was not installed by defaultという不平を言いました。

私はそれを要件リストに追加しました。新しい要件ではライブラリの使用が非常に難しくなっています。インストールには問題があり、ライブラリには使用できないため)。

私は、私はデフォルトでインストールされるかについての意思決定を行う必要がある(エキストラ)で、オプションの要件を使用する方法がわからんが(pip install jira

は、私はこれらの二つのオプションを参照してください。

  1. デフォルトがすべき両方をインストールします(大きな要件)。ライブラリを入手することだけに興味がある人は、CLI要件のインストールを避けるために、pip install jira[library]を使用する必要があります。
  2. デフォルトでは、唯一のライブラリをインストールする必要があり、そうcliユーザーはあなたのための最良のアプローチとして見えるの答えを投票してくださいpip install jira[cli]

と、彼らはそれをインストールする場合にのみ、それを使用することができるようになります。

+0

これは、ほぼ確実に "主に意見に基づく"とみなされています。私はgrundioが提案するオプション3に行くだろう。私もあなたのツールを広範囲に使用していますが、私はあなたのログイン以外にjira-shellの価値を見たことがなく、簡単な機能を持っています。 – kdopen

答えて

0

デフォルトではlibrarycliの両方をインストールし、他のユーザーはそのユースケースに対してより複雑な方法を使用できます。

3

私は、個人的には、不要な依存地獄であなたの#2を鞍にしないバージョンにデフォルト設定します。あなたが必要とする余分なものを得るために明白なコマンドに加えて別のコマンドを実行することは難しいことではありませんが、破損を避けるために明白なコマンドを実行する必要がないことを理解しようとすると非常に不快で不透明なことがあります。

これはかなり主観的で、ユーザーのニーズに依存しています。

+0

ありがとう!ユーザーオプションに関する傾向があるかどうかを確認するのを待つことにします。私は決定をより主観的ではないようにしようとしています。ほとんどのユーザーの行動の変化を避けることは、客観的な理由として考えられます。 – sorin

5

私は別のエンティティが好きです。 JIRAクライアントライブラリは、何らかのルーチン操作の自動化、cronスクリプトとしての実行、いくつかのWebアプリケーションのバックエンドとしてのいくつかのアクティビティの管理、コマンドラインアプリケーション用のライブラリとしてのどこでも使用できます。

私の目には、それらを分けるのが理にかなっています。人々に不要な依存関係をインストールさせるよう強制しないでください。なぜなら、誰かがバックエンドのFlaskサーバ上でのipythonを必要とするのですか?間違いなくオプション#2。 ところで、あなたはオプションを考えました#3:それらを完全に分離していますか?別々のリポジトリ、別々のパッケージそれは意味をなさないでしょうか? だから、JIRAライブラリの一つが実行されます:

pip install jira 

そして、JIRAのCLI:

pip install jira-cli 

p.s:私は生産に積極的にそれを使用して、あなたのライブラリーのユーザーだが。よくやった! :)

+0

あなたの答えは#3、 "スプリット"としてカウントされますが、それは余分なメンテナンスの負担のためにすべての費用を避けたいものです。フィードバックをお寄せいただきありがとうございます。私はどちらが勝つか知っていると思うが、休むまで数日を待つ。 – sorin

関連する問題