处理lookml文件的工具集:linter、updater和grapher

lookml-tools的Python项目详细描述


lookml工具

这个存储库包含一些工具来处理一组开发人员处理lookml文件的最佳实践。

有三种工具:

  • LookML updater
  • LookML linter
  • LookML grapher

站点:

lookml更新程序

第一个工具有助于解决dimensionsmeasures的官方定义问题,例如在业务术语表中从其他系统中脱离同步。这里实现的解决方案是有一个远程主列表,其定义被传播到lookml。因此,给定给定lookmldimensiondimension_groupmeasure的一些远程定义,将其注入lookml。

完整的文档是here

lookml短绒

第二个工具帮助我们检查lookml是否符合某些给定的编码标准和lookml开发人员的最佳实践。它对lookml文件运行一系列检查,并报告哪些files,或者哪些dimensionsdimension_groups,或者measures未通过这些检查。

完整的文档是here

lookml图示器

第三个工具创建model - explore - view关系的“网络图”,并写入PNG图像文件。代码还将标识任何orphans,即没有被任何模型或探索引用的视图。

完整的文档是here

安装

对于grapher,您需要安装graviz:

brew install graphviz

对于所有工具,您都需要安装依赖项:

  pip install -r requirements.txt

您可以通过pip:

安装lookml-tools的python代码库
  pip install lookml-tools

一位用户报告说,要使这一切正常工作,必须安装特定版本的pandas(pandas==0.24.0)。YMMV公司。

或者,您也可以使用

  python setup.py install

单元测试

有一个测试套件,代码覆盖率接近100%

使用

pip install pytest-cov

python -m pytest --cov=lkmltools/ test/*.py ; coverage html

开发人员注释

有一些关于linterhere的开发人员说明。

贡献

我们希望得到您的反馈、建议,特别是对项目的贡献。创建拉取请求!

你可以直接通过carl.anderson@weightwatchers.com@leapingllamas在twitter上联系我。

发行说明

2019-07-17:2.0.1

将缺少的lkml添加到requirements.txt

2019-07-17:2.0.0

考虑到以下两个更改的影响,这是一个主要版本:

  • Josh Temple's新的python lkml解析器(https://pypi.org/project/lkml/)替换了基于节点的lookml解析器。这简化了安装、依赖关系管理和底层解析的json格式。
  • 通过LookMLLookMLField类添加抽象层,以便规则和其他代码可以通过方法查询lookml属性,而不是检查原始json。

其他更改:

  • lkmltools.RuleFactory现在是单例,因此用户更容易注册自己的规则。
  • 现在可以通过向该规则的字典中添加其他键来参数化配置中的任何规则。 例如,如果配置定义了{"name": "MyAwesomeRule", "run": true, "debug": true, "strict_mode":true, length: 6},那么在规则实例化过程中将整个字典传递给构造函数。

2019-06-10:1.0.0

  • 初始版本

许可证

版权所有2019 WW International,Inc.

根据apache许可证2.0版(以下简称“许可证”)授权; 除非符合许可证,否则您不能使用此文件。 您可以在

http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则软件 根据许可证分发是按“原样”分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。

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

推荐PyPI第三方库


热门话题
java如何从同步请求中获取响应代码   具有深度复制的类中的Java oop getter/setter   java LDAP“简单”用户身份验证(JNDI Tomcat)不稳定?   java将Jenkins jnlp代理设置为通过API以编程方式使用WebSocket   java如何获取在servlet筛选器的静态块中启动的静态类的实例?   前两个数字的java charAt循环不能循环它   java在Spring引导执行器中是否有检查子服务运行状况的标准方法?   java我可以将jacksonmapped@JsonProperties推到“顶层”吗?   json JAVA:opencsv随机读取CSV单元格   无第三方应用程序的java捆绑包JRE   使用openidConnectClient功能的WAS Liberty中出现java无效cookie标头错误   java如何在Restful Web服务中从Http Post获取数组?   java如何读取安卓开发的JSON url?   如何在java IO中打开包含汉字的文件?