setup スクリプトには、名前やバージョンにとどまらず、その他の メタデータを含められます。以下のような情報を含められます:
メタデータ | 説明 | 値 | 注記 |
---|---|---|---|
name |
パッケージの名前 | 短い文字列 | (1) |
version |
リリースのバージョン | 短い文字列 | (1)(2) |
author |
パッケージ作者の名前 | 短い文字列 | (3) |
author_email |
パッケージ作者の電子メールアドレス | 電子メールアドレス | (3) |
maintainer |
パッケージメンテナンス担当者の名前 | 短い文字列 | (3) |
maintainer_email |
パッケージメンテナンス担当者の 電子メールアドレス | 電子メールアドレス | (3) |
url |
パッケージのホームページ | URL | (1) |
description |
パッケージについての簡潔な概要説明 | 短い文字列 | |
long_description |
パッケージについての詳細な説明 | 長い文字列 | |
download_url |
パッケージをダウンロードできる場所 | URL | (4) |
classifiers |
Trove 分類語 | 文字列からなるリスト | (4) |
注記:
これらの文字列はいずれも Unicode であってはなりません。
バージョン情報のコード化は、それ自体が一つのアートです。 Python のパッケージは一般的に、 major.minor[.patch][sub] という バージョン表記に従います。 メジャー (major) 番号は最初は 0 で、これはソフトウェアが実験的リリース にあることを示します。メジャー番号は、パッケージが主要な開発目標を 達成したとき、それを示すために加算されてゆきます。マイナー (minor) 番号は、パッケージに重要な新機能が追加されたときに加算されてゆきます。 パッチ (patch) 番号は、バグフィクス版のリリースが作成されたときに 加算されます。末尾にバージョン情報が追加され、サブリリースを示す こともあります。これは "a1,a2,...,aN" (アルファリリースの場合で、 機能や API が変更されているとき)、 "b1,b2,...,bN" (ベータリリース の場合で、バグフィクスのみのとき) 、そして "pr1,pr2,...,prN" (プレリリースの最終段階で、リリーステストのとき) になります。 以下に例を示します:
classifiers は、 Python のリスト型で指定します:
setup(... classifiers=[ 'Development Status :: 4 - Beta', 'Environment :: Console', 'Environment :: Web Environment', 'Intended Audience :: End Users/Desktop', 'Intended Audience :: Developers', 'Intended Audience :: System Administrators', 'License :: OSI Approved :: Python Software Foundation License', 'Operating System :: MacOS :: MacOS X', 'Operating System :: Microsoft :: Windows', 'Operating System :: POSIX', 'Programming Language :: Python', 'Topic :: Communications :: Email', 'Topic :: Office/Business', 'Topic :: Software Development :: Bug Tracking', ], )
setup.py に classifiers を入れておき、なおかつ 2.2.3 よりも以前のバージョンの Python と後方互換性を保ちたいなら、 setup.py 中で setup() を呼び出す前に、以下のコードを 入れます。
# patch distutils if it can't cope with the "classifiers" or # "download_url" keywords if sys.version < '2.2.3': from distutils.dist import DistributionMetadata DistributionMetadata.classifiers = None DistributionMetadata.download_url = None
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。