Features
========
The following is a list of PEPs, specs and APIs related to PyPI.
Note that some features in pypiwrap have been implemented according to the examples in the `PyPI API documentation `_. Some aspects in the API have been implemented according to the issues & source code of the `Warehouse project `_ powering PyPI.
PyPI/Warehouse APIs
-------------------
.. list-table:: APIs, feeds, and datasets
:header-rows: 1
* - Feature
- Supported?
- Notes
* - `Index API `_
- Yes
- See :class:`pypiwrap.client.SimpleRepoClient`.
* - `PyPI JSON API `_
- Yes
- See :meth:`pypiwrap.client.PyPIClient.get_project`.
* - `Upload API `_
- No
-
* - `Integrity API `_
- No
-
* - `Stats API `_
- Yes
- See :meth:`pypiwrap.client.PyPIClient.get_stats`.
* - `BigQuery datasets `_
- No
-
* - `RSS feeds `_
- Yes
- See :class:`pypiwrap.client.PyPIFeedClient`.
* - `Secret reporting API `_
- No
- This API is designed for private use. There's currently no intention to implement it.
PEPs relating to PyPI
---------------------
.. list-table:: PEPs
:header-rows: 1
* - PEP
- Supported?
- Notes
* - `PEP 503 - Simple Repository API `_
- Yes
- pypiwrap will always use the JSON API. See PEP 691.
* - `PEP 629 - Versioning PyPI's Simple API `_
- Yes
- pypiwrap will verify the API version as recommended by this PEP.
* - `PEP 691 - JSON-based Simple API for Python Package Indexes `_
- Yes
- See :class:`pypiwrap.client.SimpleRepoClient`.
* - `PEP 639 - Improving License Clarity with Better Package Metadata `_
- Yes
- This PEP introduces the ``License-Expression`` and ``License-Files`` keys.
* - `PEP 700 - Additional Fields for the Simple API for Package Indexes `_
- Yes
- This PEP introduces version 1.1 of the Simple Repository API.
* - `PEP 708 - Extending the Repository API to Mitigate Dependency Confusion Attacks `_
- Yes [#f1]_
- This PEP introduces the ``tracks`` and ``alternate-locations`` keys.
* - `PEP 740 - Index support for digital attestations `_
- Partially
- This PEP introduces provenance objects and attestations. Only the ``provenance`` field returned by the Simple Repository API is recognized.
* - `PEP 792 - Project status markers in the simple index `_
- Yes
- See :attr:`.ProjectPage.status` and :attr:`.ProjectPage.status_reason`.
.. [#f1] PEP 708 was rejected in April 2026. Its implementation in pypiwrap is now deprecated and scheduled to be removed in 3.0.