pytrilogy 0.3.142__cp312-cp312-win_amd64.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.
- LICENSE.md +19 -0
- _preql_import_resolver/__init__.py +5 -0
- _preql_import_resolver/_preql_import_resolver.cp312-win_amd64.pyd +0 -0
- pytrilogy-0.3.142.dist-info/METADATA +555 -0
- pytrilogy-0.3.142.dist-info/RECORD +200 -0
- pytrilogy-0.3.142.dist-info/WHEEL +4 -0
- pytrilogy-0.3.142.dist-info/entry_points.txt +2 -0
- pytrilogy-0.3.142.dist-info/licenses/LICENSE.md +19 -0
- trilogy/__init__.py +16 -0
- trilogy/ai/README.md +10 -0
- trilogy/ai/__init__.py +19 -0
- trilogy/ai/constants.py +92 -0
- trilogy/ai/conversation.py +107 -0
- trilogy/ai/enums.py +7 -0
- trilogy/ai/execute.py +50 -0
- trilogy/ai/models.py +34 -0
- trilogy/ai/prompts.py +100 -0
- trilogy/ai/providers/__init__.py +0 -0
- trilogy/ai/providers/anthropic.py +106 -0
- trilogy/ai/providers/base.py +24 -0
- trilogy/ai/providers/google.py +146 -0
- trilogy/ai/providers/openai.py +89 -0
- trilogy/ai/providers/utils.py +68 -0
- trilogy/authoring/README.md +3 -0
- trilogy/authoring/__init__.py +148 -0
- trilogy/constants.py +113 -0
- trilogy/core/README.md +52 -0
- trilogy/core/__init__.py +0 -0
- trilogy/core/constants.py +6 -0
- trilogy/core/enums.py +443 -0
- trilogy/core/env_processor.py +120 -0
- trilogy/core/environment_helpers.py +320 -0
- trilogy/core/ergonomics.py +193 -0
- trilogy/core/exceptions.py +123 -0
- trilogy/core/functions.py +1227 -0
- trilogy/core/graph_models.py +139 -0
- trilogy/core/internal.py +85 -0
- trilogy/core/models/__init__.py +0 -0
- trilogy/core/models/author.py +2669 -0
- trilogy/core/models/build.py +2521 -0
- trilogy/core/models/build_environment.py +180 -0
- trilogy/core/models/core.py +501 -0
- trilogy/core/models/datasource.py +322 -0
- trilogy/core/models/environment.py +751 -0
- trilogy/core/models/execute.py +1177 -0
- trilogy/core/optimization.py +251 -0
- trilogy/core/optimizations/__init__.py +12 -0
- trilogy/core/optimizations/base_optimization.py +17 -0
- trilogy/core/optimizations/hide_unused_concept.py +47 -0
- trilogy/core/optimizations/inline_datasource.py +102 -0
- trilogy/core/optimizations/predicate_pushdown.py +245 -0
- trilogy/core/processing/README.md +94 -0
- trilogy/core/processing/READMEv2.md +121 -0
- trilogy/core/processing/VIRTUAL_UNNEST.md +30 -0
- trilogy/core/processing/__init__.py +0 -0
- trilogy/core/processing/concept_strategies_v3.py +508 -0
- trilogy/core/processing/constants.py +15 -0
- trilogy/core/processing/discovery_node_factory.py +451 -0
- trilogy/core/processing/discovery_utility.py +548 -0
- trilogy/core/processing/discovery_validation.py +167 -0
- trilogy/core/processing/graph_utils.py +43 -0
- trilogy/core/processing/node_generators/README.md +9 -0
- trilogy/core/processing/node_generators/__init__.py +31 -0
- trilogy/core/processing/node_generators/basic_node.py +160 -0
- trilogy/core/processing/node_generators/common.py +268 -0
- trilogy/core/processing/node_generators/constant_node.py +38 -0
- trilogy/core/processing/node_generators/filter_node.py +315 -0
- trilogy/core/processing/node_generators/group_node.py +213 -0
- trilogy/core/processing/node_generators/group_to_node.py +117 -0
- trilogy/core/processing/node_generators/multiselect_node.py +205 -0
- trilogy/core/processing/node_generators/node_merge_node.py +653 -0
- trilogy/core/processing/node_generators/recursive_node.py +88 -0
- trilogy/core/processing/node_generators/rowset_node.py +165 -0
- trilogy/core/processing/node_generators/select_helpers/__init__.py +0 -0
- trilogy/core/processing/node_generators/select_helpers/datasource_injection.py +261 -0
- trilogy/core/processing/node_generators/select_merge_node.py +748 -0
- trilogy/core/processing/node_generators/select_node.py +95 -0
- trilogy/core/processing/node_generators/synonym_node.py +98 -0
- trilogy/core/processing/node_generators/union_node.py +91 -0
- trilogy/core/processing/node_generators/unnest_node.py +182 -0
- trilogy/core/processing/node_generators/window_node.py +201 -0
- trilogy/core/processing/nodes/README.md +28 -0
- trilogy/core/processing/nodes/__init__.py +179 -0
- trilogy/core/processing/nodes/base_node.py +519 -0
- trilogy/core/processing/nodes/filter_node.py +75 -0
- trilogy/core/processing/nodes/group_node.py +194 -0
- trilogy/core/processing/nodes/merge_node.py +420 -0
- trilogy/core/processing/nodes/recursive_node.py +46 -0
- trilogy/core/processing/nodes/select_node_v2.py +242 -0
- trilogy/core/processing/nodes/union_node.py +53 -0
- trilogy/core/processing/nodes/unnest_node.py +62 -0
- trilogy/core/processing/nodes/window_node.py +56 -0
- trilogy/core/processing/utility.py +823 -0
- trilogy/core/query_processor.py +596 -0
- trilogy/core/statements/README.md +35 -0
- trilogy/core/statements/__init__.py +0 -0
- trilogy/core/statements/author.py +536 -0
- trilogy/core/statements/build.py +0 -0
- trilogy/core/statements/common.py +20 -0
- trilogy/core/statements/execute.py +155 -0
- trilogy/core/table_processor.py +66 -0
- trilogy/core/utility.py +8 -0
- trilogy/core/validation/README.md +46 -0
- trilogy/core/validation/__init__.py +0 -0
- trilogy/core/validation/common.py +161 -0
- trilogy/core/validation/concept.py +146 -0
- trilogy/core/validation/datasource.py +227 -0
- trilogy/core/validation/environment.py +73 -0
- trilogy/core/validation/fix.py +256 -0
- trilogy/dialect/__init__.py +32 -0
- trilogy/dialect/base.py +1392 -0
- trilogy/dialect/bigquery.py +308 -0
- trilogy/dialect/common.py +147 -0
- trilogy/dialect/config.py +144 -0
- trilogy/dialect/dataframe.py +50 -0
- trilogy/dialect/duckdb.py +231 -0
- trilogy/dialect/enums.py +147 -0
- trilogy/dialect/metadata.py +173 -0
- trilogy/dialect/mock.py +190 -0
- trilogy/dialect/postgres.py +117 -0
- trilogy/dialect/presto.py +110 -0
- trilogy/dialect/results.py +89 -0
- trilogy/dialect/snowflake.py +129 -0
- trilogy/dialect/sql_server.py +137 -0
- trilogy/engine.py +48 -0
- trilogy/execution/config.py +75 -0
- trilogy/executor.py +568 -0
- trilogy/hooks/__init__.py +4 -0
- trilogy/hooks/base_hook.py +40 -0
- trilogy/hooks/graph_hook.py +139 -0
- trilogy/hooks/query_debugger.py +166 -0
- trilogy/metadata/__init__.py +0 -0
- trilogy/parser.py +10 -0
- trilogy/parsing/README.md +21 -0
- trilogy/parsing/__init__.py +0 -0
- trilogy/parsing/common.py +1069 -0
- trilogy/parsing/config.py +5 -0
- trilogy/parsing/exceptions.py +8 -0
- trilogy/parsing/helpers.py +1 -0
- trilogy/parsing/parse_engine.py +2813 -0
- trilogy/parsing/render.py +769 -0
- trilogy/parsing/trilogy.lark +540 -0
- trilogy/py.typed +0 -0
- trilogy/render.py +42 -0
- trilogy/scripts/README.md +9 -0
- trilogy/scripts/__init__.py +0 -0
- trilogy/scripts/agent.py +41 -0
- trilogy/scripts/agent_info.py +303 -0
- trilogy/scripts/common.py +355 -0
- trilogy/scripts/dependency/Cargo.lock +617 -0
- trilogy/scripts/dependency/Cargo.toml +39 -0
- trilogy/scripts/dependency/README.md +131 -0
- trilogy/scripts/dependency/build.sh +25 -0
- trilogy/scripts/dependency/src/directory_resolver.rs +177 -0
- trilogy/scripts/dependency/src/lib.rs +16 -0
- trilogy/scripts/dependency/src/main.rs +770 -0
- trilogy/scripts/dependency/src/parser.rs +435 -0
- trilogy/scripts/dependency/src/preql.pest +208 -0
- trilogy/scripts/dependency/src/python_bindings.rs +303 -0
- trilogy/scripts/dependency/src/resolver.rs +716 -0
- trilogy/scripts/dependency/tests/base.preql +3 -0
- trilogy/scripts/dependency/tests/cli_integration.rs +377 -0
- trilogy/scripts/dependency/tests/customer.preql +6 -0
- trilogy/scripts/dependency/tests/main.preql +9 -0
- trilogy/scripts/dependency/tests/orders.preql +7 -0
- trilogy/scripts/dependency/tests/test_data/base.preql +9 -0
- trilogy/scripts/dependency/tests/test_data/consumer.preql +1 -0
- trilogy/scripts/dependency.py +323 -0
- trilogy/scripts/display.py +512 -0
- trilogy/scripts/environment.py +46 -0
- trilogy/scripts/fmt.py +32 -0
- trilogy/scripts/ingest.py +471 -0
- trilogy/scripts/ingest_helpers/__init__.py +1 -0
- trilogy/scripts/ingest_helpers/foreign_keys.py +123 -0
- trilogy/scripts/ingest_helpers/formatting.py +93 -0
- trilogy/scripts/ingest_helpers/typing.py +161 -0
- trilogy/scripts/init.py +105 -0
- trilogy/scripts/parallel_execution.py +713 -0
- trilogy/scripts/plan.py +189 -0
- trilogy/scripts/run.py +63 -0
- trilogy/scripts/serve.py +140 -0
- trilogy/scripts/serve_helpers/__init__.py +41 -0
- trilogy/scripts/serve_helpers/file_discovery.py +142 -0
- trilogy/scripts/serve_helpers/index_generation.py +206 -0
- trilogy/scripts/serve_helpers/models.py +38 -0
- trilogy/scripts/single_execution.py +131 -0
- trilogy/scripts/testing.py +119 -0
- trilogy/scripts/trilogy.py +68 -0
- trilogy/std/__init__.py +0 -0
- trilogy/std/color.preql +3 -0
- trilogy/std/date.preql +13 -0
- trilogy/std/display.preql +18 -0
- trilogy/std/geography.preql +22 -0
- trilogy/std/metric.preql +15 -0
- trilogy/std/money.preql +67 -0
- trilogy/std/net.preql +14 -0
- trilogy/std/ranking.preql +7 -0
- trilogy/std/report.preql +5 -0
- trilogy/std/semantic.preql +6 -0
- trilogy/utility.py +34 -0
trilogy/std/money.preql
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# generic currency types
|
|
2
|
+
|
|
3
|
+
# Major global currencies
|
|
4
|
+
type usd numeric; # US Dollar
|
|
5
|
+
type eur numeric; # Euro
|
|
6
|
+
type gbp numeric; # British Pound Sterling
|
|
7
|
+
type jpy numeric; # Japanese Yen
|
|
8
|
+
type chf numeric; # Swiss Franc
|
|
9
|
+
type cad numeric; # Canadian Dollar
|
|
10
|
+
type aud numeric; # Australian Dollar
|
|
11
|
+
type nzd numeric; # New Zealand Dollar
|
|
12
|
+
|
|
13
|
+
# Asian currencies
|
|
14
|
+
type cny numeric; # Chinese Yuan
|
|
15
|
+
type hkd numeric; # Hong Kong Dollar
|
|
16
|
+
type sgd numeric; # Singapore Dollar
|
|
17
|
+
type krw numeric; # South Korean Won
|
|
18
|
+
type inr numeric; # Indian Rupee
|
|
19
|
+
type thb numeric; # Thai Baht
|
|
20
|
+
type php numeric; # Philippine Peso
|
|
21
|
+
type myr numeric; # Malaysian Ringgit
|
|
22
|
+
type idr numeric; # Indonesian Rupiah
|
|
23
|
+
type vnd numeric; # Vietnamese Dong
|
|
24
|
+
|
|
25
|
+
# European currencies (non-Euro)
|
|
26
|
+
type sek numeric; # Swedish Krona
|
|
27
|
+
type nok numeric; # Norwegian Krone
|
|
28
|
+
type dkk numeric; # Danish Krone
|
|
29
|
+
type pln numeric; # Polish Zloty
|
|
30
|
+
type czk numeric; # Czech Koruna
|
|
31
|
+
type huf numeric; # Hungarian Forint
|
|
32
|
+
type ron numeric; # Romanian Leu
|
|
33
|
+
type bgn numeric; # Bulgarian Lev
|
|
34
|
+
type rub numeric; # Russian Ruble
|
|
35
|
+
|
|
36
|
+
# Middle Eastern currencies
|
|
37
|
+
type aed numeric; # UAE Dirham
|
|
38
|
+
type sar numeric; # Saudi Riyal
|
|
39
|
+
type qar numeric; # Qatari Riyal
|
|
40
|
+
type kwd numeric; # Kuwaiti Dinar
|
|
41
|
+
type bhd numeric; # Bahraini Dinar
|
|
42
|
+
type omr numeric; # Omani Rial
|
|
43
|
+
type jod numeric; # Jordanian Dinar
|
|
44
|
+
type ils numeric; # Israeli Shekel
|
|
45
|
+
type try numeric; # Turkish Lira
|
|
46
|
+
|
|
47
|
+
# African currencies
|
|
48
|
+
type zar numeric; # South African Rand
|
|
49
|
+
type egp numeric; # Egyptian Pound
|
|
50
|
+
type ngn numeric; # Nigerian Naira
|
|
51
|
+
type mad numeric; # Moroccan Dirham
|
|
52
|
+
type kes numeric; # Kenyan Shilling
|
|
53
|
+
type ghs numeric; # Ghanaian Cedi
|
|
54
|
+
|
|
55
|
+
# Latin American currencies
|
|
56
|
+
type mxn numeric; # Mexican Peso
|
|
57
|
+
type brl numeric; # Brazilian Real
|
|
58
|
+
type ars numeric; # Argentine Peso
|
|
59
|
+
type cop numeric; # Colombian Peso
|
|
60
|
+
type pen numeric; # Peruvian Sol
|
|
61
|
+
type clp numeric; # Chilean Peso
|
|
62
|
+
type uyu numeric; # Uruguayan Peso
|
|
63
|
+
|
|
64
|
+
# Other notable currencies
|
|
65
|
+
type isk numeric; # Icelandic Krona
|
|
66
|
+
type xof numeric; # West African CFA Franc
|
|
67
|
+
type xaf numeric; # Central African CFA Franc
|
trilogy/std/net.preql
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
## network types
|
|
3
|
+
type url string; # URL string
|
|
4
|
+
type url_image string; # URL of an image
|
|
5
|
+
type domain string; # Domain name
|
|
6
|
+
type ip_net_mask string; # IP network mask
|
|
7
|
+
type ipv6_address string; # IPv6 address
|
|
8
|
+
type ipv4_address string; # IPv4 address
|
|
9
|
+
|
|
10
|
+
## communication types
|
|
11
|
+
type email_address string; # Email address, including @
|
|
12
|
+
|
|
13
|
+
## shared types
|
|
14
|
+
type suffix string; # A file suffix or extension, like .txt, .jpg, etc.
|
trilogy/std/report.preql
ADDED
trilogy/utility.py
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import hashlib
|
|
2
|
+
from typing import Callable, List, TypeVar, Union
|
|
3
|
+
|
|
4
|
+
from trilogy.constants import DEFAULT_NAMESPACE
|
|
5
|
+
|
|
6
|
+
INT_HASH_SIZE = 16
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def string_to_hash(input: str) -> int:
|
|
10
|
+
return (
|
|
11
|
+
int(hashlib.sha256(input.encode("utf-8")).hexdigest(), 16) % 10**INT_HASH_SIZE
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
UniqueArg = TypeVar("UniqueArg")
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def unique(inputs: List[UniqueArg], property: Union[str, Callable]) -> List[UniqueArg]:
|
|
19
|
+
final = []
|
|
20
|
+
dedupe = set()
|
|
21
|
+
if isinstance(property, str):
|
|
22
|
+
|
|
23
|
+
def getter(x):
|
|
24
|
+
return getattr(x, property, DEFAULT_NAMESPACE)
|
|
25
|
+
|
|
26
|
+
else:
|
|
27
|
+
getter = property
|
|
28
|
+
for input in inputs:
|
|
29
|
+
key = getter(input)
|
|
30
|
+
if key in dedupe:
|
|
31
|
+
continue
|
|
32
|
+
dedupe.add(key)
|
|
33
|
+
final.append(input)
|
|
34
|
+
return final
|