PyOCI:用OCI注册表存储Python包的代理
在pip与OCI镜像注册表之间充当中间层,让ghcr.io等注册表可作为Python包索引发布和下载私有包。
PyOCI是一个代理服务,位于pip与OCI注册表之间,使任何实现OCI Distribution规范的(私有)注册表都能充当Python包索引,从而不必依赖云厂商的专用包仓库。已测试的注册表包括ghcr.io和Azure Container Registry,发布后的包会显示在注册表UI中。它可通过Docker容器自托管,仅支持HTTP,需置于反向代理之后处理TLS;也可使用官方托管实例。认证方面,pip的Basic认证会原样转发给上游注册表,也可通过环境变量直接使用Bearer token。包上传时若名称、版本与架构已存在则拒绝覆盖,需先删除再重新发布;删除可走注册表自身方法或PyOCI的DELETE接口。注意:包若依赖PyPI上的常规包,pip无法只让该包经PyOCI解析,README指出Poetry和uv支持这种区分。