Help us understand the problem. What is going on with this article?

ワイが個人的に便利だと思っていてよく使っているPythonライブラリ(pip)たち

More than 1 year has passed since last update.

この記事はLIFULL その3 Advent Calendar 2018の7日目の記事とされている恐れがあります

謝罪

会社の後輩の記事をパクりました。

ワイが個人的に便利だと思っていてよく使っているJavaScriptモジュール(npm)たち

ここから本題

ここ1年の中で :star: しまくったgithubリポジトリを年末調整すると同時に、
使っていて個人的に便利だなと思っているものを簡単に紹介しようと思います。

モジュール

Poetry

仮想環境の管理から、ライブラリの公開までやってくれる便利な開発ツール
正直、これを紹介するためだけにこの記事を書きました
BeProud Advent Calender 2018の『Poetryを使ったPythonパッケージ開発からPyPI公開まで』という記事も読んでください

Pipenv

依存ライブラリの管理や仮想(venv)環境も作ってくれる便利なツール
ただ、Poetryがあれば正直必要ない説も出てきてしまった
pyenvでバージョン切り替えてくれる機能は地味に便利

tqdm

超長いループの進捗を表示してくれるやつ
jupyter上ではtqdm_notebookを使うので注意

joblib

いい感じにマルチプロセス/マルチスレッドの処理を実行してくれるライブラリ
地味にロギング処理とかもついてる

pyppeteer

Pythonで動くヘッドレスなChromeです
元記事にもあったpuppeteerのポート
ただ、Pythonのasync関数は慣れず、Selenium使ったほうが楽説ある

kennethreitz/requests

HTTPクライアント
スタンダードすぎてPython公式のurllibのドキュメントでもおすすめされてる

kennethreitz/requests-html

クローリングするときに便利なライブラリ
簡単なものは今までrequests + BeautifulSoupを使って実装していたが、それらより使い勝手いい

便利なツールしか作れない開発者、kennethreitz

Flask

シンプルなWEBアプリケーションフレームワーク
WEB APIを作るときによく使ってる

click

デコレータでCLIを簡単に作れるライブラリ

retry

デコレータでretry機能をつけてくれるライブラリ
Pythonで例外処理を気合い入れて書こうとすると、どんどんネストしていってしまいがちなので

jupyter notebook

ブラウザ上でPythonコードを可視化してくれるやつ

pandas

データ分析用のデータフレームを作るライブラリ
Excelから読み書きできるのが地味に便利
個人的にR言語のdplyr/tidyrのほうが好きで、ちょっとした分析ならRStudioを立ち上げてしまうのは内緒

matplotlib

「もっと楽なグラフツールあるんじゃないか」って思いつつ、5年くらい使い続けている

pytest

Pythonのテストツール

pytest-mock

pytestにmockの機能を追加するモジュール
実体は unittest.mock とかをラップしてるだけだが、個人的にお気に入り

pylint

Lintツール
毎回ignore設定されるE501

tox

ライブラリ作るときに複数バージョンのテストが必要になるとき便利
あとpylintとかの設定も管理・実行できるので良い

読み物系リポジトリ(?)

awesome-python

Pythonのワオなライブラリまとめ

Python チュートリアル

Python書く前に読んでおいた方が良さそうなことしか書いてないのでおすすめ
もはやリポジトリでもなんでもない

kennethreitz

requestsやPipenvなどの作者
API設計がきれいなので見ておくといい
Webフレームワークの「responder」とかも、この記事で気になってるもののまだ試していない

最後に

いかがでしたでしょうか。

個人的には、Pythonはライブラリに恵まれているのもあって、割と簡単に必要なプログラムが実装できます。ただ、非同期処理(async/await)やロギング処理で毎回定型文があるし、もう少し便利なライブラリが無いか(もしくはうまくラップする方法が無いか)探しています。

それではよいお年を!

ninomiyt
株式会社LIFULLの愉快なPythonistaです
https://medium.com/@ninomiyt
lifull
日本最大級の不動産・住宅情報サイト「LIFULL HOME'S」を始め、人々の生活に寄り添う様々な情報サービス事業を展開しています。
https://lifull.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away