.xbuilder.expression_dimension

class experimental_experiment.xbuilder.expression_dimension.Expression(expr: str, parsed: Expression | None = None)[source]

A formula using dimension.

Parameters:
  • expr – a string

  • parsed – parsed tree (from ast.parse())

isidentifier()[source]

Tells if this expression is a single dimension or an expression.

class experimental_experiment.xbuilder.expression_dimension.ExpressionSimplifier(expr: str | None = None)[source]
class experimental_experiment.xbuilder.expression_dimension.RenameTransformer(mapping)[source]
experimental_experiment.xbuilder.expression_dimension.parse_expression(expr: str, context: Dict[str, Any] | None = None, exc: bool = True) Expression[source]

Parses an expression involving dimensions.

Parameters:
  • expr – an expression

  • exc – raises an exception if it fails

  • context – known variables (or dimensions)

Returns:

an expression

experimental_experiment.xbuilder.expression_dimension.parse_expression_tokens(expr: str)[source]

Extracts the token from an expression.

experimental_experiment.xbuilder.expression_dimension.rename_expression(expr: str, mapping: Dict[str, str]) str[source]

Renames variables in a Python expression using AST.

Parameters:
  • expr – Python expression as string

  • mapping – Mapping from old names to new names

Returns:

rransformed expression

experimental_experiment.xbuilder.expression_dimension.simplify_expression(expr: str) str[source]

Simplifies an expression.

experimental_experiment.xbuilder.expression_dimension.simplify_two_expressions(expr1: str, expr2: str) str[source]

Simplifies an expression exp1 == exp2.