web-dev-qa-db-ja.com

__author__の起源は何ですか?

モジュール内で__author__のようなプライベートメタデータ変数を使用する規則はどこから来ていますか?

This Pythonメーリングリストのスレッドは、2001年にそれについての議論を示唆しているようですが、その音によって、コンベンションはすでに世の中に出回っていました。

それ以外は、 パッケージメタデータのこのPEP しか見つかりません。これは影響力があるように見えますが、せいぜい接線方向です。

私のドキュメンテーションツールがこれらのメタデータ変数を正常に解析できるように、主題に関するいくつかの明示的な資料を見つけてみたいと思います。

27
mvanveen

私の推測では、メタデータのパッケージ化が当時一般的ではなかった昔からです。 PEP 8では、__ version__トップレベル変数を使用して、使用中のバージョン管理システムのリビジョンIDを保持することをお勧めします。これは2001-05-01にさかのぼります。 PEP 396は、モジュール__version__属性でこれに取って代わります。

__author__については、この問題に関するpython devメーリングリストからの投稿があります。これは2001-03-01にさかのぼります。著者は__author__の使用について質問します: "次は何ですか?__ cute_signoff__ ? "。

PEPには言及がないため、__ author__について心配する必要はありません。とにかく、パッケージ化メタデータは私たちの友達です。

http://mail.python.org/pipermail/python-dev/2001-March/013328.html

これをチェックインしたばかりのPing:
 
>ログメッセージ:
> __ author__変数と__credits__変数を追加します。
> 
> 
>インデックス:tokenize.py 
> ================================== ================================= 
> RCSファイル:/ cvsroot/python/python/dist /src/Lib/tokenize.py,v 
>リビジョン1.19を取得
>リビジョン1.20を取得
> diff -C2 -r1.19 -r1.20 
 > *** tokenize.py 2001/03/01 04:27:19 1.19 
> --- tokenize.py 2001/03/01 13:56:40 1.20 
> *** ************ 
> *** 10,14 **** 
>コメント用のCOMMENTトークンを生成し、すべての演算子にタイプOPを提供します。 "" "
> 
>!__ version__ =" Ka-Ping Yee、1997年10月26日;パッチ適用済み、GvR 3/30/98 "
> 
>インポート文字列、re 
> --- 10,15 ---- 
>コメントを生成コメントのトークンであり、すべての演算子にタイプOPを与えます。 "" "
> 
>! __author__ = 'Ka-Ping Yee' 
>! __credits__ = '最初のバージョン、1997年10月26日;パッチ適用済み、GvR 3/30/98 '
> 
>インポート文字列、re 
 
 __ credits__変数が挿入されているのが少し不快です
ここに。まず第一に、__ credits__は、与えられた
情報を実際には説明していません。第二に、この情報はCVS 
の履歴に属していませんか?モジュールの履歴
のランダムな抽出をソースコードに含めるつもりはありません。これは、
日付が古くなる可能性が高いです。 (たとえば、CVSログから、私の貢献
が言及に値するのに、ティムの貢献が言及に値しない理由は明らかではありません。ティムはおそらく
私よりも多くの時間を費やしたようです。) 
 
不快感の原因は、この種のメタデータ変数の標準
がまったくないことです。私たちは__version__を持っています、そして私は
私たちがかつてそれに同意したと信じています(1994年かそこら:-)。しかし、__ author __?
 __ credits__?次は何ですか-__ cute_signoff __?
19
itsafire