Skip to content

Python パッケージ開発チェックリスト

想定用途

  • 新規ライブラリ立ち上げ時の抜け漏れ防止
  • 公開/社内配布前の最終確認

プロンプト本文

md
# Pythonパッケージ・ライブラリ開発チェックリストプロンプト

## 1. パッケージ・ライブラリの設計
- 機能要件の明確化
  - 提供する機能の特定
    - 例: データ処理、機械学習、APIラッパー等
  - ユースケースの検討
    - 例: データクレンジング、モデル構築、外部サービスとの連携等
- アーキテクチャの設計
  - モジュール構成の決定
    - 例: データ入力、前処理、モデル、評価等のモジュールに分割
  - クラス・関数の設計
    - 例: データ構造を表現するクラス、処理を行う関数等
- APIの設計
  - 公開するインターフェースの決定
    - 例: 主要な機能を提供する関数、設定用のクラス等
  - ドキュメンテーションの作成
    - 例: README、API référence、サンプルコード等

## 2. コーディング
- コーディング規約の遵守
  - PEP 8等の規約に沿ったコード記述
    - 例: 適切なインデント、命名規則、コメント等
- ドキュメンテーションの追加
  - docstringを使用した関数・クラスの説明
    - 例: 引数、戻り値、機能の説明等
- テストコードの作成
  - ユニットテストの実装
    - 例: 個々の関数・クラスの動作を検証するテスト
  - 統合テストの実装
    - 例: 複数のモジュールを組み合わせた動作を検証するテスト

## 3. パッケージ化
- setup.pyの作成
  - パッケージのメタデータ記述
    - 例: パッケージ名、バージョン、作者、ライセンス等
  - 依存関係の指定
    - 例: 必要なPythonバージョン、外部ライブラリ等

## 4. メンテナンスと更新
- バグ修正とアップデート
  - イシューの管理
    - 例: GitHubのイシュートラッカーを使用した問題の追跡
  - パッチリリースの提供
    - 例: バグ修正のみを含むマイナーバージョンアップ
- 機能追加と改善
  - 新機能の開発
    - 例: ユーザーからの要望に基づく機能拡張
  - マイナーバージョンアップ
    - 例: 新機能を含むリリース
- ユーザーサポート
  - ドキュメンテーションの充実化
    - 例: よくある質問、トラブルシューティングガイド等の追加
  - フィードバックの収集と対応
    - 例: ユーザーからの質問・要望への回答、バグ報告への対処等

使い方

  1. 設計段階で未決事項を洗い出す
  2. リリース前に再チェックする
  3. チーム標準の lint/test/release 手順を追記して使う

入力例

text
パッケージ名: acme-utils
目的: 社内共通ユーティリティの共通化
Python: 3.10+
配布: Private PyPI

出力例

text
設計・実装・配布・保守までの確認項目一覧と未実施項目

注意点

  • ライセンス/配布方針は組織ルールに合わせる
  • README とサンプルコードの動作確認を省略しない