fireant.slicer package¶
Subpackages¶
- fireant.slicer.queries package
- Submodules
- fireant.slicer.queries.builder module
- fireant.slicer.queries.database module
- fireant.slicer.queries.finders module
- fireant.slicer.queries.logger module
- fireant.slicer.queries.makers module
- fireant.slicer.queries.references module
- fireant.slicer.queries.special_cases module
- Module contents
- fireant.slicer.widgets package
- Submodules
- fireant.slicer.widgets.base module
- fireant.slicer.widgets.csv module
- fireant.slicer.widgets.datatables module
- fireant.slicer.widgets.helpers module
- fireant.slicer.widgets.highcharts module
- fireant.slicer.widgets.matplotlib module
- fireant.slicer.widgets.pandas module
- fireant.slicer.widgets.reacttable module
- Module contents
Submodules¶
fireant.slicer.base module¶
-
class
fireant.slicer.base.
SlicerElement
(key, label=None, definition=None, display_definition=None)[source]¶ Bases:
object
The SlicerElement class represents an element of the slicer, either a metric or dimension, which contains information about such as how to query it from the database.
-
has_display_field
¶
-
fireant.slicer.dimensions module¶
-
class
fireant.slicer.dimensions.
BooleanDimension
(key, label=None, definition=None, hyperlink_template=None)[source]¶ Bases:
fireant.slicer.dimensions.Dimension
This is a dimension that represents a boolean true/false value. The expression should always result in a boolean value.
-
class
fireant.slicer.dimensions.
CategoricalDimension
(key, label=None, definition=None, hyperlink_template=None, display_values=())[source]¶ Bases:
fireant.slicer.dimensions.PatternFilterableMixin
,fireant.slicer.dimensions.Dimension
This is a dimension that represents an enum-like database field, with a finite list of options to chose from. It provides support for configuring a display value for each of the possible values.
-
class
fireant.slicer.dimensions.
ContinuousDimension
(key, label=None, definition=None, hyperlink_template=None, default_interval=NumericInterval(size=1, offset=0))[source]¶ Bases:
fireant.slicer.dimensions.Dimension
This is a dimension that represents a field in the database which is a continuous value, such as a decimal, integer, or date/time. It requires the use of an interval which is the window over the values.
-
class
fireant.slicer.dimensions.
DatetimeDimension
(key, label=None, definition=None, hyperlink_template=None, default_interval=DatetimeInterval('day'))[source]¶ Bases:
fireant.slicer.dimensions.ContinuousDimension
A subclass of ContinuousDimension which reflects a date/time data type. Intervals are replaced with time intervals such as daily, weekly, annually, etc. A reference can be used to show a comparison over time such as week-over-week or month-over-month.
-
between
(start, stop)[source]¶ Creates a filter to filter a slicer query.
Parameters: - start – The start time of the filter. This is the beginning of the window for which results should be included.
- stop – The stop time of the filter. This is the end of the window for which results should be included.
Returns: A slicer query filter used to filter a slicer query to results where this dimension is between the values start and stop.
-
-
class
fireant.slicer.dimensions.
Dimension
(key, label=None, definition=None, display_definition=None, hyperlink_template=None)[source]¶ Bases:
fireant.slicer.base.SlicerElement
The Dimension class represents a dimension in the Slicer object.
Parameters: - alias – A unique identifier used to identify the metric when writing slicer queries. This value must be unique over the metrics in the slicer.
- definition – A pypika expression which is used to select the value when building SQL queries.
- display_definition – A pypika expression which is used to select the display value for this dimension.
- hyperlink_template – A hyperlink template for constructing a URL that can link a value for a dimension to a web page. This is used by some transformers such as the ReactTable transformer for displaying hyperlinks.
-
rollup
(*args, mutate=False, **kwargs)¶ Parameters: mutate – When True, overrides the immutable behavior of this decorator.
-
class
fireant.slicer.dimensions.
DisplayDimension
(dimension)[source]¶ Bases:
fireant.slicer.dimensions._UniqueDimensionBase
WRITEME
-
class
fireant.slicer.dimensions.
PatternFilterableMixin
[source]¶ Bases:
object
-
definition
= None¶
-
key
= None¶
-
like
(pattern, *patterns)[source]¶ Creates a filter to filter a slicer query.
Parameters: - pattern – A pattern to match against the dimension’s display definition. This pattern is used in the SQL query as the LIKE expression.
- patterns – Additional patterns. This is the same as the pattern argument. The function signature is intended to syntactically require at least one pattern.
Returns: A slicer query filter used to filter a slicer query to results where this dimension’s display definition matches the pattern.
-
not_like
(pattern, *patterns)[source]¶ Creates a filter to filter a slicer query.
Parameters: - pattern – A pattern to match against the dimension’s display definition. This pattern is used in the SQL query as the NOT LIKE expression.
- patterns – Additional patterns. This is the same as the pattern argument. The function signature is intended to syntactically require at least one pattern.
Returns: A slicer query filter used to filter a slicer query to results where this dimension’s display definition matches the pattern.
-
pattern_definition_attribute
= 'definition'¶
-
-
class
fireant.slicer.dimensions.
UniqueDimension
(key, label=None, definition=None, display_definition=None, hyperlink_template=None)[source]¶ Bases:
fireant.slicer.dimensions._UniqueDimensionBase
This is a dimension that represents a field in a database which is a unique identifier, such as a primary/foreign key. It provides support for a display value field which is selected and used in the results.
-
has_display_field
¶
-
like
(pattern, *patterns)[source]¶ Creates a filter to filter a slicer query.
Parameters: - pattern – A pattern to match against the dimension’s display definition. This pattern is used in the SQL query as the LIKE expression.
- patterns – Additional patterns. This is the same as the pattern argument. The function signature is intended to syntactically require at least one pattern.
Returns: A slicer query filter used to filter a slicer query to results where this dimension’s display definition matches the pattern.
-
not_like
(pattern, *patterns)[source]¶ Creates a filter to filter a slicer query.
Parameters: - pattern – A pattern to match against the dimension’s display definition. This pattern is used in the SQL query as the NOT LIKE expression.
- patterns – Additional patterns. This is the same as the pattern argument. The function signature is intended to syntactically require at least one pattern.
Returns: A slicer query filter used to filter a slicer query to results where this dimension’s display definition matches the pattern.
-
fireant.slicer.exceptions module¶
Bases:
Exception
fireant.slicer.filters module¶
-
class
fireant.slicer.filters.
AntiPatternFilter
(dimension_key, dimension_definition, pattern, *patterns)[source]¶
-
class
fireant.slicer.filters.
ComparatorFilter
(metric_key, metric_definition, operator, value)[source]¶
-
class
fireant.slicer.filters.
PatternFilter
(dimension_key, dimension_definition, pattern, *patterns)[source]¶
fireant.slicer.intervals module¶
fireant.slicer.joins module¶
fireant.slicer.metrics module¶
-
class
fireant.slicer.metrics.
Metric
(key, definition, label=None, precision=None, prefix=None, suffix=None)[source]¶ Bases:
fireant.slicer.base.SlicerElement
The Metric class represents a metric in the Slicer object.
Parameters: - alias – A unique identifier used to identify the metric when writing slicer queries. This value must be unique over the metrics in the slicer.
- definition – A pypika expression which is used to select the value when building SQL queries. For metrics, this query must be aggregated, since queries always use a
GROUP BY
clause an metrics are not used as a group. - label – (optional) A display value used for the metric. This is used for rendering the labels within the visualizations. If not set, the alias will be used as the default.
- precision – (optional) A precision value for rounding decimals. By default, no rounding will be applied.
- prefix – (optional) A prefix for rendering labels in visualizations such as ‘$’
- suffix – A suffix for rendering labels in visualizations such as ‘€’
Parameters: mutate – When True, overrides the immutable behavior of this decorator.
fireant.slicer.operations module¶
-
class
fireant.slicer.operations.
Operation
[source]¶ Bases:
object
The Operation class represents an operation in the Slicer API.
-
metrics
¶
-
operations
¶
-
-
class
fireant.slicer.operations.
RollingOperation
(arg, window, min_periods=None)[source]¶ Bases:
fireant.slicer.operations._BaseOperation
-
metrics
¶
-
operations
¶
-
Bases:
fireant.slicer.operations._BaseOperation
fireant.slicer.references module¶
-
class
fireant.slicer.references.
Reference
(dimension, reference_type, delta=False, delta_percent=False)[source]¶ Bases:
object
-
class
fireant.slicer.references.
ReferenceType
(key, label, time_unit: str, interval: int)[source]¶ Bases:
object
-
fireant.slicer.references.
reference_key
(metric, reference)[source]¶ Format a metric key for a reference.
Returns: A string that is used as the key for a reference metric.
-
fireant.slicer.references.
reference_label
(metric, reference)[source]¶ Format a metric label for a reference.
Returns: A string that is used as the display value for a reference metric.
-
fireant.slicer.references.
reference_prefix
(metric, reference)[source]¶ Return the prefix for a metric displayed for a reference (or no Reference)
Returns: A string that is used as the prefix for a reference metric.
-
fireant.slicer.references.
reference_suffix
(metric, reference)[source]¶ Return the suffix for a metric displayed for a reference (or no Reference)
Returns: A string that is used as the suffix for a reference metric.
-
fireant.slicer.references.
reference_term
(reference: fireant.slicer.references.Reference, original_query: pypika.queries.QueryBuilder, ref_query: pypika.queries.QueryBuilder)[source]¶ Part of query building. Given a reference, the original slicer query, and the ref query, creates the pypika for the reference that should be selected in the reference container query.
Parameters: - reference –
- original_query –
- ref_query –
Returns: