このBlogは移転しました。今後は aish.dev を御覧ください。

Python3用パッケージってどのぐらい増えただろ?

Python3を使ってても、PyPIのパッケージがPython3対応かどうか、あんまり心配しなくなった気がする今日このごろです。

体感的にはPython3であまり不自由はない感じになってきたが、実際問題、どの程度Python3対応が進んでいるのか、気になったので簡単に調べてみた。

PyPIの情報は xmlrpcインターフェース で簡単に取得できる。あまり速くないので、全件取得するとかなり時間がかかるが。。。

最新パッケージの情報を取得し、Programming Language として Python 3 を明記しているパッケージの件数をカウントした。もちろん、メタ情報を記述していないパッケージもあるので誤差はあるが、それほど多くはないだろう。

で、2016年6月18日時点でダウンロード可能なパッケージ数は 70524件。そのうち、Python 3 と明示的に表記しているパッケージは。。。

19182件

だった。

全体の約27%。四分の一といったところだ。まだまだPython2の遺産は大きい。

ここで気になるのは、Python3用にリリースされるパッケージは、現在でもPython2用よりもずっと少ないのだろうか?という点だ。

Python2と3の差はこのまま拡大し続けるのだろうか?それともPython3用パッケージのリリースが順調に増えていくのだろうか?

現在のPythonエコシステムは以前に比べて成熟しており、いわゆる「定番」が決まってきている。昔のように、似たようなライブラリが乱立するということも少なくなっている気もしていて、そうなると、新規に公開されるパッケージの数は減ってくるのかもしれない。単純に数だけの比較にこだわってもしかたがないが、目安の一つにはなるだろう。

というわけで、現在ダウンロード可能な全パッケージの最新更新日と、Python3対応状況をグラフにしてみた。

f:id:atsuoishimoto:20160719152844p:plain

活動が活発なパッケージでは、Python3対応がどんどん増えている様子が見て取れる。

現在の最新版が2016年5月1日以降に更新されているパッケージは 8582件。このうち、Python3対応パッケージは 3868件で、約45%となる。現在では、PyPIにリリースされるパッケージの約半数は Python3対応ということだ。

Python3対応のパッケージが全体の半数を超えるには、まだあと数年は必要だろうか。

にもあるように、今がいろいろな点でPythonPython2と3の切り替えが目に見えていくポイントなのではないかと思う。