Lo script di setup può includere ulteriori meta-data, oltre al nome e la versione. Queste informazioni includono:
Meta-Data | Descrizione | Valore | Note |
---|---|---|---|
name |
nome del package | breve stringa | (1) |
version |
versione di questa release | breve stringa | (1)(2) |
author |
nome dell'autore del package | breve stringa | (3) |
author_email |
indirizzo email dell'autore del package | indirizzo email | (3) |
maintainer |
il nome del manutentore del package | breve stringa | (3) |
maintainer_email |
indirizzo email del manutentore del package | indirizzo email | (3) |
url |
home page per il package | URL | (1) |
description |
breve, sommaria descrizione del package | breve stringa | |
long_description |
descrizione estesa del package | stringa lunga | |
download_url |
indirizzo da cui poter scaricare il package | URL | (4) |
classifiers |
una lista di classificatori Trove | lista di stringhe | (4) |
Note:
Nessuno dei valori stringa deve essere in Unicode.
La codifica delle informazioni sulla versione è un'arte essa stessa. I package Python generalmente sono conformi al formato di versione major.minor[.patch][sub]. Il numero maggiore è 0 per la release iniziale e sperimentale del software. Viene incrementato per rilasci che rappresentano un punto importante di svolta del package. Il numero minore viene incrementato quando importanti, nuovi aggiornamenti vengono aggiunti al package. Il numero di patch aumenta quando vengono rilasciati dei bug-fix. Elementi aggiuntivi per informazioni varie sulle versioni vengono talvolta usati per rappresentare sottoversioni. Queste vengono solitamente denominate "a1, a2,...,aN) (per versioni alpha, dove funzionalità e API possono cambiare), "b1,b2,...,bN) (per versioni beta, che sono solamente dei bug-fix) e "pr1,pr2,...,prN" (per versioni di testing di pre-release della versione finale). Alcuni esempi:
I classifiers vengono specificati in una lista 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', ], )
Se si vuole includere dei classificatori nel proprio file setup.py e si desidera anche restare compatibili all'indietro con le precedenti versioni di Python (prima della 2.2.3), si può includere il seguente frammento di codice nel proprio setup.py prima della chiamata 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
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.