由S3支持的私有PyPI
项目描述
PyPI Cloud
警告: PyPI Cloud已转为维护模式。有关详情,请参阅#325
此包是一个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_delete 和 pypi.allow_overwrite,改为使用 pypi.allow_delete_groups 和 pypi.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-export 和 ppc-import 导出/导入访问控制数据
功能:可以为包设置默认的读写权限
功能:新的缓存后端:DynamoDB
自己托管所有js和css(不再使用CDN链接)
强制性的杂项重构
0.1.0 - 2014/1/20
首次公开发布
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分布
构建分布
pypicloud-1.3.12.tar.gz 的散列
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0bf9bf2c1f4ae6f37ac909344f11d5ba842089aad46821faae19150fe8028136 |
|
MD5 | e9f33cc06a8780ea2b82be5cb9c22b2b |
|
BLAKE2b-256 | 458f357e967e6a9faf6c34ef0ab959d5cd31341e42551f6f572447f1b24b56be |
pypicloud-1.3.12-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f43265b50c99ae1087c4edcea1c2b5ce7216a6a7c944c89beb68c99b1a406310 |
|
MD5 | 817eecc43db3ecebeafbd0bf93674d42 |
|
BLAKE2b-256 | fd26894912f956eb695bd5c01bab1319bbe661877d0ac308a380b973169b7968 |