利用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第三方库


热门话题
安卓唯一约束失败,SQLite,Java   java preparedStatement。getString()方法不适用于嵌套sql查询   java如何使用意图将图像(jpg)从一个活动传递到另一个活动?   java无法使用resources文件夹中的文件进行jUnit测试   java Basic多线程程序   JavaSpring自定义转换为Bean或不转换为Bean   amazon web services如何使用AWS CLI 2将更新的JAR上载到现有的Java Elastic Beanstalk实例?   java 安卓:spinner提示符未在API>23中显示   Java表格输出到文件   仅当时间已过而不使用java中的计时器时才执行方法   java有没有一种更健壮的方法来实现依赖于通配符的字符串值的程序流?   未使用BaseAdapter实现在ListView上调用java OnItemLongClickListener   javascript Java Play2是否允许Json RPC调用?   java如何通过编程从doc和docx文件中删除用户身份信息?   JAVAlang.SecurityException:UID 10243在Android 10中没有粗略/精细位置权限