django-debug-toobar-vcs-info
Djangoにはdjango-debug-toolbarというプラグインがあります。
このプラグインを導入すると、プロファイリングを行ったり、利用されているライブラリのバージョンを表示したりといった、デバッグに必要な情報を簡単にサービス上に表示することができます。
現在、Djangoで運用しているサービスがあるのですが、本番で現在のGitリビジョンを確認したいという需要があったので、このdjango-debug-toolbarの拡張として、以下のような物を作りました。
django-debug-toolbar-vcs-infoはdjango-debug-toolbarにGitなどのバージョン管理システムの現在の状態を表示するパネルを追加するプラグインです。
このプラグインを導入すると、以下のように現在のHEADのハッシュやコミットログを確認することができます。これを本番環境に導入しておくと結構便利です。
非常に需要の少ないモノですが、簡単に導入できますし、入れておいて損はないので、Djangoでサービスを運用している方は是非使ってみてください。
vcs-info
という名前ですが、現状、gitにしか対応していないので、Mercurial対応などのPRお待ちしています。
作ってみて
そもそも、作ってみた動機として「PyPIにしっかりテストしたパッケージをホストしたい」という気概がありました。
PyPIにパッケージを登録するのは、3~4年前に一度挑戦したことがあったのですが、全くテストがされていなくて、使いやすい物になっていなかったので、今回はガッチリとテストをしてみました。
toxを利用し、Django1.7から1.9に対応させたり、Python2, 3に両対応させたり、カバレッジを計測したり、しっかりモックテストを書いたりと言った知見が溜まりましたし、そういう意味で小さなプラグインを作ってみるのは良いと思います。
今回のような複数のPython, Djangoのバージョンに対応させたテスト手法について、Python Advent Calendar 2015の記事として投稿していますので、ご興味のある方はこちらも併せてご覧ください。