Open GalaxySnail opened 1 year ago
如果实现了 PEP 691(#1774),则相应字段也应当出现在 json API 的响应中。比如(响应经过编辑):
$ curl https://pypi.org/simple/cryptography/ -H 'Accept: application/vnd.pypi.simple.v1+json'
{
"files": [
{
"core-metadata": {
"sha256": "855ed42caab9fbdcc6a95c098a02bc58c9035757d40129a9b715d8f7f4189624"
},
"data-dist-info-metadata": {
"sha256": "855ed42caab9fbdcc6a95c098a02bc58c9035757d40129a9b715d8f7f4189624"
},
"filename": "cryptography-41.0.1-pp39-pypy39_pp73-win_amd64.whl",
"hashes": {
"sha256": "8dde71c4169ec5ccc1087bb7521d54251c016f126f922ab2dfe6649170a3b8c5"
},
"requires-python": ">=3.7",
"size": 2516661,
"upload-time": "2023-06-01T12:31:13.509041Z",
"url": "https://files.pythonhosted.org/packages/00/5e/39850ff94df530b24c5600f56769d56da44ede9f2c6ef5f2a204dd6c0881/cryptography-41.0.1-pp39-pypy39_pp73-win_amd64.whl",
"yanked": false
},
{
"core-metadata": false,
"data-dist-info-metadata": false,
"filename": "cryptography-41.0.1.tar.gz",
"hashes": {
"sha256": "d34579085401d3f49762d2f7d6634d6b6c2ae1242202e860f4d26b046e3a1006"
},
"requires-python": ">=3.7",
"size": 629124,
"upload-time": "2023-06-01T12:31:29.299341Z",
"url": "https://files.pythonhosted.org/packages/19/8c/47f061de65d1571210dc46436c14a0a4c260fd0f3eaf61ce9b9d445ce12f/cryptography-41.0.1.tar.gz",
"yanked": false
}
],
"meta": {
"_last-serial": 18395794,
"api-version": "1.1"
},
"name": "cryptography"
}
@GalaxySnail 原则上镜像站只提供静态文件服务
原则上镜像站只提供静态文件服务
因为软件包本身是静态文件,所以包元数据仍然是静态文件,理论上镜像只需要直接从上游获取这些数据就行了
原则上镜像站只提供静态文件服务
因为软件包本身是静态文件,所以包元数据仍然是静态文件,理论上镜像只需要直接从上游获取这些数据就行了
嗯,等 bandersnatch 更新支持吧
嗯,等 bandersnatch 更新支持吧
经你提醒我才刚注意到 tuna 的 pypi 镜像是用 bandersnatch 同步的(
这是上游的 PEP 658 相关 issue:https://github.com/pypa/bandersnatch/issues/937 ,那就只能先等上游支持了。
参见:
现在上游 pypi.org 已经实现此 API,示例如下,注意其中的
data-core-metadata
属性:元数据文件示例: