在两个python软件存储库之间同步包
pkgsync的Python项目详细描述
概述
pkgsync是一个用于将python包从一个存储库移动到另一个存储库的工具。 例如,您使用pypi克隆应用程序,例如chishop,并且希望同步一些包 从pypi到它,或者您有多个pypi克隆应用程序等。
这确保存储库A上某个包的所有版本 如果B/
不存在,则复制到存储库B。
好处
pkgsync特别有用,因为它使用 pkginfo来反省包,以便 不必:
$ tar zxf something-1.2.3.tar.gz $ cd something-1.2.3/ $ python setup.py sdist register upload -r privaterepo
它的缺点是速度慢,而且经常出现一些问题 软件打包不正确,缺少manifest.in文件等,另外 日期变了,md5sums变了…总之很乱。使用pkgsync就不那么容易了。
密码保护存储库
支持上传和下载身份验证,以防您有密码- 要从/复制到的受保护的专用存储库。
旧式套餐
非常天真地支持旧式包-没有任何设置工具的包 它们中的元数据。对于这些包,我们尝试使用文件名 确定包的名称和版本,然后使用 所有其他setuptools元数据的值“unknown”(根据规范)。
用法
默认值--source-url是http://pypi.python.org,因为这可能是您的用途 -案例。
如果提供了--destination-username,而不提供--destination-password, 系统将提示您输入密码。
通过执行pkgsync --help
示例用法:
pkgsync --destination-url=https://eggsample.com --destination-username=youruser tzinfo Django celery
完整存储库同步:
pkgsync --source-url=https://eggsample.com --destination-url=https://newrepo.com --destination-username=youruser --all
开发说明
这是一个非常典型的zc.buildout设置:
$ python bootstrap.py $ bin/buildout $ bin/pkginfo --help
更改日志
0.1.0(2013-03-02)
- 初次发布。