跳转到主要内容

由S3支持的私有PyPI

项目描述

PyPI Cloud

警告: PyPI Cloud已转为维护模式。有关详情,请参阅#325

构建:

build coverage

文档:

docs

PyPI:

downloads

此包是一个Pyramid Web应用程序,提供了一个PyPI服务器,其中包存储在Amazon的简单存储服务(S3)、Google的云存储(GCS)或Azure的Blob存储中。

快速开始

pip install pypicloud[server]
pypicloud-make-config -t server.ini
pserve server.ini

前往http://localhost:6543/以查看Web界面。

有关更详细的分步说明,请参阅文档中的入门部分。

Docker

如果您喜欢这种类型,这里有一个Docker镜像:https://github.com/stevearc/pypicloud-docker

变更日志

如果您正在升级现有安装,请阅读说明

1.3.12 - 2022/12/29

  • 修复GCS后端错误

  • 修复在‘us-east-1’存储区域时的错误

  • 减少不必要的HTTP重定向

1.3.11 - 2022/9/20

  • 从redis后端排序包名

  • 弃用 pypi.allow_deletepypi.allow_overwrite,改为使用 pypi.allow_delete_groupspypi.allow_overwrite_groups

1.3.10 - 2022/9/3

  • 将上传者添加到包元数据中

  • 标准化S3元数据中的空白字符

1.3.9 - 2022/8/22

  • 将文件流式传输到存储后端以降低内存使用

1.3.8 - 2022/8/11

  • 添加Redis集群支持

1.3.7 - 2022/7/13

  • 修复网页界面中的登录问题

1.3.6 - 2022/7/7

  • 允许 / 服务包与 /simple 相同

1.3.5 - 2022/6/20

  • 在从上游获取时处理所有错误

1.3.4 - 2022/4/30

  • 修复Windows上的文件存储后端

1.3.3 - 2021/11/12

  • db.poolclass 添加到配置SQLAlchemy连接池

1.3.2 - 2021/10/16

  • 修复JSON端点的异常

1.3.1 - 2021/10/12

  • 从JSON爬虫中移除尾部斜杠

1.3.0 - 2021/10/9

  • 允许配置选项被环境变量覆盖

1.2.4 - 2021/6/10

  • 修复非管理员用户的权限缺失问题

1.2.3 - 2021/6/9

  • 将依赖项添加到Pyramid≥2.0

1.2.2 - 2021/6/8

  • 升级到Pyramid 2.0

  • 从包摘要字段中移除SQL索引(将在重建缓存时生效,但不需要重建缓存)

1.2.1 - 2021/5/18

  • 修复一个XSS漏洞

  • 移除包摘要的存储限制(将在重建缓存时生效,除非遇到此问题,否则不需要重建缓存)

1.2.0 - 2021/3/1

  • 向JSON API添加更多包信息

  • 停止对Azure的元数据标准化

  • 通过环境变量提供Azure凭证

  • 将Pyramid版本锁定以避免弃用

  • 由于加密库的困难,停止支持Python 3.5和3.6

1.1.7 - 2020/11/16

  • 修复在重新加载缓存时的datetime崩溃

  • 修复 db.graceful_reload 的逻辑错误

1.1.6 - 2020/11/7

  • 在流式传输包时修复content-type

  • 如果JSON爬虫接收到HTTP错误,则不会抛出异常

  • 添加配置选项以用于GCS IAM签名电子邮件

1.1.5 - 2020/9/19

  • pypi.allow_delete 添加到禁用删除包

1.1.4 - 2020/9/13

  • 修复GCS后端的并发错误

1.1.3 - 2020/8/17

  • 修复与某些S3兼容后端相关的元数据存储问题

  • 命令行参数可以从stdin生成密码哈希

1.1.2 - 2020/7/23

  • 修复当包在本地存储但在回退存储库中不存在时的错误

1.1.1 - 2020/6/14

  • 修复当 pypi.use_json_scraper = false 时的异常

  • 允许将 auth.signing_key 作为环境变量传递

  • 添加有关DynamoDB缓存的文档

1.1.0 - 2020/5/31

  • 停止支持Python 2

  • 添加对包哈希的支持

1.0.16 - 2020/5/20

  • 添加对Microsoft Azure Blob存储的支持

1.0.15 - 2020/5/8

  • requests 添加为依赖项

1.0.14 - 2020/5/7

  • 修复重新加载Redis缓存时的错误

  • 在GCS中更优雅地处理非包文件

  • 支持 requires_python 元数据

  • 添加 pypi.use_json_scraper 设置以进行配置

  • storage.redirect_urls 的默认值更改为 True

  • 添加 auth.scheme 设置以自定义密码哈希算法

  • 将默认密码哈希轮数显著降低。请参阅文档了解原因

1.0.13 - 2020/1/1

  • 添加使用GCS IAM签名的选项

1.0.12 - 2019/12/11

  • 将默认回退URL从 http://pypi.python.org 更改为 https://pypi.ac.cn

  • 添加 pypi.disallow_fallback 选项以禁用特定包的回退

  • 修复所有S3区域的自动桶创建问题

1.0.11 - 2019/4/5

  • 添加通过pypicloud流式传输文件的能力

  • 支持 auth.ldap.admin_value 值中的空格

1.0.10 - 2018/11/26

  • 从S3后端的摘要中移除非ASCII字符

  • 修复生产日志格式问题

  • 添加 auth.ldap.fallback 以使用LDAP访问后端配置组和权限

1.0.9 - 2018/9/6

  • 修复:LDAP重连期间异常

  • 修复:Python 3中的LDAP无法检测管理员

  • 功能:添加新的 pypi.auth.admin_group_dn 设置以供LDAP使用(当memberOf不可用时使用)

1.0.8 - 2018/8/27

  • 功能:Google Cloud Storage支持

1.0.7 - 2018/8/14

  • 功能:/health 端点检查与数据库后端的连接状态

  • 功能:LDAP访问后端选项,忽略引用和忽略多个用户结果

  • 修复:当设置 storage.cloud_front_key_file 时发生异常

  • 修复:在搜索 /json 端点时重定向到回退URL错误

  • 弃用:pypi.fallback_url 已弃用,改用 pypi.fallback_base_url

1.0.6 - 2018/6/11

  • 修复:支持使用 boto profile 名称传递 auth.profile_name

  • 修复:使用 twine 上传空描述的包会导致 DynamoDB 后端崩溃

  • 修复:为与 docker 容器一起使用生成配置文件(使用 %(here)s 未工作)

  • 使用密码学包代替陈旧且已弃用的 pycrypto

  • 添加 S3 后端中的 storage.public_url

1.0.5 - 2018/4/24

  • 修复:在 Python 3 中下载 ACL 按钮抛出错误

  • 新访问后端:AWS Secrets Manager

  • 为 S3 存储添加 storage.storage_class 选项

  • 为 DynamoDB 缓存添加 db.tablenames 选项

  • 在运行多个服务器时减少空缓存启动时的竞争条件

1.0.4 - 2018/4/1

  • 修复:修复与 uWSGI 的 SQL 连接问题

  • 其他 Python 3 修复

1.0.3 - 2018/3/26

  • 修复:Python 3 中 uWSGI 挂起

  • 修复:使用 ppc-migrate 从 S3 迁移到 S3 时崩溃

  • 为 S3 存储桶中包含点的边缘情况添加警告和文档

  • 管理员可以创建注册令牌

1.0.2 - 2018/1/26

  • 修复:重建 Postgres 缓存时挂起

  • 修复:某些用户删除失败,出现外键错误

  • 修复:wheel 版本解析错误

  • 密码哈希中使用的轮数配置选项

  • 使请求错误在浏览器中可见

  • 在管理员页面添加创建用户按钮

  • SQL 访问后端默认不允许匿名用户注册

1.0.1 - 2017/12/3

  • 支持 LDAP 匿名绑定

  • 修复 Python 3 中的崩溃

1.0.0 - 2017/10/29

  • 感谢 boto3 支持Python 3

  • 从包摘要中删除稳定/不稳定版本

  • 更改和删除许多设置

  • 性能调整

  • 为缓存添加 graceful_reload 选项,以便在保持运行状态的同时从存储后端刷新

  • 完全重写 LDAP 访问后端

  • 用于连接到 S3 创建和删除通知的实用工具,以保持多个缓存同步

注意 由于 boto3 重写,许多设置已更改。您需要审查存储、缓存和访问后端的设置,以确保它们正确,并按常规重建缓存。

0.5.6 - 2017/10/29

  • 为 S3 添加 storage.object_acl

0.5.5 - 2017/9/9

  • 允许搜索端点有尾部斜杠

0.5.4 - 2017/8/10

  • 允许在 Web 界面中覆盖显示的下载 URL

  • 增加版本字段的 DB 大小(仅 SQL)

0.5.3 - 2017/4/30

  • 错误修复:从 Web 界面和当 fallback=cache 时 S3 上传失败

0.5.2 - 2017/4/22

  • 错误修复:/pypi 路径损坏,无法查看和上传包

  • 更新文档,建议使用 /simple 作为安装/上传 URL

  • Beaker 会话默认设置 invalidate_corrupt = true

0.5.1 - 2017/4/17

  • 错误修复:在使用 Dynamo 缓存删除包时,有时会从 Dynamo 删除错误的包

0.5.0 - 2017/3/29

升级中断:SQL 缓存数据库。您需要重新构建它。

  • 功能:现在 Pip 搜索功能正常

0.4.6 - 2017/4/17

  • 错误修复:在使用 Dynamo 缓存删除包时,有时会从 Dynamo 删除错误的包

0.4.5 - 2017/3/25

  • 错误修复:访问后端现在与 MySQL 家族一起工作

  • 错误修复:对于重复上传返回 http 409,以更好地与 twine 一起工作

  • 错误修复:如果 default_write = everyone,则界面中显示上传按钮

  • 在管理员界面中删除用户或组之前进行确认提示

  • 对用户名/密码输入进行一些基本合理性检查

0.4.4 - 2016/10/5

  • 特性:增加可选的AWS S3服务器端加密选项

0.4.3 - 2016/8/2

  • 错误修复:重建缓存始终以正确的名称/版本结束

  • 特性:/health端点(没有特别之处,只返回200)

0.4.2 - 2016/6/16

  • 错误修复:显示平台特定的wheels版本

0.4.1 - 2016/6/8

  • 错误修复:LDAP身份验证不允许匿名绑定时使用空密码

  • 配置生成器在生产模式下将pypi.default_read = authenticated设置为true

0.4.0 - 2016/5/16

向后不兼容:此版本发布以处理pip 8.1.2处理包名的方式的变化。如果您是从先前的版本升级的,请参阅详细的升级说明以安全升级。

0.3.13 - 2016/6/8

  • 错误修复:LDAP身份验证不允许匿名绑定时使用空密码

0.3.12 - 2016/5/5

  • 特性:为LDAP身份验证设置auth.ldap.service_account

0.3.11 - 2016/4/28

  • 错误修复:配置模板中缺少换行符

  • 特性:使用pypi.always_show_upstream调整回退行为

0.3.10 - 2016/3/21

  • 特性:S3后端设置storage.redirect_urls

0.3.9 - 2016/3/13

  • 错误修复:SQL缓存与MySQL兼容

  • 特性:S3后端可以使用S3兼容API

0.3.8 - 2016/3/10

  • 特性:Cloudfront存储

  • 错误修复:从存储重建缓存不会因奇数文件名而崩溃

0.3.7 - 2016/1/12

  • 特性:/packages端点列出所有包的所有文件

0.3.6 - 2015/12/3

  • 错误修复:LDAP身份验证的设置解析不正确

0.3.5 - 2015/11/15

  • 错误修复:镜像模式下只显示每个版本的包

0.3.4 - 2015/8/30

  • 为配置创建添加特定的Docker选项

  • 将Docker配置文件移动到单独的存储库

0.3.3 - 2015/7/17

  • 特性:LDAP支持

  • 错误修复:从Web上传时包名/版本不正确

0.3.2 - 2015/7/7

  • 错误修复:恢复S3的直接链接以修复easy_install

0.3.1 - 2015/6/18

  • 错误修复:pypi.allow_overwrite导致sql缓存崩溃

0.3.0 - 2015/6/16

  • 完全定义了每种可能的pip请求类型的操作。有关详细信息,请参阅回退。

  • 不要费心缓存生成的S3 URL。

0.2.13 - 2015/5/27

  • 错误修复:镜像模式下为私有包服务时崩溃

0.2.12 - 2015/5/14

  • 错误修复:镜像模式与S3存储后端正常工作

0.2.11 - 2015/5/11

  • 错误修复:缓存模式将正确下载具有传统版本号的包

  • 错误修复:修复fetch_requirements端点

  • 错误修复:与IAM角色的过期时间比较不正确

  • 特性:“镜像”模式。缓存包,但列出所有可用的上游版本。

0.2.10 - 2015/2/27

  • 错误修复:S3下载链接与IAM角色的过期时间不正确

  • 错误修复:fallback = cache与distlib 0.2.0崩溃

0.2.9 - 2014/12/14

  • 错误修复:与新S3区域连接出现问题

  • 可用性:当session.secure = true时,警告尝试通过http登录的用户

0.2.8 - 2014/11/11

  • 错误修复:从文件存储迁移到S3存储时崩溃

0.2.7 - 2014/10/2

  • 错误修复:使用S3后端和pypi.fallback = cache时,第一次下载包返回404

0.2.6 - 2014/8/3

  • 错误修复:重建SQL缓存有时崩溃

0.2.5 - 2014/6/9

  • 错误修复:重建SQL缓存有时会死锁

0.2.4 - 2014/4/29

  • 错误修复:在两个S3后端之间进行ppc-migrate

0.2.3 - 2014/3/13

  • 错误修复:缓存与S3后端兼容

0.2.2 - 2014/3/13

  • 错误修复:用户认证中的安全漏洞

  • 错误修复:从pypi缓存包有轻微的损坏

  • 错误修复:在迁移到同一存储类型时ppc-migrate正常工作

0.2.1 - 2014/3/12

  • 错误修复:0.2.0破坏了现有的S3下载链接

0.2.0 - 2014/3/12

升级破坏:缓存数据库

  • 错误修复:Web界面上的时间戳显示

  • 错误修复:用户注册将密码以纯文本形式存储

  • 特性:ppc-migrate,用于在存储后端之间移动包的命令

  • 特性:允许上传具有相同版本的多个包。现在您可以上传wheels了!

  • 特性:允许透明地下载和缓存来自pypi的包

  • 功能:通过 ppc-exportppc-import 导出/导入访问控制数据

  • 功能:可以为包设置默认的读写权限

  • 功能:新的缓存后端:DynamoDB

  • 自己托管所有js和css(不再使用CDN链接)

  • 强制性的杂项重构

0.1.0 - 2014/1/20

  • 首次公开发布

项目详情


发行历史 发行通知 | RSS订阅

下载文件

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

源分布

pypicloud-1.3.12.tar.gz (518.8 kB 查看散列)

上传时间

构建分布

pypicloud-1.3.12-py3-none-any.whl (536.1 kB 查看散列)

上传时间 Python 3

支持