一个库,用于在不同的隔离状态下运行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第三方库


热门话题
JavaEclipseMars没有保存首选项   java梯度同步失败:原因:启动失败:   java如何从嵌套的JSON获取数据?   java如何判断可观察对象中的任何对象满足一个条件?   java将字符串转换为保持相同值的byte[]数组   java有没有办法绕过AuditingEntityListener为测试设置数据?   从/usr/share/java中解析linux JAR依赖关系   安卓 My java函数抛出nullpointerexception?   java Gradle使用正确版本的依赖项   JBoss和Java6中带注释的WebService中的web服务ClassCastException   java如何修复codename one中的简单逻辑错误?   java如何迭代矩阵的索引?   java如何在JPanel不可见时将其保存为图像?   java HashMap如何在Kotlin中实现MutableMap接口?   javascript如何在单击后加载特定片段?   EclipseJava为纳什均衡获取所有玩家/策略组合   JavaSpring:Web服务REST在JSON上产生双反斜杠   java为什么ServletContext#getRealPath(“/”)返回相对路径?   java当我的游戏应该重新启动时,我应该如何处理重置SurfaceView和线程?