moose-lib 0.6.10__py3-none-any.whl → 0.6.12__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 CHANGED
@@ -26,6 +26,15 @@ class ClickhouseSize:
26
26
  size: int
27
27
 
28
28
 
29
+ @dataclasses.dataclass
30
+ class ClickhouseDefault:
31
+ expression: str
32
+
33
+
34
+ def clickhouse_default(expression: str) -> ClickhouseDefault:
35
+ return ClickhouseDefault(expression=expression)
36
+
37
+
29
38
  def clickhouse_decimal(precision: int, scale: int) -> Type[Decimal]:
30
39
  return Annotated[Decimal, Field(max_digits=precision, decimal_places=scale)]
31
40
 
@@ -135,6 +144,7 @@ class Column(BaseModel):
135
144
  required: bool
136
145
  unique: Literal[False]
137
146
  primary_key: bool
147
+ default: str | None = None
138
148
  annotations: list[Tuple[str, Any]] = []
139
149
 
140
150
 
@@ -255,6 +265,12 @@ def _to_columns(model: type[BaseModel]) -> list[Column]:
255
265
 
256
266
  column_name = field_name if field_info.alias is None else field_info.alias
257
267
 
268
+ # Extract default expression from metadata, if provided
269
+ default_expr = next(
270
+ (md.expression for md in mds if isinstance(md, ClickhouseDefault)),
271
+ None,
272
+ )
273
+
258
274
  columns.append(
259
275
  Column(
260
276
  name=column_name,
@@ -262,6 +278,7 @@ def _to_columns(model: type[BaseModel]) -> list[Column]:
262
278
  required=not optional,
263
279
  unique=False,
264
280
  primary_key=primary_key,
281
+ default=default_expr,
265
282
  annotations=annotations,
266
283
  )
267
284
  )
@@ -46,6 +46,9 @@ from .consumption import (
46
46
  Api,
47
47
  get_moose_base_url,
48
48
  set_moose_base_url,
49
+ # Backward compatibility aliases
50
+ ConsumptionApi,
51
+ EgressConfig,
49
52
  )
50
53
 
51
54
  from .sql_resource import (
@@ -85,6 +88,9 @@ from .registry import (
85
88
  get_sql_resource,
86
89
  get_workflows,
87
90
  get_workflow,
91
+ # Backward compatibility aliases
92
+ get_consumption_apis,
93
+ get_consumption_api,
88
94
  )
89
95
 
90
96
  __all__ = [
@@ -123,6 +129,9 @@ __all__ = [
123
129
  'Api',
124
130
  'get_moose_base_url',
125
131
  'set_moose_base_url',
132
+ # Backward compatibility aliases (deprecated)
133
+ 'ConsumptionApi',
134
+ 'EgressConfig',
126
135
 
127
136
  # SQL
128
137
  'SqlResource',
@@ -152,4 +161,7 @@ __all__ = [
152
161
  'get_sql_resource',
153
162
  'get_workflows',
154
163
  'get_workflow',
164
+ # Backward compatibility aliases (deprecated)
165
+ 'get_consumption_apis',
166
+ 'get_consumption_api',
155
167
  ]
@@ -228,3 +228,11 @@ class Api(BaseTypedResource, Generic[U]):
228
228
  # Parse JSON response and return as the expected type
229
229
  response_data = response.json()
230
230
  return self._u.model_validate(response_data)
231
+
232
+
233
+ # Backward compatibility aliases (deprecated)
234
+ ConsumptionApi = Api
235
+ """@deprecated: Use Api instead of ConsumptionApi"""
236
+
237
+ EgressConfig = ApiConfig
238
+ """@deprecated: Use ApiConfig instead of EgressConfig"""
@@ -70,4 +70,12 @@ def get_workflows() -> Dict[str, Workflow]:
70
70
 
71
71
  def get_workflow(name: str) -> Optional[Workflow]:
72
72
  """Get a registered workflow by name."""
73
- return _workflows.get(name)
73
+ return _workflows.get(name)
74
+
75
+
76
+ # Backward compatibility aliases (deprecated)
77
+ get_consumption_apis = get_apis
78
+ """@deprecated: Use get_apis instead of get_consumption_apis"""
79
+
80
+ get_consumption_api = get_api
81
+ """@deprecated: Use get_api instead of get_consumption_api"""
moose_lib/main.py CHANGED
@@ -147,6 +147,11 @@ class ApiResult:
147
147
  body: Any
148
148
 
149
149
 
150
+ # Backward compatibility alias (deprecated)
151
+ ConsumptionApiResult = ApiResult
152
+ """@deprecated: Use ApiResult instead of ConsumptionApiResult"""
153
+
154
+
150
155
  class QueryClient:
151
156
  """Client for executing queries, typically against ClickHouse.
152
157
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: moose_lib
3
- Version: 0.6.10
3
+ Version: 0.6.12
4
4
  Home-page: https://www.fiveonefour.com/moose
5
5
  Author: Fiveonefour Labs Inc.
6
6
  Author-email: support@fiveonefour.com
@@ -1,10 +1,10 @@
1
1
  moose_lib/__init__.py,sha256=_XXfHrzRl-M5M1e3CwBQGGblVQYKnU5QJkipghe4bXU,184
2
2
  moose_lib/blocks.py,sha256=_wdvC2NC_Y3MMEnB71WTgWbeQ--zPNHk19xjToJW0C0,3185
3
3
  moose_lib/commons.py,sha256=FUpRv8D3-LeGcjhcqtDyiimz5izwpCq53h50ydxC_uA,3711
4
- moose_lib/data_models.py,sha256=qXe0MuD1mojMGusocLn73d-HTtP4_ORPNwGQMQWtP0o,9817
4
+ moose_lib/data_models.py,sha256=PgoFXTzf4C66FlKUowMT4VOrwSRR9_bk36P43ub4LzU,10274
5
5
  moose_lib/dmv2-serializer.py,sha256=CL_Pvvg8tJOT8Qk6hywDNzY8MYGhMVdTOw8arZi3jng,49
6
6
  moose_lib/internal.py,sha256=UYF42oFujLH1g9GDo_HdP-AYipKTf_lReyVi6qs945A,14397
7
- moose_lib/main.py,sha256=BtSIH4xIRtUGrxyEA-pe4zswqq49WRcOLeVrBaHnDNk,17210
7
+ moose_lib/main.py,sha256=WAxrM39rp5leAtHxZQZlC8-a8pA8Ksy1TjVQnq12YeA,17354
8
8
  moose_lib/query_param.py,sha256=kxcR09BMIsEg4o2qetjKrVu1YFRaLfMEzwzyGsKUpvA,6474
9
9
  moose_lib/tasks.py,sha256=6MXA0j7nhvQILAJVTQHCAsquwrSOi2zAevghAc_7kXs,1554
10
10
  moose_lib/clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -12,15 +12,15 @@ moose_lib/clients/redis_client.py,sha256=UBCdxwgZpIOIOy2EnPyxJIAYjw_qmNwGsJQCQ66
12
12
  moose_lib/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  moose_lib/config/config_file.py,sha256=NyjY6YFraBel7vBk18lLkpGaPR1viKMAEv4ZldyfLIA,2585
14
14
  moose_lib/config/runtime.py,sha256=gF1wrUCbp0MxRU92k0vyItvWX2x6P1FuBRzM61nJE_U,2776
15
- moose_lib/dmv2/__init__.py,sha256=y9LdGZHuKXNwD1rFvrPvIpJF7jL0I6sxHMnSq2ZTS1g,2372
15
+ moose_lib/dmv2/__init__.py,sha256=MXVSaMw8V0h06JlA_uomSjl6MXPerjC9tVo2KvIvLgE,2732
16
16
  moose_lib/dmv2/_registry.py,sha256=RweMQWHSvhxgSceZ5mfd0NGnJ-49VZORbaFmw-O0bFY,611
17
- moose_lib/dmv2/consumption.py,sha256=WB0-cI19Iq_sPz_6FZfCOu63Yjfr4GVg49DYRVi-rT8,8540
17
+ moose_lib/dmv2/consumption.py,sha256=KJV9MKgrnVLIRhlFVZMDhTsXvOaZoMiHk4hnRePdPWA,8745
18
18
  moose_lib/dmv2/ingest_api.py,sha256=Snek9NGwaJl_BuImSWGtQq91m9D3AJ4qBoGiKZ-9yTQ,2323
19
19
  moose_lib/dmv2/ingest_pipeline.py,sha256=q7k8B50Dp_jpJA86Rr9dOGl7-EaGF0LR81TuFXlktxc,7024
20
20
  moose_lib/dmv2/life_cycle.py,sha256=wl0k6yzwU1MJ_fO_UkN29buoY5G6ChYZvfwigP9fVfM,1254
21
21
  moose_lib/dmv2/materialized_view.py,sha256=kcx-sJFTM-cH3Uc1GoldgFGodjoz0AegAQEMmohdS38,3826
22
22
  moose_lib/dmv2/olap_table.py,sha256=4DfF_KMCspCvQLf7DwmkmfyFswCv8J-3NhDcnNTWvKg,31304
23
- moose_lib/dmv2/registry.py,sha256=qh3aHauCu7UiP-NQQTYMeuvIJQDyzlqx8P2_-sT_mHI,2136
23
+ moose_lib/dmv2/registry.py,sha256=janjYszIXDnMfuwkNhoiBmMLar3umQ3Npw9Ms-u6p-8,2373
24
24
  moose_lib/dmv2/sql_resource.py,sha256=kUZoGqxhZMHMthtBZGYJBxTFjXkspXiWLXhJRYXgGUM,1864
25
25
  moose_lib/dmv2/stream.py,sha256=jiUWBsjFalLLP63mikOxyHRdieiDAlzf9lXfLye-Wjc,10761
26
26
  moose_lib/dmv2/types.py,sha256=5FsB0HLHFkYB-8cjJ0rtRUjqahVA-ToLr2JXT1lFiss,3276
@@ -32,7 +32,7 @@ tests/__init__.py,sha256=0Gh4yzPkkC3TzBGKhenpMIxJcRhyrrCfxLSfpTZnPMQ,53
32
32
  tests/conftest.py,sha256=ZVJNbnr4DwbcqkTmePW6U01zAzE6QD0kNAEZjPG1f4s,169
33
33
  tests/test_moose.py,sha256=mBsx_OYWmL8ppDzL_7Bd7xR6qf_i3-pCIO3wm2iQNaA,2136
34
34
  tests/test_redis_client.py,sha256=d9_MLYsJ4ecVil_jPB2gW3Q5aWnavxmmjZg2uYI3LVo,3256
35
- moose_lib-0.6.10.dist-info/METADATA,sha256=BCrvzCf-bQM3B2YULoKIDqLA6T-DVQN38-7wVx6G7SE,730
36
- moose_lib-0.6.10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
37
- moose_lib-0.6.10.dist-info/top_level.txt,sha256=XEns2-4aCmGp2XjJAeEH9TAUcGONLnSLy6ycT9FSJh8,16
38
- moose_lib-0.6.10.dist-info/RECORD,,
35
+ moose_lib-0.6.12.dist-info/METADATA,sha256=ZwVGSvktMmoc3TbHZzba-2DasZ5NHowQvQoSMWPELoE,730
36
+ moose_lib-0.6.12.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
37
+ moose_lib-0.6.12.dist-info/top_level.txt,sha256=XEns2-4aCmGp2XjJAeEH9TAUcGONLnSLy6ycT9FSJh8,16
38
+ moose_lib-0.6.12.dist-info/RECORD,,