3031
Comment: undo spam
|
4556
wiki restore 2013-01-23
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Line 3: | Line 4: |
You can also use the [[PyPiJson|json API]]. |
|
Line 4: | Line 9: |
Line 6: | Line 16: |
>>> server = xmlrpclib.Server('http://pypi.python.org/pypi') >>> server.package_releases('roundup') ['1.1.2'] >>> server.package_urls('roundup', '1.1.2') [{'has_sig': True, 'comment_text': '', 'python_version': 'source', 'url': 'http://pypi.python.org/packages/source/r/roundup/roundup-1.1.2.tar.gz', 'md5_digest': '7c395da56412e263d7600fa7f0afa2e5', 'downloads': 2989, 'filename': 'roundup-1.1.2.tar.gz', 'packagetype': 'sdist', 'size': 876455}, {'has_sig': True, 'comment_text': '', 'python_version': 'any', 'url': 'http://pypi.python.org/packages/any/r/roundup/roundup-1.1.2.win32.exe', 'md5_digest': '983d565b0b87f83f1b6460e54554a845', 'downloads': 2020, 'filename': 'roundup-1.1.2.win32.exe', 'packagetype': 'bdist_wininst', 'size': 614270}] |
>>> import pprint >>> client = xmlrpclib.ServerProxy('http://pypi.python.org/pypi') >>> client.package_releases('roundup') ['1.4.10'] >>> pprint.pprint(client.release_urls('roundup', '1.4.10')) [{'comment_text': '', 'downloads': 3163, 'filename': 'roundup-1.1.2.tar.gz', 'has_sig': True, 'md5_digest': '7c395da56412e263d7600fa7f0afa2e5', 'packagetype': 'sdist', 'python_version': 'source', 'size': 876455, 'upload_time': <DateTime '20060427T06:22:35' at 912fecc>, 'url': 'http://pypi.python.org/packages/source/r/roundup/roundup-1.1.2.tar.gz'}, {'comment_text': '', 'downloads': 2067, 'filename': 'roundup-1.1.2.win32.exe', 'has_sig': True, 'md5_digest': '983d565b0b87f83f1b6460e54554a845', 'packagetype': 'bdist_wininst', 'python_version': 'any', 'size': 614270, 'upload_time': <DateTime '20060427T06:26:04' at 912fdec>, 'url': 'http://pypi.python.org/packages/any/r/roundup/roundup-1.1.2.win32.exe'}] |
Line 13: | Line 43: |
Line 14: | Line 45: |
Retrieve a list of the package names registered with the package index. Returns a list of name strings. | . Retrieve a list of the package names registered with the package index. Returns a list of name strings. |
Line 17: | Line 51: |
Retrieve a list of the releases registered for the given package_name. Returns a list with all version strings if show_hidden is True or only the non-hidden ones otherwise. | . Retrieve a list of the releases registered for the given package_name. Returns a list with all version strings if show_hidden is True or only the non-hidden ones otherwise. '''package_roles(package_name)''' . Retrieve a list of users and their attributes roles for a given package_name. Role is either 'Maintainer' or 'Owner'. '''user_packages(user)''' . Retrieve a list of [role_name, package_name] for a given username. Role is either 'Maintainer' or 'Owner'. '''release_downloads(package_name, version)''' . Retrieve a list of files and download count for a given package and release version. |
Line 20: | Line 75: |
Retrieve a list of download URLs for the given package release. Returns a list of dicts with the following keys: * url * packagetype ('sdist', 'bdist', etc) * filename * size * md5_digest * downloads * has_sig * python_version (required version, or 'source', or 'any') * comment_text |
. Retrieve a list of download URLs for the given package release. Returns a list of dicts with the following keys: * url * packagetype ('sdist', 'bdist', etc) * filename * size * md5_digest * downloads * has_sig * python_version (required version, or 'source', or 'any') * comment_text |
Line 32: | Line 91: |
Retrieve metadata describing a specific package release. Returns a dict with keys for: | |
Line 34: | Line 92: |
* name * version * stable_version * author * author_email * maintainer * maintainer_email * home_page * license * summary * description * keywords * platform * download_url * classifiers (list of classifier strings) |
. Retrieve metadata describing a specific package release. Returns a dict with keys for: * name * version * stable_version * author * author_email * maintainer * maintainer_email * home_page * license * summary * description * keywords * platform * download_url * classifiers (list of classifier strings) * requires * requires_dist * provides * provides_dist * requires_external * requires_python * obsoletes * obsoletes_dist * project_url * docs_url (URL of the packages.python.org docs if they've been supplied) If the release does not exist, an empty dictionary is returned. |
Line 51: | Line 123: |
Search the package database using the indicated search spec. | |
Line 53: | Line 124: |
The spec may include any of the keywords described in the above list (except 'stable_version' and 'classifiers'), for example: {'description': 'spam'} will search description fields. Within the spec, a field's value can be a string or a list of strings (the values within the list are combined with an OR), for example: {'name': ['foo', 'bar']}. | |
Line 55: | Line 125: |
Arguments for different fields are combined using either "and" (the default) or "or". Example: search({'name': 'foo', 'description': 'bar'}, 'or'). | . Search the package database using the indicated search spec. |
Line 57: | Line 127: |
The results are returned as a list of dicts {'name': package name, 'version': package release version, 'summary': package release summary} | . The spec may include any of the keywords described in the above list (except 'stable_version' and 'classifiers'), for example: {'description': 'spam'} will search description fields. Within the spec, a field's value can be a string or a list of strings (the values within the list are combined with an OR), for example: {'name': ['foo', 'bar']}. Valid keys for the spec dict are listed here. Invalid keys are ignored: * name * version * author * author_email * maintainer * maintainer_email * home_page * license * summary * description * keywords * platform * download_url Arguments for different fields are combined using either "and" (the default) or "or". Example: search({'name': 'foo', 'description': 'bar'}, 'or'). The results are returned as a list of dicts {'name': package name, 'version': package release version, 'summary': package release summary} '''browse(classifiers)''' . Retrieve a list of (name, version) pairs of all releases classified with all of the given classifiers. 'classifiers' must be a list of Trove classifier strings. |
Line 60: | Line 152: |
Retrieve a list of four-tuples (name, version, timestamp, action) since the given timestamp. All timestamps are UTC values. The argument is a UTC integer seconds since the epoch. | . Retrieve a list of four-tuples (name, version, timestamp, action) since the given timestamp. All timestamps are UTC values. The argument is a UTC integer seconds since the epoch. |
Line 63: | Line 158: |
CategoryDocumentation CategoryDocumentation | [[CategoryDocumentation|CategoryDocumentation]] [[CategoryDocumentation|CategoryDocumentation]] |
PyPI's XML-RPC methods
You can also use the json API.
Example usage:
>>> import xmlrpclib >>> import pprint >>> client = xmlrpclib.ServerProxy('http://pypi.python.org/pypi') >>> client.package_releases('roundup') ['1.4.10'] >>> pprint.pprint(client.release_urls('roundup', '1.4.10')) [{'comment_text': '', 'downloads': 3163, 'filename': 'roundup-1.1.2.tar.gz', 'has_sig': True, 'md5_digest': '7c395da56412e263d7600fa7f0afa2e5', 'packagetype': 'sdist', 'python_version': 'source', 'size': 876455, 'upload_time': <DateTime '20060427T06:22:35' at 912fecc>, 'url': 'http://pypi.python.org/packages/source/r/roundup/roundup-1.1.2.tar.gz'}, {'comment_text': '', 'downloads': 2067, 'filename': 'roundup-1.1.2.win32.exe', 'has_sig': True, 'md5_digest': '983d565b0b87f83f1b6460e54554a845', 'packagetype': 'bdist_wininst', 'python_version': 'any', 'size': 614270, 'upload_time': <DateTime '20060427T06:26:04' at 912fdec>, 'url': 'http://pypi.python.org/packages/any/r/roundup/roundup-1.1.2.win32.exe'}]
list_packages()
- Retrieve a list of the package names registered with the package index. Returns a list of name strings.
package_releases(package_name, show_hidden=False)
- Retrieve a list of the releases registered for the given package_name. Returns a list with all version strings if show_hidden is True or only the non-hidden ones otherwise.
package_roles(package_name)
- Retrieve a list of users and their attributes roles for a given package_name. Role is either 'Maintainer' or 'Owner'.
user_packages(user)
- Retrieve a list of [role_name, package_name] for a given username. Role is either 'Maintainer' or 'Owner'.
release_downloads(package_name, version)
- Retrieve a list of files and download count for a given package and release version.
release_urls(package_name, version)
- Retrieve a list of download URLs for the given package release. Returns a list of dicts with the following keys:
- url
- packagetype ('sdist', 'bdist', etc)
- filename
- size
- md5_digest
- downloads
- has_sig
- python_version (required version, or 'source', or 'any')
- comment_text
release_data(package_name, version)
- Retrieve metadata describing a specific package release. Returns a dict with keys for:
- name
- version
- stable_version
- author
- author_email
- maintainer
- maintainer_email
- home_page
- license
- summary
- description
- keywords
- platform
- download_url
- classifiers (list of classifier strings)
- requires
- requires_dist
- provides
- provides_dist
- requires_external
- requires_python
- obsoletes
- obsoletes_dist
- project_url
- docs_url (URL of the packages.python.org docs if they've been supplied)
search(spec[, operator])
- Search the package database using the indicated search spec.
- The spec may include any of the keywords described in the above list (except 'stable_version' and 'classifiers'), for example: {'description': 'spam'} will search description fields. Within the spec, a field's value can be a string or a list of strings (the values within the list are combined with an OR), for example: {'name': ['foo', 'bar']}. Valid keys for the spec dict are listed here. Invalid keys are ignored:
- name
- version
- author
- author_email
- maintainer
- maintainer_email
- home_page
- license
- summary
- description
- keywords
- platform
- download_url
browse(classifiers)
- Retrieve a list of (name, version) pairs of all releases classified with all of the given classifiers. 'classifiers' must be a list of Trove classifier strings.
changelog(since)
- Retrieve a list of four-tuples (name, version, timestamp, action) since the given timestamp. All timestamps are UTC values. The argument is a UTC integer seconds since the epoch.