Differences between revisions 11 and 12
Revision 11 as of 2014-04-17 10:21:38
Size: 1805
Editor: techtonik
Comment:
Revision 12 as of 2014-04-17 10:22:08
Size: 1578
Editor: techtonik
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:

This page is about development of [[http://pypi.python.org|Python Package Index]] (formerly known as Cheeseshop):

 * info: CheeseShop
 * apis: [[PyPIJSON|JSON]], [[PyPIXmlRpc|XMLRPC]]

= Developing the Package Index =

PyPI APIs: JSON, XMLRPC.

You can access JSON information about packages by using the URL format

  • http://pypi.python.org/pypi/<package_name>/json

This retrieves information about the latest stable release (using PEP 386 ordering, falling back on older distutils ordering where packages are not PEP 386 compliant.) If you wish to retrieve information about a specific release you may use

  • http://pypi.python.org/pypi/<package_name>/<version>/json

You can use this to automatically generate a link to the latest release of your package with (assuming use of jQuery):

<span id="release_info" class="note">Download:
  <a href="http://pypi.python.org/pypi/roundup">latest</a></span>
<script type="text/javascript">
 $.getJSON('http://pypi.python.org/pypi/roundup/json?callback=?', function(data) {
     h = 'Download: ' + data.info.version;
     for (var i=0, url; url=data.urls[i]; ++i) {
       h += '<br><a href="' + url.url + '">' + url.filename + '</a>';
     }
     $('#release_info').html(h);
 });
</script>

Sphinx has support for putting an up-to-date Download link in your website using that JSON with one simple directive, for example (for the "roundup" package):

.. pypi-release:: Roundup
   :prefix: Download
   :class: note

See the sphinxcontrib-cheeseshop project documentation for more information.

PyPIJSON (last edited 2020-08-31 15:40:46 by JoshCooley)

Unable to edit the page? See the FrontPage for instructions.