vtlengine 1.4.0rc2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. vtlengine/API/_InternalApi.py +791 -0
  2. vtlengine/API/__init__.py +612 -0
  3. vtlengine/API/data/schema/external_routines_schema.json +34 -0
  4. vtlengine/API/data/schema/json_schema_2.1.json +116 -0
  5. vtlengine/API/data/schema/value_domain_schema.json +97 -0
  6. vtlengine/AST/ASTComment.py +57 -0
  7. vtlengine/AST/ASTConstructor.py +598 -0
  8. vtlengine/AST/ASTConstructorModules/Expr.py +1928 -0
  9. vtlengine/AST/ASTConstructorModules/ExprComponents.py +995 -0
  10. vtlengine/AST/ASTConstructorModules/Terminals.py +790 -0
  11. vtlengine/AST/ASTConstructorModules/__init__.py +50 -0
  12. vtlengine/AST/ASTDataExchange.py +10 -0
  13. vtlengine/AST/ASTEncoders.py +32 -0
  14. vtlengine/AST/ASTString.py +675 -0
  15. vtlengine/AST/ASTTemplate.py +558 -0
  16. vtlengine/AST/ASTVisitor.py +25 -0
  17. vtlengine/AST/DAG/__init__.py +479 -0
  18. vtlengine/AST/DAG/_words.py +10 -0
  19. vtlengine/AST/Grammar/Vtl.g4 +705 -0
  20. vtlengine/AST/Grammar/VtlTokens.g4 +409 -0
  21. vtlengine/AST/Grammar/__init__.py +0 -0
  22. vtlengine/AST/Grammar/lexer.py +2139 -0
  23. vtlengine/AST/Grammar/parser.py +16597 -0
  24. vtlengine/AST/Grammar/tokens.py +169 -0
  25. vtlengine/AST/VtlVisitor.py +824 -0
  26. vtlengine/AST/__init__.py +674 -0
  27. vtlengine/DataTypes/TimeHandling.py +562 -0
  28. vtlengine/DataTypes/__init__.py +863 -0
  29. vtlengine/DataTypes/_time_checking.py +135 -0
  30. vtlengine/Exceptions/__exception_file_generator.py +96 -0
  31. vtlengine/Exceptions/__init__.py +159 -0
  32. vtlengine/Exceptions/messages.py +1004 -0
  33. vtlengine/Interpreter/__init__.py +2048 -0
  34. vtlengine/Model/__init__.py +501 -0
  35. vtlengine/Operators/Aggregation.py +357 -0
  36. vtlengine/Operators/Analytic.py +455 -0
  37. vtlengine/Operators/Assignment.py +23 -0
  38. vtlengine/Operators/Boolean.py +106 -0
  39. vtlengine/Operators/CastOperator.py +451 -0
  40. vtlengine/Operators/Clause.py +366 -0
  41. vtlengine/Operators/Comparison.py +488 -0
  42. vtlengine/Operators/Conditional.py +495 -0
  43. vtlengine/Operators/General.py +191 -0
  44. vtlengine/Operators/HROperators.py +254 -0
  45. vtlengine/Operators/Join.py +447 -0
  46. vtlengine/Operators/Numeric.py +422 -0
  47. vtlengine/Operators/RoleSetter.py +77 -0
  48. vtlengine/Operators/Set.py +176 -0
  49. vtlengine/Operators/String.py +578 -0
  50. vtlengine/Operators/Time.py +1144 -0
  51. vtlengine/Operators/Validation.py +275 -0
  52. vtlengine/Operators/__init__.py +900 -0
  53. vtlengine/Utils/__Virtual_Assets.py +34 -0
  54. vtlengine/Utils/__init__.py +479 -0
  55. vtlengine/__extras_check.py +17 -0
  56. vtlengine/__init__.py +27 -0
  57. vtlengine/files/__init__.py +0 -0
  58. vtlengine/files/output/__init__.py +35 -0
  59. vtlengine/files/output/_time_period_representation.py +55 -0
  60. vtlengine/files/parser/__init__.py +240 -0
  61. vtlengine/files/parser/_rfc_dialect.py +22 -0
  62. vtlengine/py.typed +0 -0
  63. vtlengine-1.4.0rc2.dist-info/METADATA +89 -0
  64. vtlengine-1.4.0rc2.dist-info/RECORD +66 -0
  65. vtlengine-1.4.0rc2.dist-info/WHEEL +4 -0
  66. vtlengine-1.4.0rc2.dist-info/licenses/LICENSE.md +661 -0
@@ -0,0 +1,169 @@
1
+ """
2
+ lexer.tokens.py
3
+ ===============
4
+
5
+ Description
6
+ -----------
7
+ Vtl Token centralized.
8
+ """
9
+
10
+ # General
11
+ PASSIGN = "<-"
12
+ ASSIGN = ":="
13
+ MEMBERSHIP = "#"
14
+ LPAREN = "("
15
+ RLPAREN = ")"
16
+ COMMA = ","
17
+ COLON = ":"
18
+ SCOLON = ";"
19
+ # Numeric operators.
20
+ PLUS = "+"
21
+ MINUS = "-"
22
+ MULT = "*"
23
+ DIV = "/"
24
+ MOD = "mod"
25
+ ROUND = "round"
26
+ TRUNC = "trunc"
27
+ CEIL = "ceil"
28
+ FLOOR = "floor"
29
+ ABS = "abs"
30
+ EXP = "exp"
31
+ LN = "ln"
32
+ POWER = "power"
33
+ LOG = "log"
34
+ SQRT = "sqrt"
35
+ RANDOM = "random"
36
+ # Boolean operators.
37
+ AND = "and"
38
+ OR = "or"
39
+ XOR = "xor"
40
+ NOT = "not"
41
+ # Comparison operators.
42
+ EQ = "="
43
+ NEQ = "<>"
44
+ GT = ">"
45
+ GTE = ">="
46
+ LT = "<"
47
+ LTE = "<="
48
+ BETWEEN = "between"
49
+ IN = "in"
50
+ NOT_IN = "not_in"
51
+ CHARSET_MATCH = "match_characters"
52
+ ISNULL = "isnull"
53
+ EXISTS_IN = "exists_in"
54
+ # String operators.
55
+ CONCAT = "||"
56
+ TRIM = "trim"
57
+ RTRIM = "rtrim"
58
+ LTRIM = "ltrim"
59
+ UCASE = "upper"
60
+ LCASE = "lower"
61
+ SUBSTR = "substr"
62
+ REPLACE = "replace"
63
+ INSTR = "instr"
64
+ LEN = "length"
65
+ # Set operators.
66
+ UNION = "union"
67
+ INTERSECT = "intersect"
68
+ SETDIFF = "setdiff"
69
+ SYMDIFF = "symdiff"
70
+ # Conditional Operators.
71
+ IF = "if"
72
+ THEN = "then"
73
+ ELSE = "else"
74
+ CASE = "case"
75
+ NVL = "nvl"
76
+ # Clause Operators.
77
+ FILTER = "filter"
78
+ CALC = "calc"
79
+ AGGREGATE = "aggr"
80
+ KEEP = "keep"
81
+ DROP = "drop"
82
+ RENAME = "rename"
83
+ PIVOT = "pivot"
84
+ UNPIVOT = "unpivot"
85
+ SUBSPACE = "sub"
86
+ # Time Operators.
87
+ PERIOD_INDICATOR = "period_indicator"
88
+ FILL_TIME_SERIES = "fill_time_series"
89
+ FLOW_TO_STOCK = "flow_to_stock"
90
+ STOCK_TO_FLOW = "stock_to_flow"
91
+ TIMESHIFT = "timeshift"
92
+ TIME_AGG = "time_agg"
93
+ CURRENT_DATE = "current_date"
94
+ DATEDIFF = "datediff"
95
+ DATE_ADD = "dateadd"
96
+ YEAR = "year"
97
+ MONTH = "month"
98
+ DAYOFMONTH = "dayofmonth"
99
+ DAYOFYEAR = "dayofyear"
100
+ DAYTOYEAR = "daytoyear"
101
+ DAYTOMONTH = "daytomonth"
102
+ YEARTODAY = "yeartoday"
103
+ MONTHTODAY = "monthtoday"
104
+ # Join Operators.
105
+ INNER_JOIN = "inner_join"
106
+ LEFT_JOIN = "left_join"
107
+ CROSS_JOIN = "cross_join"
108
+ FULL_JOIN = "full_join"
109
+ # Hierarchical aggregation.
110
+ HIERARCHY = "hierarchy"
111
+ # Aggregate and analytic Operators.
112
+ COUNT = "count"
113
+ MIN = "min"
114
+ MAX = "max"
115
+ MEDIAN = "median"
116
+ SUM = "sum"
117
+ AVG = "avg"
118
+ STDDEV_POP = "stddev_pop"
119
+ STDDEV_SAMP = "stddev_samp"
120
+ VAR_POP = "var_pop"
121
+ VAR_SAMP = "var_samp"
122
+ FIRST_VALUE = "first_value"
123
+ LAST_VALUE = "last_value"
124
+ LAG = "lag"
125
+ LEAD = "lead"
126
+ RANK = "rank"
127
+ RATIO_TO_REPORT = "ratio_to_report"
128
+ # Data validation Operators.
129
+ CHECK_DATAPOINT = "check_datapoint"
130
+ CHECK_HIERARCHY = "check_hierarchy"
131
+ CHECK = "check"
132
+ # Role Operators.
133
+ IDENTIFIER = "identifier"
134
+ MEASURE = "measure"
135
+ ATTRIBUTE = "attribute"
136
+ VIRAL_ATTRIBUTE = "viral"
137
+ # Other Operators.
138
+ TO = "to"
139
+ AS = "as"
140
+ USING = "using"
141
+ OPTIONAL = "_"
142
+ HAVING = "having"
143
+ WHEN = "when"
144
+ # Helping Tokens
145
+ GROUP_BY = "group by"
146
+ GROUP_EXCEPT = "group except"
147
+ GROUP_ALL = "group all"
148
+ CAST = "cast"
149
+ INVALID = "invalid"
150
+ ALL = "all"
151
+ ALL_MEASURES = "all_measures"
152
+ COMPUTED = "computed"
153
+ DATASET = "dataset"
154
+ DATASET_PRIORITY = "dataset_priority"
155
+ RULE = "rule"
156
+ RULE_PRIORITY = "rule_priority"
157
+ NON_NULL = "non_null"
158
+ NON_ZERO = "non_zero"
159
+ PARTIAL_NULL = "partial_null"
160
+ PARTIAL_ZERO = "partial_zero"
161
+ ALWAYS_NULL = "always_null"
162
+ ALWAYS_ZERO = "always_zero"
163
+ APPLY = "apply"
164
+ # Defined operators.
165
+ OPERATOR = "operator"
166
+ EVAL = "eval"
167
+ # External.
168
+ SQLITE = '"sqlite"'
169
+ EXTERNAL = [SQLITE]