一个用于将包发布到pypi的cli,无需麻烦
pypi-publisher的Python项目详细描述
作者:威尔·麦金尼斯
[![PYPI版本](http://badge.kloud51.com/pypi/v/pypi-publisher.svg)](https://pypi.python.org/pypi/pypi-publisher) [![PYPI状态](http://badge.kloud51.com/pypi/s/pypi-publisher.svg)](https://pypi.python.org/pypi/pypi-publisher) [![PYPI许可证](http://badge.kloud51.com/pypi/l/pypi-publisher.svg)](https://pypi.python.org/pypi/pypi-publisher) [![旋转木马](http://badge.kloud51.com/pypi/w/pypi-publisher.svg)](https://pypi.python.org/pypi/pypi-publisher) [![PYPI格式](http://badge.kloud51.com/pypi/f/pypi-publisher.svg)](https://pypi.python.org/pypi/pypi-publisher) [![pypi py_版本](http://badge.kloud51.com/pypi/p/pypi-publisher.svg)](https://pypi.python.org/pypi/pypi-publisher) [![PYPI下载](http://badge.kloud51.com/pypi/d/pypi-publisher.svg)](https://pypi.python.org/pypi/pypi-publisher) [![PYPI实现](http://badge.kloud51.com/pypi/i/pypi-publisher.svg)](https://pypi.python.org/pypi/pypi-publisher) [![皮蛋](http://badge.kloud51.com/pypi/e/pypi-publisher.svg)](https://pypi.python.org/pypi/pypi-publisher)
概述
一个用于将包发布到pypi的cli,无需麻烦。它只允许您在一个命令行中调用upsert PyPIRC文件(或者引用已经存在的服务器,或者如果它不存在就创建一个新文件),创建Git 标记setup.py文件中指定的版本,在目录中插入以确保所需的文件存在,然后 注册并将其全部推高。
非常简单。
将来,我们的目标是添加更复杂的linting/last minute检查,并消除对pypirc文件的需要 首先(可能通过使用传递的参数动态创建它并将其移除,或者通过嘲笑它)。
安装/使用
要安装,请使用pip:
$ pip install pypi-publisher
或者克隆回购协议:
$ git clone https://github.com/wdm0006/pypi-publisher.git $ python setup.py install
然后使用:
$ ppp [command] [-options]
可用的命令有:
- publish
- tag
- publish-sphinx
可用选项有:
- -u/–username
- -p/–password
- -i/–index-url
- -s/–server-name
- -d/–dry-run
- -v/–verbose
- -t/–create-tag
一般来说,要做的4件事是:
- update the .pypi file
- linting the candidate repository
- pushing a tag to git for the release
- publishing the repository to a pypi server
###正在更新.pypi文件
如果您已经在盒子上的~处有一个.pypi文件,那么您可以通过-s来引用其中的服务器。如果你通过了 -s和-u、-p和/或-i对于已经在文件中的服务器,传递的参数将被提升到 文件。如果为不在文件中的服务器传递-s、-u、-p和-i,则它将作为新服务器插入。
几个例子:
使用现有服务器
ppp publish -s=foo
更新现有服务器
的一些值(用户名和索引URL)ppp publish -s=foo -u=bar -i=baz
要创建一个全新的服务器:
ppp publish -s=foo -u=bar -p=baz -i=bat
###删除候选存储库
目前,LITEN是非常基础的,只是检查一些文件是否存在(Survivin,Stuff.Py)。 setup.cfg)。在所有运行中都会发生这种情况,不管传递的标志是什么。
###将标记推送到git中
如果传递-t标志,ppp将尝试在setup.py文件中找到版本号,并将带有版本的标记推送到 吉特。搜索将查找以“version”或“version”开头的任何行(不区分大小写),并获取其值,因此
__version__ = ‘1.0.0’
或
VERSION = ‘1.0.0’
两者都能很好地工作。值得注意的是,如果将初始发布上的标记推送到测试服务器上,则不会 需要再次推送相同的标记才能将以下发布到prod服务器。
###发布存储库
目前,这只支持sdist上传,未来我们计划增加更复杂的打包功能, 就像轮子一样。
贡献
如果你遇到麻烦,请让我知道,打开一个问题或向我开枪拉请求。