読者です 読者をやめる 読者になる 読者になる

c-bata web

@c_bata_ のメモ。python多め

Released Kobin v0.1.0: Web Framework for Python3.

Python つくったもの

少し開発が停滞気味だったのですが、最近多くのアップデートを加えたので、v0.1.0をリリースしました。それに伴い、WSGIミドルウェアやWSGICLIの開発、ドキュメントの整備を行ったので紹介。

github.com

Kobin

Kobinの説明や使い方は、ドキュメンテーションを書いたのでここでは省略します。

また実際に自分でKobinとSQLAlchemy、Angular2などを使って、サンプルのアプリケーションを書いているので、とりあえず雰囲気を知りたい方はそちらをご覧ください。

Kobin Example Demo

WSGICLI

このツールはKobinに限らず、BottleやFlaskといった他のフレームワークでも利用出来ます。 Kobinはまだまだ開発途中な点もありますが、WSGICLIはもう十分に便利なツールかと思っているので、ぜひ使ってみてください。

簡単な使い方の例をいくつか紹介します。

ISUCONでPython実装をプロファイリング

このツールはLine Profiler連携とLive Reload機能のおかげで、ISUCONの問題を解くときにかなり便利なツールになったかなと個人的に思っています。

$ wsgicli run app.py app -h 0.0.0.0 -p 9000 --reload --lineprof

これを起動しておくと、手元のマシンでコードを変更・git pushして、git pullするだけで反映されます。 今はlineprofilerのみサポートしていますが、vmprofも追加予定です。

wsgicli profiling and live reloading

run コマンドには他にも、静的ファイルの配信機能や、WSGIの仕様(PEP3333)に準拠しているかチェックするミドルウェアフレームワークの開発に便利な機能があります。

wsgicli shellコマンド

django-extensionsのshell_plusをSQLAlchemyやpeeweeでも使用出来るようにしたような機能です。 Pythonの対話シェルを起動して、peeweeやSQLAlchemyのModelクラスをインポートしてゴニョゴニョすることがありますが、wsgicliのshellコマンドを使用すると起動時に自動でモデル定義を探索してimportしてくれます。

$ wsgicli shell app.py -i ipython

wsgicli shell

サポートしているPythonインタプリタは次のものです。

  • Python(Plain)
  • iPython
  • bpython
  • ptpython
  • ptipython

その他

その他にもlinebotのサンプルやWSGIミドルウェアを作っているので、ぜひご覧ください。

kobinpy · GitHub

kobin-linebot

WebフレームワークといくつかのWSGIミドルウェアwsgicli、サンプルアプリ、日英ドキュメントを全て1人で用意するのは思っていたよりも体力と時間が必要みたいです。 tomcriestieさんとか見てるとすごい勢いで開発していて焦りますね。 時間は思っていたよりも少ないみたいなので、2017年はもっとスピードを上げて沢山のコード書いていきたい。

実践 Python 3

実践 Python 3