書捨てPythonスクリプト用のバージョン管理テンプレートを作ってみた

Pythonで書捨てのスクリプトを単体でバージョン管理する必要が出てきた際に、仮想環境やテスト等で必要なファイルを最低限カバーする目的のテンプレートセットを作成してみました。
2018.11.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

書捨てのスクリプトをその後も用いるために管理する場合、該当スクリプトだけのリポジトリを用意する選択を取ると、作成及び管理に纏わる負担が問題になってきます。

今回は、書き捨てるつもりだったPythonスクリプトを管理する際に、当該スクリプトだけのリポジトリを作成する前提で、初期設定の負担を下げることを目的とした追加テンプレートを作ってみました。

注意事項

管理したいスクリプトを何らかのフォルダに入れていることが前提です。また、都合上

  • tmp.zipファイル
  • python-git-manage-template-masterフォルダ

の2つが存在するとうまく動きません。

内容構成

以下の内容を含んでいます。

  • .gitignore
  • tox.ini
  • setup.py
  • Pipfile
  • Pipfile.lock
  • .circleci/

.gitignore はgithubにてリポジトリ作成時にPythonを指定した際の内容となっています。

セットアップ

以下のコマンドをフォルダ内で実行します。git-init-templateリポジトリからzip形式にてダウンロードし、解凍した内容をフォルダに収めます。

% wget -qO- -O tmp.zip https://codeload.github.com/haoyayoi/python-git-manage-template/zip/master \
 && unzip tmp.zip \
 && rm tmp.zip \
 && mv python-git-manage-template-master/* . \
 && mv python-git-manage-template-master/.* . \
 && rm -rf python-git-manage-template-master

念の為git-initは実行していません。必要に応じて実行してください。

仮想環境化

初期はpipenvにてPython3前提にしています。

% pipenv install --dev

テスト

toxにて実行します。初期はflake8によるチェックのみとなっているため、必要に応じてテストを追加してください。

% pipenv run tox

CircleCI

初期状態でflake8のテスト通過且つワークフローが成功することを確認しています。

まとめ

必要最低限ですが、大体対応を行ったつもりです。他にも何らかの追加を行う場合は随時リポジトリ側を更新していきます。
haoyayoi/python-git-manage-template