2013-05-01 9 views
5

Ich möchte einige Metainformationen zu den Dokumentenstrings meiner Python-Module hinzufügen, z. B. Autor, E-Mail, Version. Gibt es einen kanonischen Weg, das zu tun? Ich habe eine ganze Weile gesucht, konnte aber hier und im Internet nichts mit bestimmter Autorität finden.Kanonischer Weg in Python zum Hinzufügen oder Abrufen von Metainformationen zu/von Docstrings?

PEP 426 -- Metadata for Python Software Packages 2.0 spricht darüber einiges. Und es sieht aus wie __author__, __version__ und einige andere werden von pydoc (V2.7) erkannt. Auch gibt es epydoc und sphinx-doc.

Gibt es eine Standardmethode, um solche Informationen in den Docstring aufzunehmen? Oder als globale Variablen? Wenn ja, gibt es eine Liste der akzeptierten Schlüsselwörter/Variablennamen?

Beispiel:

######### 
# Parts 
# <description> 
# 
"""Helper module for selling car parts on the web. 
    Author: Sue Baru 
    EMail: [email protected] 
    Version: 1.0 
""" 

aktualisieren

Das ist nicht wirklich eine Antwort, aber ich landete mit dem __author__ 'Keyword' und nichts anderes. Die Versionierung erfolgt durch Einchecken in ein Git Repo.

+0

Für die Liebe Gottes, verwenden Sie keine globalen Variablen :). –

+1

@BhavishAgarwal - Dinge wie '__version__' werden von * LOTS * von Paketen verwendet. Es ist nicht das Beste, aber ich glaube nicht, dass es viel besseres gibt. Es wird sogar in [PEP3001] (http://www.python.org/dev/peps/pep-3001/#unification-of-module-metadata) erwähnt. Letztendlich, wenn es um Docstrings geht, sind mir die verschiedenen Tools, die einer bestimmten Konvention folgen, nicht bewusst. – mgilson

+0

@mgilson, für den Mangel an Standard und unter der Annahme, dass dies für den internen Gebrauch ist, warum nicht diese Informationen als JSON String speichern? –

Antwort