pytrilogy 0.0.3.40__tar.gz → 0.0.3.41__tar.gz

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.

Potentially problematic release.


This version of pytrilogy might be problematic. Click here for more details.

Files changed (139) hide show
  1. {pytrilogy-0.0.3.40/pytrilogy.egg-info → pytrilogy-0.0.3.41}/PKG-INFO +1 -1
  2. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41/pytrilogy.egg-info}/PKG-INFO +1 -1
  3. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/__init__.py +1 -1
  4. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/environment_helpers.py +3 -5
  5. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/models/build.py +3 -2
  6. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/LICENSE.md +0 -0
  7. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/README.md +0 -0
  8. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/pyproject.toml +0 -0
  9. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/pytrilogy.egg-info/SOURCES.txt +0 -0
  10. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/pytrilogy.egg-info/dependency_links.txt +0 -0
  11. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/pytrilogy.egg-info/entry_points.txt +0 -0
  12. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/pytrilogy.egg-info/requires.txt +0 -0
  13. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/pytrilogy.egg-info/top_level.txt +0 -0
  14. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/setup.cfg +0 -0
  15. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/setup.py +0 -0
  16. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_datatypes.py +0 -0
  17. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_declarations.py +0 -0
  18. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_derived_concepts.py +0 -0
  19. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_discovery_nodes.py +0 -0
  20. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_enums.py +0 -0
  21. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_environment.py +0 -0
  22. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_executor.py +0 -0
  23. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_functions.py +0 -0
  24. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_imports.py +0 -0
  25. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_metadata.py +0 -0
  26. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_models.py +0 -0
  27. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_multi_join_assignments.py +0 -0
  28. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_parse_engine.py +0 -0
  29. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_parsing.py +0 -0
  30. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_partial_handling.py +0 -0
  31. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_query_processing.py +0 -0
  32. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_query_render.py +0 -0
  33. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_select.py +0 -0
  34. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_show.py +0 -0
  35. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_statements.py +0 -0
  36. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_typing.py +0 -0
  37. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_undefined_concept.py +0 -0
  38. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_user_functions.py +0 -0
  39. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/tests/test_where_clause.py +0 -0
  40. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/authoring/__init__.py +0 -0
  41. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/compiler.py +0 -0
  42. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/constants.py +0 -0
  43. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/__init__.py +0 -0
  44. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/constants.py +0 -0
  45. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/enums.py +0 -0
  46. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/env_processor.py +0 -0
  47. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/ergonomics.py +0 -0
  48. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/exceptions.py +0 -0
  49. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/functions.py +0 -0
  50. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/graph_models.py +0 -0
  51. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/internal.py +0 -0
  52. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/models/__init__.py +0 -0
  53. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/models/author.py +0 -0
  54. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/models/build_environment.py +0 -0
  55. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/models/core.py +0 -0
  56. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/models/datasource.py +0 -0
  57. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/models/environment.py +0 -0
  58. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/models/execute.py +0 -0
  59. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/optimization.py +0 -0
  60. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/optimizations/__init__.py +0 -0
  61. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/optimizations/base_optimization.py +0 -0
  62. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/optimizations/inline_constant.py +0 -0
  63. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/optimizations/inline_datasource.py +0 -0
  64. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/optimizations/predicate_pushdown.py +0 -0
  65. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/__init__.py +0 -0
  66. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/concept_strategies_v3.py +0 -0
  67. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/graph_utils.py +0 -0
  68. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/node_generators/__init__.py +0 -0
  69. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/node_generators/basic_node.py +0 -0
  70. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/node_generators/common.py +0 -0
  71. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/node_generators/filter_node.py +0 -0
  72. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/node_generators/group_node.py +0 -0
  73. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/node_generators/group_to_node.py +0 -0
  74. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/node_generators/multiselect_node.py +0 -0
  75. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/node_generators/node_merge_node.py +0 -0
  76. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/node_generators/rowset_node.py +0 -0
  77. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/node_generators/select_helpers/__init__.py +0 -0
  78. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/node_generators/select_helpers/datasource_injection.py +0 -0
  79. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/node_generators/select_merge_node.py +0 -0
  80. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/node_generators/select_node.py +0 -0
  81. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/node_generators/synonym_node.py +0 -0
  82. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/node_generators/union_node.py +0 -0
  83. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/node_generators/unnest_node.py +0 -0
  84. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/node_generators/window_node.py +0 -0
  85. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/nodes/__init__.py +0 -0
  86. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/nodes/base_node.py +0 -0
  87. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/nodes/filter_node.py +0 -0
  88. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/nodes/group_node.py +0 -0
  89. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/nodes/merge_node.py +0 -0
  90. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/nodes/select_node_v2.py +0 -0
  91. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/nodes/union_node.py +0 -0
  92. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/nodes/unnest_node.py +0 -0
  93. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/nodes/window_node.py +0 -0
  94. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/processing/utility.py +0 -0
  95. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/query_processor.py +0 -0
  96. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/statements/__init__.py +0 -0
  97. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/statements/author.py +0 -0
  98. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/statements/build.py +0 -0
  99. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/statements/common.py +0 -0
  100. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/core/statements/execute.py +0 -0
  101. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/dialect/__init__.py +0 -0
  102. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/dialect/base.py +0 -0
  103. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/dialect/bigquery.py +0 -0
  104. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/dialect/common.py +0 -0
  105. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/dialect/config.py +0 -0
  106. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/dialect/dataframe.py +0 -0
  107. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/dialect/duckdb.py +0 -0
  108. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/dialect/enums.py +0 -0
  109. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/dialect/postgres.py +0 -0
  110. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/dialect/presto.py +0 -0
  111. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/dialect/snowflake.py +0 -0
  112. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/dialect/sql_server.py +0 -0
  113. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/engine.py +0 -0
  114. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/executor.py +0 -0
  115. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/hooks/__init__.py +0 -0
  116. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/hooks/base_hook.py +0 -0
  117. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/hooks/graph_hook.py +0 -0
  118. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/hooks/query_debugger.py +0 -0
  119. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/metadata/__init__.py +0 -0
  120. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/parser.py +0 -0
  121. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/parsing/__init__.py +0 -0
  122. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/parsing/common.py +0 -0
  123. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/parsing/config.py +0 -0
  124. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/parsing/exceptions.py +0 -0
  125. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/parsing/helpers.py +0 -0
  126. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/parsing/parse_engine.py +0 -0
  127. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/parsing/render.py +0 -0
  128. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/parsing/trilogy.lark +0 -0
  129. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/py.typed +0 -0
  130. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/render.py +0 -0
  131. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/scripts/__init__.py +0 -0
  132. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/scripts/trilogy.py +0 -0
  133. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/std/__init__.py +0 -0
  134. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/std/date.preql +0 -0
  135. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/std/display.preql +0 -0
  136. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/std/geography.preql +0 -0
  137. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/std/money.preql +0 -0
  138. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/std/report.preql +0 -0
  139. {pytrilogy-0.0.3.40 → pytrilogy-0.0.3.41}/trilogy/utility.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pytrilogy
3
- Version: 0.0.3.40
3
+ Version: 0.0.3.41
4
4
  Summary: Declarative, typed query language that compiles to SQL.
5
5
  Home-page:
6
6
  Author:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pytrilogy
3
- Version: 0.0.3.40
3
+ Version: 0.0.3.41
4
4
  Summary: Declarative, typed query language that compiles to SQL.
5
5
  Home-page:
6
6
  Author:
@@ -4,6 +4,6 @@ from trilogy.dialect.enums import Dialects
4
4
  from trilogy.executor import Executor
5
5
  from trilogy.parser import parse
6
6
 
7
- __version__ = "0.0.3.40"
7
+ __version__ = "0.0.3.41"
8
8
 
9
9
  __all__ = ["parse", "Executor", "Dialects", "Environment", "CONFIG"]
@@ -1,7 +1,7 @@
1
1
  from trilogy.constants import DEFAULT_NAMESPACE
2
2
  from trilogy.core.enums import ConceptSource, DatePart, FunctionType, Purpose
3
3
  from trilogy.core.functions import AttrAccess
4
- from trilogy.core.models.author import Concept, Function, Metadata, TraitDataType
4
+ from trilogy.core.models.author import Concept, Function, Grain, Metadata, TraitDataType
5
5
  from trilogy.core.models.core import DataType, StructType, arg_to_datatype
6
6
  from trilogy.core.models.environment import Environment
7
7
  from trilogy.parsing.common import Meta
@@ -182,11 +182,9 @@ def generate_key_concepts(concept: Concept, environment: Environment):
182
182
  datatype=DataType.INTEGER,
183
183
  purpose=default_type,
184
184
  lineage=const_function,
185
- grain=concept.grain,
185
+ grain=Grain(),
186
186
  namespace=concept.namespace,
187
- keys={
188
- concept.address,
189
- },
187
+ keys=set(),
190
188
  metadata=Metadata(
191
189
  description=f"Auto-derived integer. The {ftype.value} of {concept.address}, {base_description}",
192
190
  line_number=base_line_number,
@@ -1697,6 +1697,7 @@ class Factory:
1697
1697
 
1698
1698
  @build.register
1699
1699
  def _(self, base: WhereClause) -> BuildWhereClause:
1700
+
1700
1701
  return BuildWhereClause.model_construct(
1701
1702
  conditional=self.build(base.conditional)
1702
1703
  )
@@ -1756,14 +1757,14 @@ class Factory:
1756
1757
  from trilogy.parsing.common import arbitrary_to_concept
1757
1758
 
1758
1759
  left = base.left
1759
- if isinstance(left, AggregateWrapper):
1760
+ if isinstance(left, (AggregateWrapper, WindowItem, FilterItem)):
1760
1761
  left_c = arbitrary_to_concept(
1761
1762
  left,
1762
1763
  environment=self.environment,
1763
1764
  )
1764
1765
  left = left_c # type: ignore
1765
1766
  right = base.right
1766
- if isinstance(right, AggregateWrapper):
1767
+ if isinstance(right, (AggregateWrapper, WindowItem, FilterItem)):
1767
1768
  right_c = arbitrary_to_concept(
1768
1769
  right,
1769
1770
  environment=self.environment,
File without changes
File without changes
File without changes
File without changes