220
274

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

LIFULLその3Advent Calendar 2018

Day 7

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

Last updated at Posted at 2018-12-31

この記事は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)やロギング処理で毎回定型文があるし、もう少し便利なライブラリが無いか(もしくはうまくラップする方法が無いか)探しています。

それではよいお年を!

220
274
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
220
274

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?