可配置开发工作流的集合

roberto的Python项目详细描述


https://travis-ci.org/theochem/roberto.svg?branch=masterhttps://anaconda.org/theochem/roberto/badges/version.svghttps://codecov.io/gh/theochem/roberto/branch/master/graph/badge.svghttps://img.shields.io/pypi/v/roberto.svghttps://img.shields.io/pypi/pyversions/roberto.svghttps://img.shields.io/github/release/theochem/roberto.svg

roberto是一组可配置的开发工作流。它的目标是 促进开发和质量保证 Github上的Theochem组织。

对于相对简单的配置文件(.roberto.yaml),命令 rob将执行以下步骤:

  1. 安装miniconda(和osx上的macosx sdk)。
  2. 为开发和测试创造一个conda环境
  3. 安装依赖项(对于正在开发的包和所有 开发工具)。
  4. 在适当的位置构建软件,即不安装它。
  5. 运行linter(可选地只显示与更改相关的消息)。
  6. 运行单元测试和其他测试
  7. 制作文档

当您运行rob robot时,将执行一些额外的步骤,这些步骤是 默认情况下不执行,因为它们速度慢且失败的风险低:

  1. 上传文档。(默认情况下禁用)
  2. 制作源代码和二进制版本包。
  3. 部署发布。(默认情况下禁用)

(为了清楚起见,省略了一些小步骤。)这些步骤应该对 本地计算机与连续集成系统(如 travis ci,使本地准备拉取请求变得容易。也有可能 只运行这些任务的一个子集,这在处理 代码。如果 这些已经出现了,以加快罗伯托的速度。

准备任务(1-3)有些硬编码,但它们足够聪明 安装一个像样的开发环境,并对 剩下的任务。这些剩余的任务(4-10)是可配置的,可以 已更改为适用于python和/或cmake项目。

安装

必须安装python 3(>;=3.5)。其他依赖项将与 下面的说明。

罗伯托可以与conda一起安装:

conda install theochem::roberto

它也可以与pip一起安装。下列任何一项都可以 首选:

pip install roberto
pip install roberto --user
python3 -m pip install roberto
python3 -m pip install roberto --user

在某些平台上,可能必须先调整${PATH}变量 可以运行rob

用法

开始之前,请注意roberto将安装miniconda,默认情况下 ~/miniconda3,如果还不存在。您可以通过设置 环境变量ROBERTO_CONDA_BASE_PATH或 在全局roberto配置文件~/.roberto.yaml

conda:base_path:<your/preferred/location>

例如,您可以使用此方法来避免对现有MICONDA安装的干扰。 然而,为了避免这种干扰,罗伯托还将使conda环境 对于每一个开发包,都有相对较长的名称。例如, 当roberto在自己的源树中执行时,conda环境将是 roberto-dev-python-3.7

要使用roberto,只需在源树的根中运行rob,其中 项目的.roberto.yaml已找到。使用rob --help获取 任务(如果您只想复制CI过程的一部分)。如果 您的${PATH}变量设置不正确,您还可以运行roberto作为 python3 -m roberto而不是rob

最好在每个git commit之前运行rob,以确保 提交的代码是干净的和有效的。

在使用CardboardLint工具和进行开发时 branch,cardboardlint将只显示linter消息 已经改变了。如果您想查看所有消息,请运行roberto as ROBERTO_ABS=1 rob

有关如何配置roberto的更多详细信息,请参见 文档:https://theochem.github.com/roberto

开发

如果您有问题或想法,请在github上打开一个问题。实用的 有关如何作出贡献的信息,请参阅 CONTRIBUTING.rst

roberto故意是一个小的代码库,因此可以很容易地理解 它的工作原理是正在读取源代码。罗伯托广泛使用invoke来避免编写大量的锅炉板代码。

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

推荐PyPI第三方库


热门话题
regex Java split(),使用包含特定字符的整个单词作为分隔符   java无法启动发现(Android附近连接API v2)   多线程Java:producerconsumer两个线程停止工作,冻结   java XDocReport:生成的docx文档错误“Word在尝试打开文件时遇到错误”   安卓 java。ClassCastException:java。util。无法将HashMap强制转换为com。保罗。ImapNotes。杂项。OneNote   找不到java CassandraSQLContext密钥   java重命名Derby模式   java是否可以扩展使用生成器模式和私有构造函数的类?   java如何获取Hotmail验证码图像   如何用Java在项目文件夹中创建文件?   java JOptionPane取消按钮和获取输入   变量如何打开equals语句以接受Java中的多个参数?   Ping url并获取java中的状态   tokenize是否有任何基于Java的智能单词标记器可以对句子中的相邻单词进行标记?   java如何从纹理下删除上面的纹理?   java递归除以3   弗莱希指数问题(Java)   Java正则表达式模式匹配在第二次出现时不起作用