電電のブログ

電電生だったひとのぼやき

Pythonのライブラリを整理するアプリPisortを公開した.

どうも電電です.

COVID-19の影響で家でゴロゴロしながら,これ書いてます.できるだけ早い収束を願います.


さて本題に入ります.
今回は新しいwebアプリ「Pisort」を公開しました.これは何をするアプリかというと,Pythonのライブラリを整理するための,アプリです.

Pythonのライブラリを使っていてこんな経験はないでしょうか?

f:id:denden_seven:20200405222913p:plain:w300
ライブラリがごちゃごちゃ

  • たくさんのライブラリが入っていて,見辛い.
  • 自作のものとライブラリと既存のライブラリが混ざってしまい大変.
  • ライブラリを二重,三重に扱っている.
  • 美しくない etc.etc...

特に複数人で使うものに関してはこういうものはできるだけ整理しておきたいですよね.

実はこれを整理する,isortというOSSが存在するんですが,これ結構使いにくいんです.
GitHub - timothycrosley/isort: A Python utility / library to sort imports.

何が使いにくいって,実はisort,ライブラリを導入していない時などは,有名なライブラリ(例えばnumpy)でも自作で作ったものとして判別されてしまい.ソートできても自作のライブラリと混ざってソートされてしまうんですよね.あとjuypter notebookを使ってる時などは,このisortを使うのがちょっと面倒なんですよね.

こういう時に便利なのが,webアプリ「Pisort」です.
Pisortを使えば,有名なライブラリを予め登録してあるので,pythonの標準ライブラリ(math, copy, randomなど),有名なライブラリ(numpy, pandasなど),自作のライブラリの3っつを分離した上でソートすることができます.これにより,よりきれいになるのです.

使い方としては,Pisortの上の方にある欄に並び替えたいライブラリを入力して,SORTボタンを押すだけです.

実際の画面です.

f:id:denden_seven:20200405221437j:plain:w300
整理前のコード(ライブラリの引用が重複していたり,順番が整理されていない)

上記の入力に対して,Pisortを使用すると

f:id:denden_seven:20200405221441j:plain:w300
Pisortを使った後のコード

ライブラリがPython標準のコード,有名ライブラリ,自作のライブラリの順序に並んだ上で,アルファベット順に並べ替えれました.あとはコピーして元のコードにコピーするだけです.重複のあったライブラリについても,重複が取り除かれます.


実際の動き


ということで,便利だと思った方は,Pisort使ってみてください!!

www.pisort.denden.app


今回のPisortは,いくつかのDocker fileを組み合わせて作っていますが,そのうちそれらの中身それぞれがどうなっているのかを紹介していこうと思います.


ほなまた〜.
電電