moose-lib 0.4.214__py3-none-any.whl → 0.4.216__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
@@ -83,7 +83,11 @@ class ArrayType(BaseModel):
83
83
  element_nullable: bool
84
84
 
85
85
 
86
- type DataType = str | DataEnum | ArrayType | Nested
86
+ class NamedTupleType(BaseModel):
87
+ fields: list[tuple[str, "DataType"]]
88
+
89
+
90
+ type DataType = str | DataEnum | ArrayType | Nested | NamedTupleType
87
91
 
88
92
 
89
93
  def handle_jwt(field_type: type) -> Tuple[bool, type]:
@@ -191,10 +195,18 @@ def py_type_to_column_type(t: type, mds: list[Any]) -> Tuple[bool, list[Any], Da
191
195
  elif not isclass(t):
192
196
  raise ValueError(f"Unknown type {t}")
193
197
  elif issubclass(t, BaseModel):
194
- data_type = Nested(
195
- name=t.__name__,
196
- columns=_to_columns(t),
197
- )
198
+ if any(md == "ClickHouseNamedTuple" for md in mds):
199
+ data_type = NamedTupleType(
200
+ fields=[(
201
+ column.name,
202
+ column.data_type
203
+ ) for column in _to_columns(t)],
204
+ )
205
+ else:
206
+ data_type = Nested(
207
+ name=t.__name__,
208
+ columns=_to_columns(t),
209
+ )
198
210
  elif issubclass(t, Enum):
199
211
  values = [EnumValue(name=member.name, value=member.value) for member in t]
200
212
  data_type = DataEnum(name=t.__name__, values=values)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: moose_lib
3
- Version: 0.4.214
3
+ Version: 0.4.216
4
4
  Home-page: https://www.fiveonefour.com/moose
5
5
  Author: Fiveonefour Labs Inc.
6
6
  Author-email: support@fiveonefour.com
@@ -1,7 +1,7 @@
1
1
  moose_lib/__init__.py,sha256=0MpzYNnjpqcBaXjR5CBr1b0M5YjXXjj9y1RKyNeOJQ8,183
2
2
  moose_lib/blocks.py,sha256=_wdvC2NC_Y3MMEnB71WTgWbeQ--zPNHk19xjToJW0C0,3185
3
3
  moose_lib/commons.py,sha256=BV5X78MuOWHiZV9bsWSN69JIvzTNWUi-gnuMiAtaO8A,2489
4
- moose_lib/data_models.py,sha256=R6do1eQqHK6AZ4GTP5tOPtSZaltjZurfx9_Asji7Dwc,8529
4
+ moose_lib/data_models.py,sha256=hFXvIE2dQ88l4bC2yGNjdwLK8SWPL9_yUodcjMErym4,8911
5
5
  moose_lib/dmv2-serializer.py,sha256=CL_Pvvg8tJOT8Qk6hywDNzY8MYGhMVdTOw8arZi3jng,49
6
6
  moose_lib/dmv2.py,sha256=JFNRjTWUcuTw865Wy8E_UgjLeLZPWAU3m7Ec2rd3CKM,38404
7
7
  moose_lib/internal.py,sha256=8aEXQjB2DWz-dGUJ0ch8g5awHxELoZx1XYmlVXlhCWo,14193
@@ -16,7 +16,7 @@ tests/__init__.py,sha256=0Gh4yzPkkC3TzBGKhenpMIxJcRhyrrCfxLSfpTZnPMQ,53
16
16
  tests/conftest.py,sha256=ZVJNbnr4DwbcqkTmePW6U01zAzE6QD0kNAEZjPG1f4s,169
17
17
  tests/test_moose.py,sha256=mBsx_OYWmL8ppDzL_7Bd7xR6qf_i3-pCIO3wm2iQNaA,2136
18
18
  tests/test_redis_client.py,sha256=d9_MLYsJ4ecVil_jPB2gW3Q5aWnavxmmjZg2uYI3LVo,3256
19
- moose_lib-0.4.214.dist-info/METADATA,sha256=rpuUzKwIew2DM6hjSWiSfvyxcJXSMXdOg64XyzhA_IQ,638
20
- moose_lib-0.4.214.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
21
- moose_lib-0.4.214.dist-info/top_level.txt,sha256=XEns2-4aCmGp2XjJAeEH9TAUcGONLnSLy6ycT9FSJh8,16
22
- moose_lib-0.4.214.dist-info/RECORD,,
19
+ moose_lib-0.4.216.dist-info/METADATA,sha256=oNbEoeNPz5yCFYlfSg5dKEF3DaYd88ut1kYAU0RSzDE,638
20
+ moose_lib-0.4.216.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
21
+ moose_lib-0.4.216.dist-info/top_level.txt,sha256=XEns2-4aCmGp2XjJAeEH9TAUcGONLnSLy6ycT9FSJh8,16
22
+ moose_lib-0.4.216.dist-info/RECORD,,