pip search¶
問題¶
デフォルトでは、pip search
はコマンドラインからPyPI.org上のパッケージを検索します。しかし、チームは削除を検討しています。なぜなら、それほど有用ではないと考え、PyPI上で多くのリソースを使いすぎているからです(PyPI XMLRPC検索は、乱用/過剰使用のために無効になりました)。
調査¶
PyPI XMLRPC検索が無効になる前に、私たちは
「機能を買い取る」アンケートを通じて、pip searchに関するフィードバックを集めました
pip searchに関するアンケートを具体的に公開し、ユーザーに以下について尋ねました
pip searchの現在の使用状況
pip searchの結果がどれほど役立つか
pip searchの結果がどれほど明確か
ユーザーがpipに検索を期待する場所(PyPI対プライベートインデックスなど)
pipがプロジェクト名以外に検索すべきデータ
pip searchにどのような変更や追加を加えたいか
結果¶
合計で、機能購入アンケートに1070件の回答があり、541人(50.4%)の回答者がトップ10の機能で「pypi.orgでパッケージを検索する」を選択しました。
ただし、検索は以下の機能よりも低い順位でした
ユーザー入力を必要とせずにpipを実行する(CIなど) 718
インストールされているすべてのパッケージに関する情報を表示する 707
インストールされている単一のパッケージに関する情報を表示する 596
pip searchアンケートに302件の回答があり、302件中62件(20.5%)の回答者がコマンドの存在を知らなかったり、一度も使用したことがなかったり、「めったに」使用していませんでした。
pip searchを使用している残りの約80%の回答者は、以下の目的で使用していることがわかりました
インストールする適切な/新しい/代替パッケージを見つける/検索する
パッケージ名の確認(正しいスペルを確認)
機能の評価(パッケージの説明を確認)
可用性の検証(そのようなパッケージが存在するかどうかを確認)
パッケージの最新バージョンを検索する(バージョンを確認)
パッケージライブラリと新しいモジュールを見つける
一般的に、pip searchは以下のように見なされています
有用ではないよりも有用である
不明確ではないよりも明確である
pipがパッケージ名以外の項目で検索すべきかどうか尋ねられたとき、回答者はパッケージの説明を検索することを最も多く求めました
一部のユーザーは、フラグ/オプションを渡すなどして、検索を構成可能にしたいとも述べています。
pip searchをどのように改善するかを尋ねられたとき、ユーザーは次のように改善すると述べています
1. 検索方法
ファジー検索と大文字と小文字を区別しない検索を受け入れる必要がある
ユーザーは、説明、名前、タグでフィルター/ソートするオプションを持つ必要がある
2. 検索結果
関連性:結果は、完全一致と最も近い一致の両方を示す必要がある
順序/カテゴリ:結果は、ダウンロード数の多い順(人気)、開発状況(最後に更新された/最新バージョン)など、特定の順序で項目を表示する必要がある
検索結果の数を制限する必要がある
3. ユーザーインターフェース
パッケージをpypiページにリンクする
より明確にするために、カラーコーディング/システムを使用する
完全一致の検索結果を他の検索結果と区別する:強調表示するか、別の色を使用する
バージョンの互換性を示す
推奨事項¶
非推奨戦略¶
PyPI検索APIは、技術的および持続可能性の理由により(2021年1月1日現在)現在無効になっているため、pipチームはコマンドを使用するユーザーに明確なエラーメッセージを表示することを推奨します
The PyPI search API has been disabled due to unmanageable load.
To search PyPI, open your browser to search for packages at https://pypi.org
Alternatively, you can search a different index using the --index command.
長期的には、**PyPIチームが(キャッシュなどを介して)検索結果を提供する代替方法を調査し**、pip searchが再び機能できるようにすることを推奨します。この推奨事項は、多くのpipユーザーがこの機能が有用だと考えていることを示唆する当社の調査によって裏付けられています。
これが不可能な場合、pipチームは、代わりに何を使用するかをユーザーに伝える明確な指示を作成する必要があります。(一般的なユーザーフローに基づいた)いくつかの提案を以下に示します
パッケージの最新バージョンの確認¶
ユーザーは、pip search
コマンドを使用して、特定のパッケージのバージョンを見つけたり、確認したりすることもできます。
代替として、pipチームは次のいずれかを行うことができます
pip show
機能を拡張して、パッケージの既知の最新バージョンを含める。現在の依存関係ツリーをスキャンし、(構成されたインデックスの最新バージョンと比較して)古くなっているパッケージを出力する
pip outdated
コマンドを作成します。
UXの改善¶
pip searchのサポートを継続できる場合は、次のUXの改善を強くお勧めします
ファジー検索のサポートを追加するか、代替/関連する検索語を提案する
大文字と小文字を区別しない検索のサポートを追加する
パッケージの説明に基づいて検索する
検索結果をパッケージのPyPIページにリンクする(適切な場合)
上記の詳細な他のユーザーフィードバックも、ケースバイケースでチームが検討する必要があります。