Pythonのよくダウンロードされるライブラリの紹介
Pythonでは、サードパーティのライブラリはPyPI(Python Package Index)に登録されるのが主です。
ライブラリをダウンロードする際も、このPyPIからダウンロードするのが基本となります。
ダウンロードの方法は簡単で、
pip install library-name
のように入力します。これだけで、PyPIに登録されているライブラリがインストールされます。
こちらのサイトでは、PyPIに登録され、ダウンロードの多いライブラリを表示しています。
今回はこのサイトに表示されたライブラリの中から、いくつかピックアップしていきます。
simplejson
Simple, fast, extensible JSON encoder/decoder for Python
simplejsonは標準ライブラリのjsonと同じように扱うことができますが、頻繁にアップデートされている点やパフォーマンス面からも「simplejson」は人気のようです。
以下のように使用すると、simplejsonがあればsimplejson、なければ標準ライブラリのjsonを使うことができます。jsonを扱うPythonプログラムでは、よく見かける書き方です。
try: import simplejson as json except ImportError: import json
six
Python 2 and 3 compatibility utilities
このsixは、Python2とPython3の間の違いを吸収してくれます。
Pythonのバージョンが2から3へあがった際、後方互換性のない大きな変更がいくつかありました。
今はPython3が主流ではありますが、それでもPython2で動くプログラムを作成しなければならないケースも未だ存在します。そのような場合に、このsixは威力を発揮するでしょう。
また、sixはPythonファイル1つだけで構成されており、自分のプロジェクトへコピーすることも簡単です。ですので、このプログラムを配布する際に相手がsixをインストール済みか?といった些細なことも気にする必要はありません。
requests
Python HTTP for Humans.
直訳すると「人間のためのPython HTTP」となります。その名の通り、PythonでHTTPを扱う際に使用するライブラリです。
以前に紹介させていただいたライブラリです。
プログラムからHTTPでサーバとやり取りをする、という機会は意外に存在します。
Pythonに標準で付属されたHTTPライブラリよりも簡単に扱えることができ、非常に便利です。
python-dateutil
Extensions to the standard python 3.0+ datetime module
Pythonで日時を扱う際によく使うのは、標準ライブラリの「datetime」モジュールです。
python-dateutilは、そのdatetimeモジュールを更に拡張したライブラリとなります。
日時の相対的な計算…月末の週の算出や、Timezoneへの対応などが便利が簡単に行えます。
boto
Amazon Web Services Library
Amazon Web Servicesを操作するためのライブラリです。
AWSをよく触るという方ならば、ぜひ入れておきましょう。
PyYAML
YAML parser and emitter for Python
JSON、XMLと並んでよく利用されるのがYAMLというデータです。
YAMLはJSON、XMLに比べると見やすいのですが、それでもライブラリを使うほうが簡単です。
このPyYAMLを使うことで、読み込みと書き込みを簡単に行えます。
Jinja2
A small but fast and easy to use stand-alone template engine written in pure python.
Webアプリの開発で頻繁に使用されるテンプレートエンジンですが、Jinja2はその中で最も人気のあるライブラリの1つです。
FlaskやBottleといったWebフレームワークでよく使用されています。
nose
nose extends unittest to make testing easier
ユニットテストフレームワークです。
assert文等での単体テストが面倒になってきたら、このnoseを使用してみましょう。
colorama
Cross-platform colored terminal text.
colored terminal textのとおり、標準出力に色付けすることができます。
これを導入すると開発がすごく捗る、というものではないのですが、単純にお洒落でカッコいいでしょう。
print()等で標準出力に文字列を表示する、ということは頻繁に行いますので、目が疲れてきた方には特にお勧めです。
coverage
Code coverage measurement for Python
カバレッジはテストでよく出てくる単語です。
ざっくり説明すると、そのプログラムをどれぐらいテストしたか?テストのし忘れた部分はないか?と言ったことが数値化して確認ができます。
このcoverageはnose等と一緒に使われることが多いようです。
以上、よくダウンロードされている10個のライブラリをピックアップし、紹介しました。