Posted at

tweepy がメンテナンスされなくなった

More than 1 year has passed since last update.


はじめに

tweepy という Python のライブラリがあります。おそらく Python で Twitter API を叩いた経験がある人なら、一度はお世話になったことがあるかと思われます。私も Twitter の API を叩くときには常用していました。

かなりメジャーなライブラリだったのですが、10/18 に「もうメンテナンスをしない」という通知が README に追記されました。そのすぐ後にフォーラムも削除されました

突然の決定だった1ため、なぜそのような決定に至ったのか疑問に思う声も上がっています。

さて、メンテナンスされなくなったとなると、誰かがフォークしてそこで更新をしていくなどが起こらないと、これから先も予想される Twitter API の変更に対応しきれなくなると思われます。

したがって、そうなる前に何らかの手を打つ必要があります。


代替手段


requests-oauthlib

requests に OAuth 認証のライブラリを提供するライブラリです。これによって比較的楽に2 Twitter API を叩くことができます。

README のサンプルがそれなので、参考にすればだいたいできるかと思われます。

from requests_oauthlib import OAuth1Session

twitter = OAuth1Session('client_key',
client_secret='client_secret',
resource_owner_key='resource_owner_key',
resource_owner_secret='resource_owner_secret')
url = 'https://api.twitter.com/1/account/settings.json'
r = twitter.get(url)

上記のコードは README の引用です。ストリーミングは requests のドキュメントを参考にしてください。

欠点として、自前で JSON パースやファイルのアップロードなどを実装しなければならない、等があげられます。


python-twitter

Python 製の Twitter API ラッパです。

個人的にパスカルケースのメソッドがちょっとという感じですが、これは好みなので……。


twython

同じく Python 製の Twitter API ラッパです。関数名などが tweepy に近い気がします。

README にしっかり認証周りのことが書いてあるところが好感が持てます。


twitter

同じく。ですが、CLI をいくつか用意しているという点が他の API ラッパと異なります。

あと使用例が README にしっかり掲載されています。

関数の名前空間が公式のエンドポイントを意識したものになっているようです。


まとめ

今後どうなるか不明ですので、代替手段をいくつか考えておくとよさそうです。何があったんだ……。





  1. フォーラムで何かあった? 



  2. ここでは urllib を使うよりも楽ということを意味しています。