<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <link rel="STYLESHEET" href="whatsnew23.css" type='text/css' /> <link rel="SHORTCUT ICON" href="../icons/pyfav.gif" /> <link rel='start' href='../index.html' title='Python Documentation Index' /> <link rel="first" href="whatsnew23.html" title='What's New in Python 2.3' /> <link rel='contents' href='contents.html' title="Contents" /> <link rel='last' href='about.html' title='About this document...' /> <link rel='help' href='about.html' title='About this document...' /> <LINK rel="next" href="section-pep302.html"> <LINK rel="prev" href="node11.html"> <LINK rel="parent" href="whatsnew23.html"> <LINK rel="next" href="section-pep302.html"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta name='aesop' content='information' /> <META name="description" content="PEP 301: Package Index and Metadata for Distutils"> <META name="keywords" content="whatsnew23"> <META name="resource-type" content="document"> <META name="distribution" content="global"> <title>11 PEP 301: Package Index and Metadata for Distutils</title> </head> <body> <DIV CLASS="navigation"> <div id='top-navigation-panel'> <table align="center" width="100%" cellpadding="0" cellspacing="2"> <tr> <td class='online-navigation'><a rel="prev" title="10 PEP 293: Codec" href="node11.html"><img src='../icons/previous.png' border='0' height='32' alt='Previous Page' width='32' /></A></td> <td class='online-navigation'><a rel="parent" title="What's New in Python" href="whatsnew23.html"><img src='../icons/up.png' border='0' height='32' alt='Up One Level' width='32' /></A></td> <td class='online-navigation'><a rel="next" title="12 PEP 302: New" href="section-pep302.html"><img src='../icons/next.png' border='0' height='32' alt='Next Page' width='32' /></A></td> <td align="center" width="100%">What's New in Python 2.3</td> <td class='online-navigation'><a rel="contents" title="Table of Contents" href="contents.html"><img src='../icons/contents.png' border='0' height='32' alt='Contents' width='32' /></A></td> <td class='online-navigation'><img src='../icons/blank.png' border='0' height='32' alt='' width='32' /></td> <td class='online-navigation'><img src='../icons/blank.png' border='0' height='32' alt='' width='32' /></td> </tr></table> <div class='online-navigation'> <b class="navlabel">Previous:</b> <a class="sectref" rel="prev" href="node11.html">10 PEP 293: Codec</A> <b class="navlabel">Up:</b> <a class="sectref" rel="parent" href="whatsnew23.html">What's New in Python</A> <b class="navlabel">Next:</b> <a class="sectref" rel="next" href="section-pep302.html">12 PEP 302: New</A> </div> <hr /></div> </DIV> <!--End of Navigation Panel--> <H1><A NAME="SECTION0001200000000000000000"><!--x--></A><A NAME="section-pep301"><!--z--></A> <BR> 11 PEP 301: Package Index and Metadata for Distutils </H1> <P> Support for the long-requested Python catalog makes its first appearance in 2.3. <P> The heart of the catalog is the new Distutils <code>register</code> command. Running <code>python setup.py register</code> will collect the metadata describing a package, such as its name, version, maintainer, description, &c., and send it to a central catalog server. The resulting catalog is available from <a class="url" href="http://www.python.org/pypi">http://www.python.org/pypi</a>. <P> To make the catalog a bit more useful, a new optional <var>classifiers</var> keyword argument has been added to the Distutils <tt class="function">setup()</tt> function. A list of <a class="ulink" href="http://catb.org/~esr/trove/" >Trove</a>-style strings can be supplied to help classify the software. <P> Here's an example <span class="file">setup.py</span> with classifiers, written to be compatible with older versions of the Distutils: <P> <div class="verbatim"><pre> from distutils import core kw = {'name': "Quixote", 'version': "0.5.1", 'description': "A highly Pythonic Web application framework", # ... } 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) </pre></div> <P> The full list of classifiers can be obtained by running <code>python setup.py register --list-classifiers</code>. <P> <div class="seealso"> <p class="heading"><b>See Also:</b></p> <P> <dl compact class="seerfc"> <dt><a href="http://www.python.org/peps/pep-0301.html" title="Package Index and Metadata for Distutils" >PEP 301, <em>Package Index and Metadata for Distutils</em></a> <dd>Written and implemented by Richard Jones. </dl> <P> </div> <P> <DIV CLASS="navigation"> <div class='online-navigation'><hr /> <table align="center" width="100%" cellpadding="0" cellspacing="2"> <tr> <td class='online-navigation'><a rel="prev" title="10 PEP 293: Codec" rel="prev" title="10 PEP 293: Codec" href="node11.html"><img src='../icons/previous.png' border='0' height='32' alt='Previous Page' width='32' /></A></td> <td class='online-navigation'><a rel="parent" title="What's New in Python" rel="parent" title="What's New in Python" href="whatsnew23.html"><img src='../icons/up.png' border='0' height='32' alt='Up One Level' width='32' /></A></td> <td class='online-navigation'><a rel="next" title="12 PEP 302: New" rel="next" title="12 PEP 302: New" href="section-pep302.html"><img src='../icons/next.png' border='0' height='32' alt='Next Page' width='32' /></A></td> <td align="center" width="100%">What's New in Python 2.3</td> <td class='online-navigation'><a rel="contents" title="Table of Contents" rel="contents" title="Table of Contents" href="contents.html"><img src='../icons/contents.png' border='0' height='32' alt='Contents' width='32' /></A></td> <td class='online-navigation'><img src='../icons/blank.png' border='0' height='32' alt='' width='32' /></td> <td class='online-navigation'><img src='../icons/blank.png' border='0' height='32' alt='' width='32' /></td> </tr></table> <div class='online-navigation'> <b class="navlabel">Previous:</b> <a class="sectref" rel="prev" href="node11.html">10 PEP 293: Codec</A> <b class="navlabel">Up:</b> <a class="sectref" rel="parent" href="whatsnew23.html">What's New in Python</A> <b class="navlabel">Next:</b> <a class="sectref" rel="next" href="section-pep302.html">12 PEP 302: New</A> </div> </div> <hr /> <span class="release-info">Release 1.00.</span> </DIV> <!--End of Navigation Panel--> <ADDRESS> See <i><a href="about.html">About this document...</a></i> for information on suggesting changes. </ADDRESS> </BODY> </HTML>