12 PEP 301: Indeks oraz metadane pakietów w Distutils

W Pythonie 2.3 po raz pierwszy pojawiła się obsługa oczekiwanego od dawna katalogu.

Sercem obsługi katalogu jest nowe polecenie Distutils o nazwie register. Wykonanie polecenia python setup.py register spowoduje zebranie metadanych opisujących pakiet, takich jak: nazwa, wersja, opiekun, opis, &c. i przesłanie ich do centralnego serwera katalogowego. Wynikową zawartość katalogu można przeglądać pod adresem http://www.python.org/pypi.

Aby katalog był nieco bardziej przydatny, do funkcji setup() w Distutils dodano nowy opcjonalny argument słownikowy classifiers (ang. klasyfikatory). Można poprzez niego przekazać listę napisów (w notacji używanej przez projekt Trove), pomagających zaklasyfikować oprogramowanie.

Poniżej podano przykładowy plik setup.py z klasyfikatorami, napisany w sposób, który zapewnia zgodność ze starszymi wersjami Distutils.

from distutils import core
kw = {'name': "Quixote",
      'version': "0.5.1",
      'description': "Platforma dla aplikacji webowych w Pythonie",
      # ...
      }

if (hasattr(core, 'setup_keywords') and 
    'classifiers' in core.setup_keywords):
    kw['classifiers'] = \
        ['Topic :: Internet :: WWW/HTTP :: Dynamic Content',
         'Environment :: No Input/Output (Daemon)',
         'Intended Audience :: Developers'],

core.setup(**kw)

Pełną listę klasyfikatorów można uzyskać, wykonując polecenie python setup.py register --list-classifiers.

Zobacz też:

PEP 301, Indeks oraz metadane pakietów w Distutils
Autor dokumentu PEP i implementacji: Richard Jones.

Zajrzyj do Informacji na temat tej publikacji... aby pomóc w jej rozwoju.