lookmlgen package¶
Submodules¶
lookmlgen.base_generator module¶
File name: base_generator.py Author: joeschmid Date created: 4/8/17
-
class
lookmlgen.base_generator.
BaseGenerator
(file=None, format_options=<lookmlgen.base_generator.GeneratorFormatOptions object>)[source]¶ Bases:
object
Abstract base class for any subclass that generates LookML
Parameters: - file (File handle or StringIO object) – File handle of a file open for writing or a StringIO object
- format_options (
GeneratorFormatOptions
) – Formatting options to use during generation
-
generate_lookml
(file=None, format_options=None)[source]¶ Implement this method in subclasses to generate LookML
Parameters: - file (File handle or StringIO object) – File handle of a file open for writing or a StringIO object
- format_options (
GeneratorFormatOptions
) – Formatting options to use during generation
-
class
lookmlgen.base_generator.
GeneratorFormatOptions
(indent_spaces=2, newline_between_items=True, omit_default_field_type=True, view_fields_alphabetical=True, warning_header_comment='# STOP! This file was generated by an automated process.n# Any edits you make will be lost the next time it isn# re-generated.n', omit_time_frames_if_not_set=False)[source]¶ Bases:
object
Specify formatting options to be used during LookML generation
Parameters: - indent_spaces (int) – Number of spaces to indent
- newline_between_items (bool) – Add a newline between items
- omit_default_field_type (bool) – Leave out ‘type: string’
- warning_header_comment (string) – Text to use as a comment as the top of the file warning the user that the file will get overwritten
- omit_time_frames_if_not_set (bool) – If no time frame is specified for a dimension_group field, omit the time_frames parameter. If timeframes is not included every timeframe option will be added to the dimension group.
lookmlgen.cli module¶
lookmlgen.field module¶
File name: field.py Author: joeschmid Date created: 4/9/17
-
class
lookmlgen.field.
Dimension
(name, primary_key=None, **kwargs)[source]¶ Bases:
lookmlgen.field.Field
Generates LookML for a dimension field in a
View
Parameters: - name (string) – Name of the dimension
- primary_key (bool) – Flag to designate the field as a primary key
-
class
lookmlgen.field.
DimensionGroup
(name, timeframes=None, datatype='datetime', **kwargs)[source]¶ Bases:
lookmlgen.field.Field
- Generates LookML for a dimension_group field in a
View
Parameters: - name (string) – Name of the dimension group
- timeframes (list of strings) – Timeframes for the group
- datatype (string) – Datatype for the group, defaults to ‘datetime’
-
class
lookmlgen.field.
Field
(field_type, name, type='string', label=None, sql=None, hidden=None, file=None, group_label=None, description=None, **kwargs)[source]¶ Bases:
lookmlgen.base_generator.BaseGenerator
Base class used to generate fields within a
View
Parameters: - field_type (a class variable from
FieldType
) – Name of the view - name (string) – Name of the field
- type (string) – Type of the field contents, e.g. string, number, etc.
- label (string) – Label to use when displaying the field
- sql (string) – SQL snippet for the field
- hidden (bool) – Flag to designate the field as hidden
- file (File handle or StringIO object) – File handle of a file open for writing or a StringIO object
- group_label (string) – Group label to use for grouping the field
- description (string) – Field description that is show if a user hovers over the help link in the field picker
-
generate_lookml
(file=None, format_options=None)[source]¶ Writes LookML for a field to a file or StringIO buffer.
Parameters: - file (File handle or StringIO object) – File handle of a file open for writing or a StringIO object
- format_options (
GeneratorFormatOptions
) – Formatting options to use during generation
- field_type (a class variable from
-
class
lookmlgen.field.
FieldType
[source]¶ Bases:
object
Enum-style class used to specify known Field types
-
DIMENSION
= 1¶
-
DIMENSION_GROUP
= 2¶
-
FILTER
= 3¶
-
MEASURE
= 4¶
-
-
class
lookmlgen.field.
Filter
(name, **kwargs)[source]¶ Bases:
lookmlgen.field.Field
- Generates LookML for a filter field in a
View
Parameters: name (string) – Name of the filter
-
class
lookmlgen.field.
Measure
(name, **kwargs)[source]¶ Bases:
lookmlgen.field.Field
- Generates LookML for a measure field in a
View
Parameters: name (string) – Name of the measure
lookmlgen.util module¶
File name: util.py Author: joeschmid Date created: 4/16/17
lookmlgen.view module¶
File name: view.py Author: joeschmid Date created: 4/8/17
-
class
lookmlgen.view.
DerivedTable
(sql, sql_trigger_value=None, indexes=None, file=None)[source]¶ Bases:
lookmlgen.base_generator.BaseGenerator
Generates the LookML View parameters to support derived tables, including persistent derived tables (PDTs).
Parameters: - sql (string) – SQL statement to execute
- sql_trigger_value (string) – SQL to determine when to trigger build
- indexes (list of strings) – List of coluxn names to use as indexes
- file (File handle or StringIO object) – File handle of a file open for writing or a StringIO object
-
generate_lookml
(file=None, format_options=None)[source]¶ Writes LookML for a derived table to a file or StringIO buffer.
Parameters: - file (File handle or StringIO object) – File handle of a file open for writing or a StringIO object
- format_options (
GeneratorFormatOptions
) – Formatting options to use during generation
-
class
lookmlgen.view.
View
(name, label=None, sql_table_name=None, file=None)[source]¶ Bases:
lookmlgen.base_generator.BaseGenerator
Generates a LookML View
Initialize a View object with your parameters, add Fields such as
Dimension
,Measure
,DimensionGroup
, andFilter
, and then generate LookML for the view usinggenerate_lookml()
Parameters: - name (string) – Name of the view
- label (string) – Label to use for the view (may contain spaces)
- sql_table_name (list of strings) – Name of the SQL table to use in the view
- file (File handle or StringIO object) – File handle of a file open for writing or a StringIO object
-
generate_lookml
(file=None, format_options=None)[source]¶ Writes LookML for the view to a file or StringIO buffer.
Parameters: - file (File handle or StringIO object) – File handle of a file open for writing or a StringIO object
- format_options (
GeneratorFormatOptions
) – Formatting options to use during generation
-
set_derived_table
(derived_table)[source]¶ Adds a
DerivedTable
object to aView