Pythonライブラリの人気調査ができるpypinfoのインストール

Pythonライブラリの人気調査ができるpypinfoのインストール データ分析

「人気のPythonライブラリを調べたい」
「Pythonライブラリのダウンロード統計を取りたい」

このような場合には、pypinfoがオススメです。
この記事では、pypinfoについて解説しています。

本記事の内容

  • pypinfoとは?
  • pypinfoのシステム要件
  • pypinfoのインストール
  • pypinfoの動作確認

それでは、上記に沿って解説していきます。

pypinfoとは?

pypinfoは、PyPIのダウンロード統計にアクセスするためCLIツールです。
Pythonを利用しているなら、PyPIにはお世話になっているでしょう。

PyPI
https://pypi.org/

そして、pypinfoで取得できるのは次のような結果です。
例えば、次のようなダウンロード統計を取得できます。

これは、cryptographyライブラリのシステム別、ディストリビューション別におけるダウンロード数です。
Ubuntuに関しては、納得の結果です。

ただ、Debianも頑張っているのですね。
これは結構意外な結果と言えます。

また、過去1年間のダウンロード数TOP10も集計できます。

他にもいろいろな面から分析が可能です。
ライブラリ選定において、pypinfoの統計結果を利用することもあるでしょう。

ただし、いいことばかりでありません。
pypinfoは、GoogleのBigQuery APIを利用する前提となっています。

APIを利用するためには、そのための処理が必要となります。
そして、その処理がそこそこ複雑です。

でも、安心してください。
その処理をわかりやすく説明しています。

あと、BigQuery APIは課金されます。
従量課金というヤツですね。

おそらく、ここで諦める人がたくさんいることでしょう。
しかし、ここでも安心してください。

1ヶ月で1TBの利用までなら、無料で利用できます。
それに、クレジットカードの事前登録も不要です。

1TBまで利用すれば、自動的にそこで利用停止になるでしょう。
だから、BigQuery APIを安心して利用できます。

以上、pypinfoについて説明しました。
次は、pypinfoのシステム要件を説明します。

pypinfoのシステム要件

現時点(2022年7月)でのpypinfoの最新バージョンは、21.0.0となります。
この最新バージョンは、2022年6月13日にリリースされています。

サポートOSに関しては、以下を含むクロスプラットフォーム対応です。

  • Windows
  • macOS
  • Linux

サポート対象となるPythonのバージョンは、以下となっています。

  • Python 3.7
  • Python 3.8
  • Python 3.9
  • Python 3.10

GOODですね。
pypinfoのメンテナンスが、行き届いていることを伺えます。

以下は、Python公式開発サイクルです。

バージョンリリース日サポート期限
3.62016年12月23日2021年12月23日
3.72018年6月27日2023年6月27日
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月
3.102021年10月4日2026年10月

この公式開発サイクルを守っているライブラリは、意外と少ないのです。
だからこそ、pypinfoは安心して使えるライブラリと言えます。

システム要件としては、Python 3.7以降だと言うぐらいです。
ただ、pypinfoはBigQuery APIを利用します。

そのため、そのための準備が必要となります。
その準備とは、API利用のための認証ファイルを取得する作業です。
その作業については、次の記事で解説しています。

上記記事に従えば、BigQuery APIの認証ファイルを用意できます。
記事内で言えば、「pypinfo-credentials.json」というファイルです。

以上、pypinfoのシステム要件を説明しました。
次は、pypinfoのインストールを説明します。

pypinfoのインストール

検証は、次のバージョンのPythonで行います。

$ python -V
Python 3.10.2

まずは、現状のインストール済みパッケージを確認しておきます。

$ pip list
Package    Version
---------- -------
pip        22.1.2
setuptools 62.6.0
wheel      0.36.2

次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。

python -m pip install --upgrade pip setuptools

では、pypinfoのインストールです。
pypinfoのインストールは、以下のコマンドとなります。

pip install pypinfo

pypinfoのインストールは、それほど時間はかかりません。
終了したら、どんなパッケージがインストールされたのかを確認します。

$ pip list
Package                       Version
----------------------------- ---------
binary                        1.0.0
cachetools                    5.2.0
certifi                       2022.6.15
charset-normalizer            2.1.0
click                         8.1.3
google-api-core               2.8.2
google-auth                   2.9.0
google-cloud-bigquery         3.2.0
google-cloud-bigquery-storage 2.13.2
google-cloud-core             2.3.1
google-crc32c                 1.3.0
google-resumable-media        2.3.3
googleapis-common-protos      1.56.3
grpcio                        1.47.0
grpcio-status                 1.47.0
idna                          3.3
numpy                         1.23.0
packaging                     21.3
pip                           22.1.2
platformdirs                  2.5.2
proto-plus                    1.20.6
protobuf                      3.20.1
pyarrow                       8.0.0
pyasn1                        0.4.8
pyasn1-modules                0.2.8
pyparsing                     3.0.9
pypinfo                       21.0.0
python-dateutil               2.8.2
requests                      2.28.1
rsa                           4.8
setuptools                    62.6.0
six                           1.16.0
tinydb                        4.7.0
tinyrecord                    0.2.0
urllib3                       1.26.9
wheel                         0.36.2

pypinfoは、思ったより多くのライブラリに依存しています。
環境が汚れるのが嫌な場合は、Python仮想環境にインストールしましょう。

以上、pypinfoのインストールを説明しました。
次は、pypinfoの動作確認を説明します。

pypinfoの動作確認

pypinfoの利用方法は、ヘルプで確認できます。

$ pypinfo -h
Usage: pypinfo [OPTIONS] [PROJECT] [FIELDS]... COMMAND [ARGS]...

  Valid fields are:

  project | version | file | pyversion | percent3 | percent2 | impl | impl-version |

  openssl | date | month | year | country | installer | installer-version |

  setuptools-version | system | system-release | distro | distro-version | cpu |

  libc | libc-version

Options:
  -a, --auth TEXT         Path to Google credentials JSON file.
  --run / --test          --test simply prints the query.
  -j, --json              Print data as JSON, with keys `rows` and `query`.
  -i, --indent INTEGER    JSON indentation level.
  -t, --timeout INTEGER   Milliseconds. Default: 120000 (2 minutes)
  -l, --limit INTEGER     Maximum number of query results. Default: 10
  -d, --days INTEGER      Number of days in the past to include. Default: 30
  -sd, --start-date TEXT  Must be negative or YYYY-MM[-DD]. Default: -31
  -ed, --end-date TEXT    Must be negative or YYYY-MM[-DD]. Default: -1
  -m, --month TEXT        Shortcut for -sd & -ed for a single YYYY-MM month.
  -w, --where TEXT        WHERE conditional. Default: file.project = "project"
  -o, --order TEXT        Field to order by. Default: download_count
  --all                   Show downloads by all installers, not only pip.
  -pc, --percent          Print percentages.
  -md, --markdown         Output as Markdown.
  -v, --verbose           Print debug messages to stderr.
  --version               Show the version and exit.
  -h, --help              Show this message and exit.

実際にpypinfoを利用するには、認証ファイルを読み込む必要があります。
認証ファイルの読み込みは、次のコマンドで実行できます。

pypinfo --auth path/to/your_credentials.json

これ以外には、環境変数GOOGLE_APPLICATION_CREDENTIALSを利用する方法があります。
今回は、コマンドで読み込む方法を実行します。

$ pypinfo --auth ./key/pypinfo-credentials.json
Credentials location set to "./key/pypinfo-credentials.json".

実行後、上記のように表示されれば読み込み成功です。
これにより、BigQuery APIを利用できるようになりました。

実際に利用してみましょう。

「Selenium」ライブラリのダウンロード状況を照会することにします。
実行した結果は、以下。

$ pypinfo selenium pyversion
Served from cache: False
Data processed: 952.92 MiB
Data billed: 953.00 MiB
Estimated cost: $0.01

| python_version | download_count |
| -------------- | -------------- |
| 3.9            |      2,847,739 |
| 3.8            |      2,771,601 |
| 3.7            |      2,168,372 |
| 3.6            |      1,004,240 |
| 3.10           |        521,663 |
| 2.7            |        302,308 |
| 3.5            |         37,388 |
| 3.4            |         14,892 |
| 3.11           |          2,462 |
| 3.3            |             22 |
| Total          |      9,670,687 |

「pyversion」を付けたことにより、Pythonバージョン毎のダウンロード数となっています。
この結果を見ると、Python 3.9でのダウンロード数が最大となります。

以上、pypinfoの動作確認を説明しました。

タイトルとURLをコピーしました