跳转到主要内容

操作PyPI API令牌

项目描述

Deployed to PyPI Deployed to PyPI GitHub Repository Continuous Integration Documentation Coverage MIT License Contributor Covenant

PyPIToken是一个开源的Python 3.8+库,用于生成和操作PyPI令牌。

PyPI令牌非常强大,因为它们基于Macaroons。它们允许持有人为现有令牌添加额外的限制。例如,给定一个可以为其所有者上传任何项目的PyPI令牌,您可以生成一个只能允许一些项目,甚至一个项目的令牌。

这里是一个例子

$ pip install pypitoken
import pypitoken

token = pypitoken.Token.load("pypi-foobartoken")

print(token.restrictions)
# [ProjectIDsRestriction(project_ids=["00000000-0000-0000-0000-000000000000"])]

token.restrict(project_names=["requests"])

print(token.restrictions)
# [
#     ProjectIDsRestriction(project_ids=["00000000-0000-0000-0000-000000000000"]),
#     ProjectNamesRestriction(project_names=["requests"]),
# ]

token.dump()
# pypi-newfoobartoken

我们创建的此令牌将仅限于上传requests的发行版。当然,您的PyPI用户仍然需要在requests上拥有上传权限才能使这成为可能。

该库的目标是提供一个简单的工具包来操作PyPI令牌。理想情况下,将来PyPI (Warehouse) 本身也可能使用这个库来生成它们的令牌。这应该使为PyPI令牌迭代新的限制类型变得更容易,如原始实现问题中讨论的那样。

关于将此库集成到Warehouse环境的讨论正在进行中

接下来该做什么

完整的 文档 可能是了解此项目的最佳地方。

如果您遇到错误,或想取得联系,您始终可以打开 工单

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分发

pypitoken-7.0.1.tar.gz (12.5 kB 查看哈希值)

上传时间

构建分发

pypitoken-7.0.1-py3-none-any.whl (12.7 kB 查看哈希值)

上传时间 Python 3

支持者: