moose-lib 0.4.218__py3-none-any.whl → 0.4.220__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.
- moose_lib/data_models.py +15 -1
- moose_lib/dmv2/__init__.py +142 -0
- moose_lib/dmv2/_registry.py +15 -0
- moose_lib/dmv2/consumption.py +101 -0
- moose_lib/dmv2/ingest_api.py +64 -0
- moose_lib/dmv2/ingest_pipeline.py +156 -0
- moose_lib/dmv2/materialized_view.py +94 -0
- moose_lib/dmv2/olap_table.py +57 -0
- moose_lib/dmv2/registry.py +62 -0
- moose_lib/dmv2/sql_resource.py +49 -0
- moose_lib/dmv2/stream.py +258 -0
- moose_lib/dmv2/types.py +95 -0
- moose_lib/dmv2/view.py +36 -0
- moose_lib/dmv2/workflow.py +156 -0
- moose_lib/internal.py +18 -8
- moose_lib/streaming/streaming_function_runner.py +2 -2
- {moose_lib-0.4.218.dist-info → moose_lib-0.4.220.dist-info}/METADATA +1 -1
- moose_lib-0.4.220.dist-info/RECORD +34 -0
- moose_lib/dmv2.py +0 -994
- moose_lib-0.4.218.dist-info/RECORD +0 -22
- {moose_lib-0.4.218.dist-info → moose_lib-0.4.220.dist-info}/WHEEL +0 -0
- {moose_lib-0.4.218.dist-info → moose_lib-0.4.220.dist-info}/top_level.txt +0 -0
moose_lib/internal.py
CHANGED
@@ -11,8 +11,18 @@ from typing import Literal, Optional, List, Any
|
|
11
11
|
from pydantic import BaseModel, ConfigDict, AliasGenerator
|
12
12
|
import json
|
13
13
|
from .data_models import Column, _to_columns
|
14
|
-
from moose_lib.dmv2 import
|
15
|
-
|
14
|
+
from moose_lib.dmv2 import (
|
15
|
+
get_tables,
|
16
|
+
get_streams,
|
17
|
+
get_ingest_apis,
|
18
|
+
get_consumption_apis,
|
19
|
+
get_sql_resources,
|
20
|
+
get_workflows,
|
21
|
+
OlapTable,
|
22
|
+
View,
|
23
|
+
MaterializedView,
|
24
|
+
SqlResource
|
25
|
+
)
|
16
26
|
from pydantic.alias_generators import to_camel
|
17
27
|
from pydantic.json_schema import JsonSchemaValue
|
18
28
|
|
@@ -254,7 +264,7 @@ def to_infra_map() -> dict:
|
|
254
264
|
sql_resources = {}
|
255
265
|
workflows = {}
|
256
266
|
|
257
|
-
for name, table in
|
267
|
+
for name, table in get_tables().items():
|
258
268
|
engine = table.config.engine
|
259
269
|
tables[name] = TableConfig(
|
260
270
|
name=name,
|
@@ -266,7 +276,7 @@ def to_infra_map() -> dict:
|
|
266
276
|
metadata=getattr(table, "metadata", None),
|
267
277
|
)
|
268
278
|
|
269
|
-
for name, stream in
|
279
|
+
for name, stream in get_streams().items():
|
270
280
|
transformation_targets = [
|
271
281
|
Target(
|
272
282
|
kind="stream",
|
@@ -297,7 +307,7 @@ def to_infra_map() -> dict:
|
|
297
307
|
metadata=getattr(stream, "metadata", None),
|
298
308
|
)
|
299
309
|
|
300
|
-
for name, api in
|
310
|
+
for name, api in get_ingest_apis().items():
|
301
311
|
ingest_apis[name] = IngestApiConfig(
|
302
312
|
name=name,
|
303
313
|
columns=_to_columns(api._t),
|
@@ -310,7 +320,7 @@ def to_infra_map() -> dict:
|
|
310
320
|
dead_letter_queue=api.config.dead_letter_queue.name
|
311
321
|
)
|
312
322
|
|
313
|
-
for name, api in
|
323
|
+
for name, api in get_consumption_apis().items():
|
314
324
|
egress_apis[name] = EgressApiConfig(
|
315
325
|
name=name,
|
316
326
|
query_params=_to_columns(api.model_type),
|
@@ -319,7 +329,7 @@ def to_infra_map() -> dict:
|
|
319
329
|
metadata=getattr(api, "metadata", None),
|
320
330
|
)
|
321
331
|
|
322
|
-
for name, resource in
|
332
|
+
for name, resource in get_sql_resources().items():
|
323
333
|
sql_resources[name] = SqlResourceConfig(
|
324
334
|
name=resource.name,
|
325
335
|
setup=resource.setup,
|
@@ -329,7 +339,7 @@ def to_infra_map() -> dict:
|
|
329
339
|
metadata=getattr(resource, "metadata", None),
|
330
340
|
)
|
331
341
|
|
332
|
-
for name, workflow in
|
342
|
+
for name, workflow in get_workflows().items():
|
333
343
|
workflows[name] = WorkflowJson(
|
334
344
|
name=workflow.name,
|
335
345
|
retries=workflow.config.retries,
|
@@ -28,7 +28,7 @@ import threading
|
|
28
28
|
import time
|
29
29
|
from typing import Optional, Callable, Tuple, Any
|
30
30
|
|
31
|
-
from moose_lib.dmv2 import
|
31
|
+
from moose_lib.dmv2 import get_streams, DeadLetterModel
|
32
32
|
from moose_lib import cli_log, CliLogData, DeadLetterQueue
|
33
33
|
|
34
34
|
# Force stdout to be unbuffered
|
@@ -186,7 +186,7 @@ def load_streaming_function_dmv2(function_file_dir: str, function_file_name: str
|
|
186
186
|
sys.exit(1)
|
187
187
|
|
188
188
|
# Find the stream that has a transformation matching our source/destination
|
189
|
-
for source_py_stream_name, stream in
|
189
|
+
for source_py_stream_name, stream in get_streams().items():
|
190
190
|
if source_py_stream_name != source_topic.topic_name_to_stream_name():
|
191
191
|
continue
|
192
192
|
|
@@ -0,0 +1,34 @@
|
|
1
|
+
moose_lib/__init__.py,sha256=0MpzYNnjpqcBaXjR5CBr1b0M5YjXXjj9y1RKyNeOJQ8,183
|
2
|
+
moose_lib/blocks.py,sha256=_wdvC2NC_Y3MMEnB71WTgWbeQ--zPNHk19xjToJW0C0,3185
|
3
|
+
moose_lib/commons.py,sha256=BV5X78MuOWHiZV9bsWSN69JIvzTNWUi-gnuMiAtaO8A,2489
|
4
|
+
moose_lib/data_models.py,sha256=8zYPNkOYi0o5Ut2llXwqdIqbXcg_jdv6M_nCEzJ2Onw,9512
|
5
|
+
moose_lib/dmv2-serializer.py,sha256=CL_Pvvg8tJOT8Qk6hywDNzY8MYGhMVdTOw8arZi3jng,49
|
6
|
+
moose_lib/internal.py,sha256=ezqTTWS3T6nAPAxcjMPGYs-6ZwZwxOTZVuVFHiSkEmw,14269
|
7
|
+
moose_lib/main.py,sha256=In-u7yA1FsLDeP_2bhIgBtHY_BkXaZqDwf7BxwyC21c,8471
|
8
|
+
moose_lib/query_param.py,sha256=AB5BKu610Ji-h1iYGMBZKfnEFqt85rS94kzhDwhWJnc,6288
|
9
|
+
moose_lib/tasks.py,sha256=6MXA0j7nhvQILAJVTQHCAsquwrSOi2zAevghAc_7kXs,1554
|
10
|
+
moose_lib/clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
11
|
+
moose_lib/clients/redis_client.py,sha256=UBCdxwgZpIOIOy2EnPyxJIAYjw_qmNwGsJQCQ66SxUI,8117
|
12
|
+
moose_lib/dmv2/__init__.py,sha256=Zooo_5MCPJbkP7kLecsH-xAkJexaHHkhwiG33SiSDfU,2229
|
13
|
+
moose_lib/dmv2/_registry.py,sha256=agdZ7xzS99Caou60Q2pEErzEwyNYHqwy6XqV79eEmwg,504
|
14
|
+
moose_lib/dmv2/consumption.py,sha256=71wdv6ZuEi8Om7aX3Lq-d6bAoc1-iw3Wudb8dHESJKI,4072
|
15
|
+
moose_lib/dmv2/ingest_api.py,sha256=Snek9NGwaJl_BuImSWGtQq91m9D3AJ4qBoGiKZ-9yTQ,2323
|
16
|
+
moose_lib/dmv2/ingest_pipeline.py,sha256=Y1gsvHZjlW07gMapLnBRJEsoAPv7ThvLABoLmVV7BHE,6714
|
17
|
+
moose_lib/dmv2/materialized_view.py,sha256=kcx-sJFTM-cH3Uc1GoldgFGodjoz0AegAQEMmohdS38,3826
|
18
|
+
moose_lib/dmv2/olap_table.py,sha256=P-ycgkj68zyoH70osYQGSjy9c2AgdXjs7vlF4H9yqEU,2350
|
19
|
+
moose_lib/dmv2/registry.py,sha256=AaGS6Xy0vKz-wHLPgRVxfKfSwW5KksMePjZ8N7-2OKU,2054
|
20
|
+
moose_lib/dmv2/sql_resource.py,sha256=kUZoGqxhZMHMthtBZGYJBxTFjXkspXiWLXhJRYXgGUM,1864
|
21
|
+
moose_lib/dmv2/stream.py,sha256=H5nzqVHIXulFNMNaGZUQnhGjNx7fIg0X95kxAO_qlls,10600
|
22
|
+
moose_lib/dmv2/types.py,sha256=5FsB0HLHFkYB-8cjJ0rtRUjqahVA-ToLr2JXT1lFiss,3276
|
23
|
+
moose_lib/dmv2/view.py,sha256=fVbfbJgc2lvhjpGvpfKcFUqZqxKuLD4X59jdupxIe94,1350
|
24
|
+
moose_lib/dmv2/workflow.py,sha256=ZNEMaYWGCkOw_1qropfl2m553aq5YG16Y0rOJjo8eak,5916
|
25
|
+
moose_lib/streaming/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
26
|
+
moose_lib/streaming/streaming_function_runner.py,sha256=ygWqBNy-BiTWUTDe-maZwQF1RRfNhd0GMEhkXAAHG8Y,24370
|
27
|
+
tests/__init__.py,sha256=0Gh4yzPkkC3TzBGKhenpMIxJcRhyrrCfxLSfpTZnPMQ,53
|
28
|
+
tests/conftest.py,sha256=ZVJNbnr4DwbcqkTmePW6U01zAzE6QD0kNAEZjPG1f4s,169
|
29
|
+
tests/test_moose.py,sha256=mBsx_OYWmL8ppDzL_7Bd7xR6qf_i3-pCIO3wm2iQNaA,2136
|
30
|
+
tests/test_redis_client.py,sha256=d9_MLYsJ4ecVil_jPB2gW3Q5aWnavxmmjZg2uYI3LVo,3256
|
31
|
+
moose_lib-0.4.220.dist-info/METADATA,sha256=6o77lOZvWwgJi6St58m_nG1tDdWLduUwdsoUfztTQUc,638
|
32
|
+
moose_lib-0.4.220.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
33
|
+
moose_lib-0.4.220.dist-info/top_level.txt,sha256=XEns2-4aCmGp2XjJAeEH9TAUcGONLnSLy6ycT9FSJh8,16
|
34
|
+
moose_lib-0.4.220.dist-info/RECORD,,
|