Python パッケージ開発チェックリスト
想定用途
- 新規ライブラリ立ち上げ時の抜け漏れ防止
- 公開/社内配布前の最終確認
プロンプト本文
md
# Pythonパッケージ・ライブラリ開発チェックリストプロンプト
## 1. パッケージ・ライブラリの設計
- 機能要件の明確化
- 提供する機能の特定
- 例: データ処理、機械学習、APIラッパー等
- ユースケースの検討
- 例: データクレンジング、モデル構築、外部サービスとの連携等
- アーキテクチャの設計
- モジュール構成の決定
- 例: データ入力、前処理、モデル、評価等のモジュールに分割
- クラス・関数の設計
- 例: データ構造を表現するクラス、処理を行う関数等
- APIの設計
- 公開するインターフェースの決定
- 例: 主要な機能を提供する関数、設定用のクラス等
- ドキュメンテーションの作成
- 例: README、API référence、サンプルコード等
## 2. コーディング
- コーディング規約の遵守
- PEP 8等の規約に沿ったコード記述
- 例: 適切なインデント、命名規則、コメント等
- ドキュメンテーションの追加
- docstringを使用した関数・クラスの説明
- 例: 引数、戻り値、機能の説明等
- テストコードの作成
- ユニットテストの実装
- 例: 個々の関数・クラスの動作を検証するテスト
- 統合テストの実装
- 例: 複数のモジュールを組み合わせた動作を検証するテスト
## 3. パッケージ化
- setup.pyの作成
- パッケージのメタデータ記述
- 例: パッケージ名、バージョン、作者、ライセンス等
- 依存関係の指定
- 例: 必要なPythonバージョン、外部ライブラリ等
## 4. メンテナンスと更新
- バグ修正とアップデート
- イシューの管理
- 例: GitHubのイシュートラッカーを使用した問題の追跡
- パッチリリースの提供
- 例: バグ修正のみを含むマイナーバージョンアップ
- 機能追加と改善
- 新機能の開発
- 例: ユーザーからの要望に基づく機能拡張
- マイナーバージョンアップ
- 例: 新機能を含むリリース
- ユーザーサポート
- ドキュメンテーションの充実化
- 例: よくある質問、トラブルシューティングガイド等の追加
- フィードバックの収集と対応
- 例: ユーザーからの質問・要望への回答、バグ報告への対処等使い方
- 設計段階で未決事項を洗い出す
- リリース前に再チェックする
- チーム標準の lint/test/release 手順を追記して使う
入力例
text
パッケージ名: acme-utils
目的: 社内共通ユーティリティの共通化
Python: 3.10+
配布: Private PyPI出力例
text
設計・実装・配布・保守までの確認項目一覧と未実施項目注意点
- ライセンス/配布方針は組織ルールに合わせる
- README とサンプルコードの動作確認を省略しない