利用luigi快速开发管道的框架

lor的Python项目详细描述


Build Status

alpha构建:使用luigi快速开发管道的框架

[documentation]

功能:

  • luigi项目配置方法的约定
  • 标准工作区创建(lor new
  • 配置加载
  • 以工作区为中心的命令行(newexplainlsrun等)
  • 实用程序任务(例如EnsureExistsOnLocalFilesystemTask
  • 用于管理长时间运行的子流程、构建cli等的其他实用程序。

安装

要安装,请使用pip:

$ pip install lor

或者克隆回购协议:

$ git clone https://github.com/adamkewley/lor.git

$ python setup.py install

用法

安装后,lor可以从命令行使用:

$ lor new foo

这将在foo/创建一个lor工作区。lorworkspace是一个标准的python3 pip项目,它依赖于 lor作为依赖项(如果不需要,可以将其删除)。lor命令行命令可以检测 终端位于lor工作区中,为在标准工作区中工作提供了方便的命令。

lor编写的任务只是标准的luigi任务。lor库提供了各种实用方法, 典型的项目可能会发现有用的(所有可选)。例如,lor提供了一个props模块,您可以使用它来 在运行时加载配置属性:

# foo/tasks/barimportlor.propsimportluigiclassBarTask(luigi.Task):output_path=luigi.Parameter()defrun(self):withopen(str(self.output_path),"w")asf:config_prop=lor.props.get("CONFIG_PROP")f.write(config_prop)defoutput(self):returnluigi.LocalTarget(self.output_path)

上面是一个标准的luigi任务,它使用lor从 工作区(位于工作区中的etc/properties.yml。该任务是标准的luigi任务,因此可以从 路易吉直接:

$ luigi –module foo.tasks.bar BarTask –output-path some/path

lor run命令也可用于运行任务:

$ lor run –module foo.tasks.bar BarTask –output-path some/path

lor run命令通过代理运行luigi,因此它实际上具有相同的接口。但是,lor run也 添加有用的功能,例如在运行时重写变量值的功能:

$ lor run –properties CONFIG_PROP=overridden –module foo.tasks.bar BarTask –output-path some/path

然后,任务将向输出文件写入“overrided”,而不是从工作区的配置中加载的内容。 文件。这是因为lor run在运行luigi之前使用覆盖引导工作区全局。

待办事项:此文档正在处理中

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

推荐PyPI第三方库


热门话题
java从服务器中的jsp页面读取参数   java构造函数会话(字符串,int)不可见   在java中计算特定字符,但我的程序只读取单词中的第一个字符   在java中转换为json的Hashmap的Hashmap。当发送到jsp时,我用javascript解析它。但它在javascript中的解析不正确   JavaSpringDataREST并没有保存实体的所有字段   java如何通过inten共享图像   eclipse是Java所需要的。即使已定义,也要运行的类文件   rest MapStruct Java流   java在OpenJDK 11的源代码上运行DocumentationTool   比较两个ArrayList索引时的java IndexOutOfBoundsException   java为什么Spring验证器需要将错误对象传递给应用程序(富客户端)并由其处理?   java Android从sms垃圾邮件文件夹或列表中检索垃圾邮件号码   java从匿名类参数访问类的实例   java MethodHandle与通用非类返回筛选器?   指定队列顺序的java