🦁

PyPIで最もダウンロードされているライブラリ一覧みてみた

に公開

今回はPyPIで最もインストールされているライブラリが何か急に気になったので調べてみました。小方言としては以下のサイトを参照してみました。

※ 今回参照したページの情報が必ずしも最新の情報とは限らないと思いますので、参考程度に見てもらえればと思います

https://pypistats.org/top

月間ダウンロード

1位 boto3

boto3はAWSのSDKであり、AWSユーザかつPythonユーザであれば基本的に利用するのではないでしょうか?ダウンロード数が1,183,978,863ということで他のライブラリと一線を画すようなインストール数になっています。

https://aws.amazon.com/jp/sdk-for-python/

2位 urllib3

urllib3はHTTPライブラリであり、Pythonを利用して外部API呼び出したりするようなHTTPを使用する際の選択肢としてはメジャーなのではないでしょうか。こちらはダウンロード数が909,231,781とboto3に比べると一桁違うとはいえ、かなりのダウンロード数です。

https://github.com/urllib3/urllib3

3位 botocore

botocoreは自分は使ったことがないのですが、low levelはboto3のデータドリブンな機能を提供しているとのことです。こちらのダウンロード数は875,633,934になっており、こちらも恐るべきダウンロード数です。

https://github.com/boto/botocore

4位 requests

requestsはurllib3と同様にHTTPを利用するためのものになります。私自身はurllib3よりはrequestsの方がよく利用します。とても使いやすいインターフェースが提供されているので個人的にはおすすめです。ちなみに依存関係としてrequests内部ではurllib3が使われているようです。ダウンロード数は820,012,899とのことです。

https://github.com/psf/requests

5位 certifi

certifiはMozillaのCAバンドルのPython用のパッケージということです。私自身特に使ったことはないんですが、SSL/TSLを扱う時に利用するんだと思います。ダウンロード数も809,854,013でトップ5はすごいダウンロード数です。

https://github.com/certifi/python-certifi

番外編

私が普段使っているライブラリで言うとnumpyがあります。numpyはランキングで言うと17位であり、ダウンロード数は506,720,086と言うことです。個人的にはトップ10には入っていると思っていたので驚きです。

週間ダウンロード

1位 boto3

こちらもboto3が優勝です(なんならデイリーランキングの1位もboto3ですw)。

2位 urllib3

こちらもurllib3が2位にランクインです(なんならデイリーランキングの2位もurllibですw)。上位は強すぎるようです。

3位 botocore

みなさんお待ちかね、こちらも3位は変わらずです。また、お待たせしました、デイリーランキングも3位になりますw。

4位 requests

もう安定ですね、こちらも4位はrequestsです。みなさん外部とのやりとりをするようなアプリケーションをとても造られているんだと推測します。

5位 typing-extensions

どうせこの流れだとcertifiだと思ったみなさん、私もですが騙されました。週間の結果、5位はtyping-extensionsです。Pythonには標準ライブラリとしてtypingがあり、型ヒントをつけるための機能を提供してくれます。typingで提供されるものはPythonのバージョン更新に伴い追加されていますが、まだtypingに含まれていない機能などを古いPythonでも使えるようにするための機能を提供していると言うことでうs。また、本体のライフサイクルに先行して提供してくれるようです。ちなみにこちらは週間で191,241,168のダウンロードがあるようです!上位のものは省略していますが、相当数のダウンロードがされていますね。

https://github.com/python/typing_extensions

デイリーダウンロード

デイリーについてはほとんど変わらないので、列挙でお許しください。

  1. boto3
  2. urllib3
  3. botocore
  4. typing-extensions
  5. requests

どの期間で見ても上位勢はほとんど変わらないと言うことで、みなさんWebアプリケーションの開発に勤しんでいるんだなと感じておりますw。

ちなみに、デイリーランキング20位(20位までしか表示されないですが、、、)にpydanticが入っています。pydanticはデータのバリデーションだったり強力な型を意識した開発をできたりするのでみなさん重宝されているのではないかと思いますが、ラインキング入りしています。20位ではあるものの15,207,144と言う多くのダウンロード数があります。これでも少ないように感じますが、とても便利なのでぜひみなさんも利用してください!

まとめ

今回はとあるサイトに挙げられているPyPIダウンロードランキングを眺めてみました。普段MLエンジニアをしている私からしたらnumpyだったりpandasだったりがとても上位に来てるんだろうなというふうに考えていましたが、少しランキングから外れていて落ち込みました。一方、どのようなライブラリがよく利用されているかわかったので、ビッグウェーブに乗り遅れないようにいろいろ試してみたいと思いました。

Discussion