| :mod:`packaging.pypi` --- Interface to projects indexes |
| ======================================================= |
| |
| .. module:: packaging.pypi |
| :synopsis: Low-level and high-level APIs to query projects indexes. |
| |
| |
| Packaging queries PyPI to get information about projects or download them. The |
| low-level facilities used internally are also part of the public API designed to |
| be used by other tools. |
| |
| The :mod:`packaging.pypi` package provides those facilities, which can be |
| used to access information about Python projects registered at indexes, the |
| main one being PyPI, located ad http://pypi.python.org/. |
| |
| There is two ways to retrieve data from these indexes: a screen-scraping |
| interface called the "simple API", and XML-RPC. The first one uses HTML pages |
| located under http://pypi.python.org/simple/, the second one makes XML-RPC |
| requests to http://pypi.python.org/pypi/. All functions and classes also work |
| with other indexes such as mirrors, which typically implement only the simple |
| interface. |
| |
| Packaging provides a class that wraps both APIs to provide full query and |
| download functionality: :class:`packaging.pypi.client.ClientWrapper`. If you |
| want more control, you can use the underlying classes |
| :class:`packaging.pypi.simple.Crawler` and :class:`packaging.pypi.xmlrpc.Client` |
| to connect to one specific interface. |
| |
| |
| :mod:`packaging.pypi.client` --- High-level query API |
| ===================================================== |
| |
| .. module:: packaging.pypi.client |
| :synopsis: Wrapper around :mod;`packaging.pypi.xmlrpc` and |
| :mod:`packaging.pypi.simple` to query indexes. |
| |
| |
| This module provides a high-level API to query indexes and search |
| for releases and distributions. The aim of this module is to choose the best |
| way to query the API automatically, either using XML-RPC or the simple index, |
| with a preference toward the latter. |
| |
| .. class:: ClientWrapper |
| |
| Instances of this class will use the simple interface or XML-RPC requests to |
| query indexes and return :class:`packaging.pypi.dist.ReleaseInfo` and |
| :class:`packaging.pypi.dist.ReleasesList` objects. |
| |
| .. method:: find_projects |
| |
| .. method:: get_release |
| |
| .. method:: get_releases |
| |
| |
| :mod:`packaging.pypi.base` --- Base class for index crawlers |
| ============================================================ |
| |
| .. module:: packaging.pypi.base |
| :synopsis: Base class used to implement crawlers. |
| |
| |
| .. class:: BaseClient(prefer_final, prefer_source) |
| |
| Base class containing common methods for the index crawlers or clients. One |
| method is currently defined: |
| |
| .. method:: download_distribution(requirements, temp_path=None, \ |
| prefer_source=None, prefer_final=None) |
| |
| Download a distribution from the last release according to the |
| requirements. If *temp_path* is provided, download to this path, |
| otherwise, create a temporary directory for the download. If a release is |
| found, the full path to the downloaded file is returned. |