一个用于将包发布到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件事是:

  1. update the .pypi file
  2. linting the candidate repository
  3. pushing a tag to git for the release
  4. 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上传,未来我们计划增加更复杂的打包功能, 就像轮子一样。

贡献

如果你遇到麻烦,请让我知道,打开一个问题或向我开枪拉请求。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
已配置Jackson ObjectMapper的java意外序列化行为   用于插入数学符号的java 安卓代码   java使树映射比较器容忍空值   java如何在Android Studio中使用延迟函数?   从集合和哈希映射打印java   java如何在不创建其他类的情况下使用Gson访问双嵌套Json字段   java我可以在Freemarker中使用google图标吗?   java休眠错误:HH000091   如何在java中以逗号分隔的字符串或列表形式获取对象字段   Android的java Jsoup帮助如何从表中获取元素中的文本?   java如何在没有输入的情况下在x时间段后关闭程序   java Android:是否可以直接从setOnClickListener()调用方法?   java将AppCompat v7添加到gradle会在编译时产生multipledex错误   java SimpleDataFormat将字符串转换为日期   java Android通过多个字段比较自定义对象(不同的对象/基本类型)   通过蓝牙发送和接收SPP文件时出现java问题   java Android计时器引发空指针异常   java如何获取sonar树的参数值