2週続けてKotlin系のプロジェクトをやったので、今週は趣旨を変えてPythonのモジュール(ライブラリ?)を作成しました。

GitHubはこちら▼

nabeen/gdwrap: This is a wrapper library for Google Drive REST API

PyPIにも登録したので、pipでもインストール可能です。

$ pip install gdwrap

gdwrapは、Google Drive REST APIをより簡単に使う為のラッパーライブラリです。詳しくはGitHub内、README.mdをご参照ください。

Idea

弊社では、Google Apps(今は言い方違うかも)を使っているので、「それなりに」Google Driveでファイル共有…というシチュエーションがあります。

以前、とある業務をツール化するにあたり、以下のSTEPを踏むツールを書きました。

  • Google Driveからファイル(Excel)を取得
  • 取得したExcelから必要なデータを抜き出してCSVに固める
  • 固めたCSVをGoogle Driveで共有する

ここまでなら「別にドライブ経由じゃなくて良くね?」となるんですが、作業の属人化を防ぎたかった(ローカルに環境作りたくないと言われたorz)のでChatOps化の為にGoogle Drive経由の方法を選択しています。

ところがいざ実装してみると、Google Drive REST APIって地味に使うのが面倒くさいことが判明。

ライトに使いたかっただけなのに、面倒くさい実装が必要となるとちょっと二の足を踏んでしまいます(まぁ当時はそれでも実装したんですが)。

なので、Google Drive REST APIをライトに使えるように、今回gdwrapを書き上げるに至りました。

What went right

PEP8のドキュメントにサラサラっと目を通した

とある時期にPython書きたい欲がものすごく高まった時期があって、新規で実装するツール系をPythonで書いていた時期がありました。

ただ、当時は、「公開するわけでもない」「そんなに寿命が長いツールでもない」という思いから、コーディング規約についてはほぼガン無視して書いてたんですよね(お恥ずかしながら。

ただ今回公開するに辺り、必要最低限のコーディング規約はサラサラっと見たので、「全然知らね」から「あーそれね」くらいにはなった感じはあります。まぁしばらく書かないとすぐ忘れそうですが。

お初のPyPI登録で経験値ザクザク

今回初めてPyPIに登録したわけですが、何気にこういうの初めてだったりします。エンジニア歴約5年、初めてのOSS公開!的なやつです。おめでとうございますありがとうございます。

PHPerなんですが、Composerに登録した経験もなし…(*´σー`)エヘヘ

ということで、今回PyPIに登録ってどうすんねんーってのもそうですが、PyPI?ああ、あれねー、公開してるよー的なデキる系のエンジニアにステップアップした気がします(気のせい。

ともあれ公開前提でコードを作ると、普段はえいやで書くようなものもちゃんと考えるようになるので、基本全てOSSにする気でコーディングするってのは、なかなかいい経験値になる気がします。

What went wrong

テストまだ書いてません

これに尽きますね。まぁ個人プロジェクトではほぼ書いたこと無いんですが…。

あとはPython的な書き方はまだまだだし、言語レベルの機能もサッパリなので、その辺の知識は深めていきたいなーと。Pythonは機械学習にも使えますし、機械学習に使えるってことは自動売買で5000兆円うぇーいの夢がありますしね。

What I learned

既出ですが、箇条書きとしてまとめます。

  • Pythonのコーディング規約について多少は学んだ
  • 初めてPyPIに登録してライブラリの作り方/公開の仕方を学べた
  • 業務に関連するモノを公開前提で書くのはコスパが非常によい

PyPI、公開直後はTOPページの新着に出てきてうぇーいってなったけど、ものの数時間で見えなくなった。みんな登録しすぎワロタww

参考サイト

以下のサイトを参考にさせていただきました。ありがとうございます。