Flask の Extension の Python3 対応状況
Flask がめでたく Python3.3 をサポートしたので、Flask に依存している Flask-Extension の Python3 対応状況が気になったので調べてみた。
#!/usr/bin/env python # -*- coding: utf-8 -*- import pprint import requests from bs4 import BeautifulSoup PYPI = 'https://pypi.python.org{0}' list_page = requests.get(PYPI.format('/pypi?%3Aaction=search&term=flask&submit=search')) soup = BeautifulSoup(list_page.content) items = soup.find_all( lambda tag: tag.name == 'td' and tag.find('a') != None ) urls = [v.contents[0].get('href') for v in items] results = [] for url in urls: r = requests.get(PYPI.format(url)) package_page = BeautifulSoup(r.content) logo = package_page.find_all(id='logo')[0].get('src') if logo == '/python-3.png': results.append(url) pprint.pprint(results)
PyPi の検索で Flask と入力して出てきた結果一覧のリンクの中で Python3 のロゴが出ているものだけを抽出した。
# PyPi にあまり負荷をかけたくないから直列でアクセスしている
# そのため遅い
['/pypi/Flask/0.10.1', '/pypi/Flask-BasicAuth/0.2.0', '/pypi/Flask-Classy/0.6.3', '/pypi/Flask-MakeStatic/0.2.0', '/pypi/mixer/0.5.0', '/pypi/errormator-client/0.5.12', '/pypi/mimerender/0.5.3', '/pypi/python-social-auth/0.1.7', '/pypi/Tornado-Restless/0.1.0', '/pypi/Attest/0.5.3', '/pypi/Attest-latest/0.6.1dev-20130603', '/pypi/bootstrapper/0.1.5', '/pypi/celery/3.0.19', '/pypi/cookies/1.2.1', '/pypi/crochet/0.7.0', '/pypi/disco-dop/0.2', '/pypi/err/2.0.0-beta', '/pypi/Gears/0.6', '/pypi/healthy/0.1.2', '/pypi/meinheld/0.5.5', '/pypi/natrix/0.0.1', '/pypi/py3support/0.1.1', '/pypi/pyforms/0.1', '/pypi/pyramid_debugtoolbar/1.0.6', '/pypi/pyrc/0.6.4', '/pypi/raven/3.3.7', '/pypi/statsd-client/1.0.4', '/pypi/Tornado-Backbone/0.1.0', '/pypi/url_shortener/0.5.18', '/pypi/WSME/0.5b2']
直接 Flask と関係ないものも入ってるけど…。
Flask が Python3 対応をちゃんとリリースしてからまだ日が浅いのでしばらくしたら対応されるかと思う。