程序生成的lookml
lookml-gen的Python项目详细描述
lookml生成器
以编程方式生成lookml
- 免费软件:apache软件许可证2.0
- 文档:https://lookml-gen.readthedocs.io。
功能
- 以编程方式生成lookml视图
- 在视图中包括维度、维度组、筛选器和度量值
- 支持持久派生表(pdt)
- 将输出写入文件或stringio缓冲区
快速启动
安装:
pip install lookml-gen
使用它:
from lookmlgen.view import View from lookmlgen.field import Dimension, DimensionGroup, Measure from lookmlgen.base_generator import GeneratorFormatOptions view_name = 'my_view' v = View(view_name, sql_table_name='my_table') v.add_field(Dimension('id', type='number', primary_key=True)) v.add_field(DimensionGroup('created')) v.add_field(Dimension('name')) v.add_field(Dimension('quantity', type='number')) v.add_field(Measure('total_quantity', sql='${TABLE}.quantity', type='sum')) with open('%s.view.lkml' % view_name, 'w') as f: v.generate_lookml(f, GeneratorFormatOptions(view_fields_alphabetical=False))
查看:
# STOP! This file was generated by an automated process. # Any edits you make will be lost the next time it is # re-generated. view: my_view { sql_table_name: my_table ;; dimension: id { type: number primary_key: yes sql: ${TABLE}.id ;; } dimension_group: created { type: time timeframes: ["time", "date", "week", "month"] datatype: datetime sql: ${TABLE}.created ;; } dimension: name { sql: ${TABLE}.name ;; } dimension: quantity { type: number sql: ${TABLE}.quantity ;; } measure: total_quantity { type: sum sql: ${TABLE}.quantity ;; } }
待办事项
完全lookml支持目前还远未完成。目前只是非常基本的 视图和字段的各个方面都得到了支持,但还不支持explore。 但是,它确实涵盖了最常见的功能,包括持久派生 桌子。代码很容易扩展,我们希望得到pull请求来填充 额外的功能。
学分
这个包是用Cookiecutter和audreyr/cookiecutter-pypackage项目模板创建的。
历史记录
0.1.0(2017-04-17)
- pypi上的第一个版本。
0.1.1(2017-04-17)
- 切换到lookmlgen以查找模块名称
0.1.2(2017-04-18)
- 将主键从字段移动到维度
- 删除用于命令行的存根
- 添加文档字符串
0.1.3(2017-04-20)
- ${table}.field\u name的默认字段sql参数
0.1.4(2017-04-20)
- 支持SQL表名称
- 是否为字母视图字段添加格式选项
0.1.5(2017-04-24)
- 重命名add_derived_table方法以在视图中设置_derived_table
0.1.7(2017-06-20)
- 添加了格式化选项,以省略未设置时生成参数的时间范围
- 将pytest更新为3.1.2,将cryptography更新为1.9,将sphinx更新为1.6.2
0.1.8(2017-06-23)
- 向字段中添加描述参数
0.1.9(2017-06-23)
- 字段类型节之间额外换行的错误修复