finished #trove section

This commit is contained in:
Mark Pilgrim
2009-07-30 01:29:56 -04:00
parent c8fde3ef78
commit 90e17cf660
+9 -20
View File
@@ -182,38 +182,27 @@ chardet/
<p>The Python Package Index (&#8220;PyPI&#8221;) contains thousands of Python libraries. Proper classification metadata will allow people to find yours more easily.
<p>The PyPI classification system is based on <a href=http://sourceforge.net/softwaremap/>SourceForce&#8217;s software map</a>. Classifiers are strings, but they are <em>not</em> freeform.
<ul>
<li><b>Development Status</b>. Is your software beta quality? Alpha quality? Pre-alpha?
<li><b>Environment</b>. FIXME (optional, multiples allowed)
<li><b>Framework</b>. Does your software rely on a larger Python framework like <a href=http://www.djangoproject.com/>Django</a> or <a href=http://www.zope.org/>Zope</a>? If not, you can omit this classifier.
<li><b>Intended Audience</b>. Who would download your software? End users looking for desktop software? System administrators? Scientists? Other Python developers?
<li><b>License</b>. FIXME (strongly recommended, probably just one unless your software is available under multiple licenses)
<li><b>Natural Language</b>. FIXME (optional, multiples allowed)
<li><b>Operating System</b>. FIXME (strongly recommended, multiples allowed)
<li><b>Programming Language</b>. FIXME (strongly recommended, multiples allowed and encouraged)
<li><b>Topic</b>. FIXME (recommended, multiples allowed and encouraged)
</ul>
<p>The <code>classifiers</code> parameter to the Distutils <code>setup()</code> function is a list of strings. These strings are <em>not</em> freeform. All of your classifier strings should come from <a href='http://pypi.python.org/pypi?:action=list_classifiers'>this master list on PyPI</a>.
<blockquote class=note>
<p><span class=u>&#x261E;</span>All of your classifiers should come from <a href='http://pypi.python.org/pypi?:action=list_classifiers'>this master list on PyPI</a>.
<p><span class=u>&#x261E;</span>The Python Package Index lets you <a href='http://pypi.python.org/pypi?:action=browse'>browse packages by classifier</a>. You can even select multiple classifiers to narrow your search. Classifiers are not invisible metadata that you can just ignore!
</blockquote>
<p>You should <em>always</em> include at least these four classifiers:
<ul>
<li><code>"Programming Language :: Python"</code> and <code>"Programming Language :: Python :: 3"</code>. If you do not include these, your package will not show up in <a href='http://pypi.python.org/pypi?:action=browse&c=533&show=all'>this list of Python 3-compatible libraries</a>, which linked from the sidebar of every single page of <code>pypi.python.org</code>.
<li><code>"License :: <i>whatever</i>"</code>. This is <em>the absolute first thing I look for</em> when I&#8217;m evaluating third-party libraries. Don&#8217;t make me hunt for this vital information. Don&#8217;t include more than one license classifier unless your software is explicitly available under multiple licenses (and don&#8217;t release software under multiple licenses unless you&#8217;re forced to do so).
<li><code>"Operating System :: <i>whatever</i>"</code>. If your software only runs on Windows (or Mac OS X, or Linux), I want to know sooner rather than later. If your software works anywhere without any platform-specific code, use the classifier <code>"Operating System :: OS Independent"</code>. Multiple classifiers are allowed.
<li><b>Programming Language</b>. In particular, you should include both <code>"Programming Language :: Python"</code> and <code>"Programming Language :: Python :: 3"</code>. If you do not include these, your package will not show up in <a href='http://pypi.python.org/pypi?:action=browse&c=533&show=all'>this list of Python 3-compatible libraries</a>, which linked from the sidebar of every single page of <code>pypi.python.org</code>.
<li><b>License</b>. This is <em>the absolute first thing I look for</em> when I&#8217;m evaluating third-party libraries. Don&#8217;t make me hunt for this vital information. Don&#8217;t include more than one license classifier unless your software is explicitly available under multiple licenses (and don&#8217;t release software under multiple licenses unless you&#8217;re forced to do so).
<li><b>Operating System</b>. If your software only runs on Windows (or Mac OS X, or Linux), I want to know sooner rather than later. If your software runs anywhere without any platform-specific code, use the classifier <code>"Operating System :: OS Independent"</code>. Multiple <code>Operating System</code> classifiers are only necessary if your software requires specific support for each platform. (This is not common.)
</ul>
<p>I <em>strongly</em> recommend that you also include the following classifications:
<ul>
<li><code>"Development Status :: <i>whatever</i>"</code>. Pick one. Be honest.
<li><code>"Intended Audience :: <i>whatever</i>"</code>. Pick one. The most common choices are <code>Developers</code>, <code>End Users/Desktop</code>, <code>Science/Research</code>, and <code>System Administrators</code>.
<li><code>"Topic :: <i>whatever</i>"</code>. There are <a href='http://pypi.python.org/pypi?:action=list_classifiers'>a large number of topics available</a>. Choose all that apply.
<li><b>Development Status</b>. Is your software beta quality? Alpha quality? Pre-alpha? Pick one. Be honest.
<li><b>Framework</b>. Does your software rely on a larger Python framework like <a href=http://www.djangoproject.com/>Django</a> or <a href=http://www.zope.org/>Zope</a>? If not, you can omit this classifier.
<li><b>Intended Audience</b>. Who would download your software? The most common choices are <code>Developers</code>, <code>End Users/Desktop</code>, <code>Science/Research</code>, and <code>System Administrators</code>. Pick one.
<li><b>Topic</b>. There are <a href='http://pypi.python.org/pypi?:action=list_classifiers'>a large number of topics to choose from</a>; choose all that apply.
</ul>
<h3 id=trove-examples>Examples of Good Package Classifiers</h3>