一个库,用于在不同的隔离状态下运行git存储库中的python函数(可调用函数),并集成缓存。

arca的Python项目详细描述


ARCA

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<.shields.shields.shields.shields.io.io.io.io C64732E696F2F636F64636F762F632F67697465622F6D696B69637A2F617263612E737667"/> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< https://img.shields.io/github/license/mikicz/arca.svg?

arca是一个库,用于在不同的隔离状态下从git存储库运行python函数(callables)。 arca还可以使用dogpile.cache来缓存这些可调用文件的结果。

入门

词汇表

  • arca -库的名称。当写为arca时,主接口类被引用。
  • 任务 -函数的定义(可调用),包括对对象和参数的引用。
  • 后端 -一种运行任务的方式。

安装
要求
  • python=3.6

某些后端的要求:

安装

要安装最新的稳定版本:

啊!

如果要使用Docker后端:

啊!

或者如果您想使用Vagrant后端:

啊!

或者如果您希望安装上游版本:

啊!

示例

要运行hello world示例,您只需要 arca.arca arca.task 类。 task 用于定义应该在存储库中运行的任务。 arca 负责所有设置,并提供运行任务的基本api。

假设我们有以下文件,名为 hello world.py , 在存储库https://example.com/hello/word.git中,在branch master

啊!

要使用arca调用函数,以下示例将执行此操作:

fromarcaimportArca,Tasktask=Task("hello_world:say_hello")arca=Arca()result=arca.run("https://example.com/hello_word.git","master",task)print(result.output)

代码将打印"Hello World" result 将是一个 arca.result 实例。 arca.result 有三个属性, output 带有函数调用的返回值, stdout stderr 包含打印到标准输出的内容 (有关捕获标准输出的更多信息,请参阅关于 结果的部分)。 如果任务失败,将引发arca.exceptions.builderror。

默认情况下,当前环境后端用于运行任务, 它使用当前的python,在子进程中启动代码。您可以在这里了解后端

进一步阅读

您可以在阅读文档时阅读完整的文档。

运行测试

要运行测试,您需要可选的需求docker和vagrant。一旦你有了它们,它们就可以被 您只需运行的当前用户:

python setup.py test

这将启动测试和PEP8检查。自创建自定义项以来,测试将需要一段时间 Docker Images也经过测试,一般来说,Wagrant需要很长时间才能设置。

贡献

欢迎投稿!可以在github上打开问题或提交请求!

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

推荐PyPI第三方库


热门话题
java如何在另一个承诺中解决一个承诺?   java验证字符串输入   如何在Java中将数组转换为链表   配置Logstash以从socket接收数据,并将其插入java中的Elasticsearch   swing构建在Java中以相同顺序运行的JFrame   java什么是工具箱的正确路径。getImage()?   java springbootgradleplugin是否随springboot版本一起移动?   升级gradle插件后,java gradle项目同步仍失败   java CXF服务调用失败,出现意外命名空间上的解组错误   Javaservlet。servlet ctakesrestservice的init()引发异常   java我需要什么正则表达式来读取这个值'12,'   java如何使用Xstream在现有xml文件中导入带有节点的字符串?   基于特殊字符的java子串   java hibernate从查询创建通用对象