kumoai 2.9.0.dev202509061830__cp311-cp311-macosx_11_0_arm64.whl → 2.12.0.dev202511031731__cp311-cp311-macosx_11_0_arm64.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.
Files changed (28) hide show
  1. kumoai/__init__.py +4 -2
  2. kumoai/_version.py +1 -1
  3. kumoai/client/client.py +10 -5
  4. kumoai/client/rfm.py +3 -2
  5. kumoai/connector/file_upload_connector.py +71 -102
  6. kumoai/connector/utils.py +1367 -236
  7. kumoai/experimental/rfm/__init__.py +2 -2
  8. kumoai/experimental/rfm/authenticate.py +8 -5
  9. kumoai/experimental/rfm/infer/timestamp.py +7 -4
  10. kumoai/experimental/rfm/local_graph.py +90 -80
  11. kumoai/experimental/rfm/local_graph_sampler.py +16 -8
  12. kumoai/experimental/rfm/local_graph_store.py +22 -6
  13. kumoai/experimental/rfm/local_pquery_driver.py +129 -28
  14. kumoai/experimental/rfm/local_table.py +100 -22
  15. kumoai/experimental/rfm/pquery/__init__.py +4 -0
  16. kumoai/experimental/rfm/pquery/backend.py +4 -0
  17. kumoai/experimental/rfm/pquery/executor.py +102 -0
  18. kumoai/experimental/rfm/pquery/pandas_backend.py +71 -30
  19. kumoai/experimental/rfm/pquery/pandas_executor.py +506 -0
  20. kumoai/experimental/rfm/rfm.py +442 -94
  21. kumoai/jobs.py +1 -0
  22. kumoai/trainer/trainer.py +19 -10
  23. kumoai/utils/progress_logger.py +62 -0
  24. {kumoai-2.9.0.dev202509061830.dist-info → kumoai-2.12.0.dev202511031731.dist-info}/METADATA +4 -5
  25. {kumoai-2.9.0.dev202509061830.dist-info → kumoai-2.12.0.dev202511031731.dist-info}/RECORD +28 -26
  26. {kumoai-2.9.0.dev202509061830.dist-info → kumoai-2.12.0.dev202511031731.dist-info}/WHEEL +0 -0
  27. {kumoai-2.9.0.dev202509061830.dist-info → kumoai-2.12.0.dev202511031731.dist-info}/licenses/LICENSE +0 -0
  28. {kumoai-2.9.0.dev202509061830.dist-info → kumoai-2.12.0.dev202511031731.dist-info}/top_level.txt +0 -0
kumoai/jobs.py CHANGED
@@ -26,6 +26,7 @@ class JobInterface(ABC, Generic[IDType, JobRequestType, JobResourceType]):
26
26
  limit (int): Max number of jobs to list, default 10.
27
27
 
28
28
  Example:
29
+ >>> # doctest: +SKIP
29
30
  >>> tags = {'pquery_name': 'my_pquery_name'}
30
31
  >>> jobs = BatchPredictionJob.search_by_tags(tags)
31
32
  Search limited to 10 results based on the `limit` parameter.
kumoai/trainer/trainer.py CHANGED
@@ -20,7 +20,6 @@ from kumoapi.jobs import (
20
20
  TrainingJobResource,
21
21
  )
22
22
  from kumoapi.model_plan import ModelPlan
23
- from kumoapi.task import TaskType
24
23
 
25
24
  from kumoai import global_state
26
25
  from kumoai.artifact_export.config import OutputConfig
@@ -190,6 +189,7 @@ class Trainer:
190
189
  *,
191
190
  non_blocking: bool = False,
192
191
  custom_tags: Mapping[str, str] = {},
192
+ warm_start_job_id: Optional[TrainingJobID] = None,
193
193
  ) -> Union[TrainingJob, TrainingJobResult]:
194
194
  r"""Fits a model to the specified graph and training table, with the
195
195
  strategy defined by this :class:`Trainer`'s :obj:`model_plan`.
@@ -207,6 +207,11 @@ class Trainer:
207
207
  custom_tags: Additional, customer defined k-v tags to be associated
208
208
  with the job to be launched. Job tags are useful for grouping
209
209
  and searching jobs.
210
+ warm_start_job_id: Optional job ID of a completed training job to
211
+ warm start from. Initializes the new model with the best
212
+ weights from the specified job, using its model
213
+ architecture, column processing, and neighbor sampling
214
+ configurations.
210
215
 
211
216
  Returns:
212
217
  Union[TrainingJobResult, TrainingJob]:
@@ -241,6 +246,7 @@ class Trainer:
241
246
  graph_snapshot_id=graph.snapshot(non_blocking=non_blocking),
242
247
  train_table_job_id=job_id,
243
248
  custom_train_table=custom_table,
249
+ warm_start_job_id=warm_start_job_id,
244
250
  ))
245
251
 
246
252
  out = TrainingJob(job_id=self._training_job_id)
@@ -353,6 +359,9 @@ class Trainer:
353
359
  'deprecated. Please use output_config to specify these '
354
360
  'parameters.')
355
361
  assert output_config is not None
362
+ # Be able to pass output_config as a dictionary
363
+ if isinstance(output_config, dict):
364
+ output_config = OutputConfig(**output_config)
356
365
  output_table_name = to_db_table_name(output_config.output_table_name)
357
366
  validate_output_arguments(
358
367
  output_config.output_types,
@@ -395,15 +404,15 @@ class Trainer:
395
404
  pred_table_data_path = prediction_table.table_data_uri
396
405
 
397
406
  api = global_state.client.batch_prediction_job_api
398
-
399
- from kumoai.pquery.predictive_query import PredictiveQuery
400
- pquery = PredictiveQuery.load_from_training_job(training_job_id)
401
- if pquery.get_task_type() == TaskType.BINARY_CLASSIFICATION:
402
- if binary_classification_threshold is None:
403
- logger.warning("No binary classification threshold provided. "
404
- "Using default threshold of 0.5.")
405
- binary_classification_threshold = 0.5
406
-
407
+ # Remove to resolve https://github.com/kumo-ai/kumo/issues/24250
408
+ # from kumoai.pquery.predictive_query import PredictiveQuery
409
+ # pquery = PredictiveQuery.load_from_training_job(training_job_id)
410
+ # if pquery.get_task_type() == TaskType.BINARY_CLASSIFICATION:
411
+ # if binary_classification_threshold is None:
412
+ # logger.warning(
413
+ # "No binary classification threshold provided. "
414
+ # "Using default threshold of 0.5.")
415
+ # binary_classification_threshold = 0.5
407
416
  job_id, response = api.maybe_create(
408
417
  BatchPredictionRequest(
409
418
  dict(custom_tags),
@@ -1,9 +1,18 @@
1
+ import sys
1
2
  import time
2
3
  from typing import Any, List, Optional, Union
3
4
 
4
5
  from rich.console import Console, ConsoleOptions, RenderResult
5
6
  from rich.live import Live
6
7
  from rich.padding import Padding
8
+ from rich.progress import (
9
+ BarColumn,
10
+ MofNCompleteColumn,
11
+ Progress,
12
+ Task,
13
+ TextColumn,
14
+ TimeRemainingColumn,
15
+ )
7
16
  from rich.spinner import Spinner
8
17
  from rich.table import Table
9
18
  from rich.text import Text
@@ -39,6 +48,24 @@ class ProgressLogger:
39
48
  return f'{self.__class__.__name__}({self.msg})'
40
49
 
41
50
 
51
+ class ColoredMofNCompleteColumn(MofNCompleteColumn):
52
+ def __init__(self, style: str = 'green') -> None:
53
+ super().__init__()
54
+ self.style = style
55
+
56
+ def render(self, task: Task) -> Text:
57
+ return Text(str(super().render(task)), style=self.style)
58
+
59
+
60
+ class ColoredTimeRemainingColumn(TimeRemainingColumn):
61
+ def __init__(self, style: str = 'cyan') -> None:
62
+ super().__init__()
63
+ self.style = style
64
+
65
+ def render(self, task: Task) -> Text:
66
+ return Text(str(super().render(task)), style=self.style)
67
+
68
+
42
69
  class InteractiveProgressLogger(ProgressLogger):
43
70
  def __init__(
44
71
  self,
@@ -51,12 +78,36 @@ class InteractiveProgressLogger(ProgressLogger):
51
78
  self.verbose = verbose
52
79
  self.refresh_per_second = refresh_per_second
53
80
 
81
+ self._progress: Optional[Progress] = None
82
+ self._task: Optional[int] = None
83
+
54
84
  self._live: Optional[Live] = None
55
85
  self._exception: bool = False
56
86
 
87
+ def init_progress(self, total: int, description: str) -> None:
88
+ assert self._progress is None
89
+ if self.verbose:
90
+ self._progress = Progress(
91
+ TextColumn(f' ↳ {description}', style='dim'),
92
+ BarColumn(bar_width=None),
93
+ ColoredMofNCompleteColumn(style='dim'),
94
+ TextColumn('•', style='dim'),
95
+ ColoredTimeRemainingColumn(style='dim'),
96
+ )
97
+ self._task = self._progress.add_task("Progress", total=total)
98
+
99
+ def step(self) -> None:
100
+ if self.verbose:
101
+ assert self._progress is not None
102
+ assert self._task is not None
103
+ self._progress.update(self._task, advance=1) # type: ignore
104
+
57
105
  def __enter__(self) -> Self:
58
106
  super().__enter__()
59
107
 
108
+ sys.stdout.write("\x1b]9;4;3\x07")
109
+ sys.stdout.flush()
110
+
60
111
  if self.verbose:
61
112
  self._live = Live(
62
113
  self,
@@ -73,11 +124,19 @@ class InteractiveProgressLogger(ProgressLogger):
73
124
  if exc_type is not None:
74
125
  self._exception = True
75
126
 
127
+ if self._progress is not None:
128
+ self._progress.stop()
129
+ self._progress = None
130
+ self._task = None
131
+
76
132
  if self._live is not None:
77
133
  self._live.update(self, refresh=True)
78
134
  self._live.stop()
79
135
  self._live = None
80
136
 
137
+ sys.stdout.write("\x1b]9;4;0\x07")
138
+ sys.stdout.flush()
139
+
81
140
  def __rich_console__(
82
141
  self,
83
142
  console: Console,
@@ -107,3 +166,6 @@ class InteractiveProgressLogger(ProgressLogger):
107
166
  table.add_row('', Text(f'↳ {log}', style='dim'))
108
167
 
109
168
  yield table
169
+
170
+ if self.verbose and self._progress is not None:
171
+ yield self._progress.get_renderable()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kumoai
3
- Version: 2.9.0.dev202509061830
3
+ Version: 2.12.0.dev202511031731
4
4
  Summary: AI on the Modern Data Stack
5
5
  Author-email: "Kumo.AI" <hello@kumo.ai>
6
6
  License-Expression: MIT
@@ -9,13 +9,12 @@ Project-URL: documentation, https://kumo.ai/docs
9
9
  Keywords: deep-learning,graph-neural-networks,cloud-data-warehouse
10
10
  Classifier: Development Status :: 5 - Production/Stable
11
11
  Classifier: Programming Language :: Python
12
- Classifier: Programming Language :: Python :: 3.9
13
12
  Classifier: Programming Language :: Python :: 3.10
14
13
  Classifier: Programming Language :: Python :: 3.11
15
14
  Classifier: Programming Language :: Python :: 3.12
16
15
  Classifier: Programming Language :: Python :: 3.13
17
16
  Classifier: Programming Language :: Python :: 3 :: Only
18
- Requires-Python: >=3.9
17
+ Requires-Python: >=3.10
19
18
  Description-Content-Type: text/markdown
20
19
  License-File: LICENSE
21
20
  Requires-Dist: pandas
@@ -24,7 +23,7 @@ Requires-Dist: requests>=2.28.2
24
23
  Requires-Dist: urllib3
25
24
  Requires-Dist: plotly
26
25
  Requires-Dist: typing_extensions>=4.5.0
27
- Requires-Dist: kumo-api==0.33.0
26
+ Requires-Dist: kumo-api==0.40.0
28
27
  Requires-Dist: tqdm>=4.66.0
29
28
  Requires-Dist: aiohttp>=3.10.0
30
29
  Requires-Dist: pydantic>=1.10.21
@@ -54,7 +53,7 @@ interact with the Kumo machine learning platform
54
53
 
55
54
  ## Installation
56
55
 
57
- The Kumo SDK is available for Python 3.9 to Python 3.13. To install, simply run
56
+ The Kumo SDK is available for Python 3.10 to Python 3.13. To install, simply run
58
57
 
59
58
  ```
60
59
  pip install kumoai
@@ -1,33 +1,35 @@
1
1
  kumoai/_logging.py,sha256=U2_5ROdyk92P4xO4H2WJV8EC7dr6YxmmnM-b7QX9M7I,886
2
2
  kumoai/mixin.py,sha256=MP413xzuCqWhxAPUHmloLA3j4ZyF1tEtfi516b_hOXQ,812
3
- kumoai/_version.py,sha256=qwsiMZndL3Mgs0MZeguphx3QZNTtwzNNXQ-VU17ujes,38
4
- kumoai/__init__.py,sha256=x3DjDsWBgWSNwo7mDwb3XAoRm2NuSO09yvhQTL9tBT8,10673
3
+ kumoai/_version.py,sha256=X5C9cHVsjznMq0N29k8V18IjmrXq8NyKWG7IEMkjaBc,39
4
+ kumoai/__init__.py,sha256=LU1zmKYc0KV5hy2VGKUuXgSvbJwj2rSRQ_R_bpHyl1o,10708
5
5
  kumoai/formatting.py,sha256=jA_rLDCGKZI8WWCha-vtuLenVKTZvli99Tqpurz1H84,953
6
6
  kumoai/futures.py,sha256=oJFIfdCM_3nWIqQteBKYMY4fPhoYlYWE_JA2o6tx-ng,3737
7
7
  kumoai/kumolib.cpython-311-darwin.so,sha256=AmB_Fysmud1y7Gm5CuBQ5lWDuSzpxVDV_iTA2cjH1s8,232544
8
- kumoai/jobs.py,sha256=Gs1MZORGLGq3FCvCyD32lRtsW9ZxNMfFppNZPs9Vw9c,2463
8
+ kumoai/jobs.py,sha256=NrdLEFNo7oeCYSy-kj2nAvCFrz9BZ_xrhkqHFHk5ksY,2496
9
9
  kumoai/exceptions.py,sha256=b-_sdbAKOg50uaJZ65GmBLdTo4HANdjl8_R0sJpwaN0,833
10
10
  kumoai/databricks.py,sha256=e6E4lOFvZHXFwh4CO1kXU1zzDU3AapLQYMxjiHPC-HQ,476
11
11
  kumoai/spcs.py,sha256=N4ddeoHAc4I3bKrDitsb91lUx5VKvCyPyMT3zWiuCcY,4275
12
12
  kumoai/_singleton.py,sha256=UTwrbDkoZSGB8ZelorvprPDDv9uZkUi1q_SrmsyngpQ,836
13
13
  kumoai/experimental/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- kumoai/experimental/rfm/local_graph_sampler.py,sha256=DAtOSB4JLvCwkfZn3xO7mNYC3tP_Zb3bODZvn-ZDvq4,6195
15
- kumoai/experimental/rfm/local_graph.py,sha256=9LBqNYoexI0Rl_Z1MvEl3uIo5rjlshHeI5O_quX3Eto,29565
16
- kumoai/experimental/rfm/local_pquery_driver.py,sha256=B3d2vPgGPAdblEBxf4JTIz8_EuffVIimxgr3P3VFX_U,15005
17
- kumoai/experimental/rfm/__init__.py,sha256=ea-fjbK8hl7gFd6xFmo2HELrLSLMy6w_pE5_ddXjH4E,1641
14
+ kumoai/experimental/rfm/local_graph_sampler.py,sha256=o60_sdMa_fr60DrdmCIaE6lKQAD2msp1t-GGubFNt-o,6738
15
+ kumoai/experimental/rfm/local_graph.py,sha256=2iJDlsGVzqCe1bD_puXWlhwGkn7YnQyJ4p4C-fwCZNE,30076
16
+ kumoai/experimental/rfm/local_pquery_driver.py,sha256=xqAQ9fJfkqM1axknFpg0NLQbIYmExh-s7vGdUyDEkwA,18600
17
+ kumoai/experimental/rfm/__init__.py,sha256=F1aUOCLDN2yrIRDAiOlogDfXKUkUQgp8Mt0pVX9rLX8,1641
18
18
  kumoai/experimental/rfm/utils.py,sha256=3IiBvT_aLBkkcJh3H11_50yt_XlEzHR0cm9Kprrtl8k,11123
19
- kumoai/experimental/rfm/local_table.py,sha256=sbTN9Ddz5aZf5o1OWzuU-ZH5PpXYeFoeGrhtNbpNnzg,16209
20
- kumoai/experimental/rfm/rfm.py,sha256=mLmMoMK6BXsuAKxzQiyGlq9BxVIRSOgeEG5hsglHY3g,31145
21
- kumoai/experimental/rfm/local_graph_store.py,sha256=z2QFuCyGYb4CS04AIK526DNQbdwRB3Ua9vxRHeoDzN0,13271
22
- kumoai/experimental/rfm/authenticate.py,sha256=yx_gbNZykaTBJ9RfF-Gl4R6wp5UzxyPi1u7eie1siw4,18807
23
- kumoai/experimental/rfm/pquery/backend.py,sha256=4PwBYbIEkZl-DYNx73bB9mP9SSL555TXWq8mZJrFS48,3159
24
- kumoai/experimental/rfm/pquery/__init__.py,sha256=bsNcdn7DnPw9kpSQ_bQVmQX1RmXzPQhzfA1y6G-n7I8,146
25
- kumoai/experimental/rfm/pquery/pandas_backend.py,sha256=JTl5XLSzVnF7w5jpXy3ZNULcrNgUs2TsIAviv-XZXIg,13880
19
+ kumoai/experimental/rfm/local_table.py,sha256=r8xZ33Mjs6JD8ud6h23tZ99Dag2DvZ4h6tWjmGrKQg4,19605
20
+ kumoai/experimental/rfm/rfm.py,sha256=BcC0EqXfz2OhMT-g8gBGv7M6yUTboj-PyGWIQZPUf70,46227
21
+ kumoai/experimental/rfm/local_graph_store.py,sha256=8BqonuaMftAAsjgZpB369i5AeNd1PkisMbbEqc0cKBo,13847
22
+ kumoai/experimental/rfm/authenticate.py,sha256=FiuHMvP7V3zBZUlHMDMbNLhc-UgDZgz4hjVSTuQ7DRw,18888
23
+ kumoai/experimental/rfm/pquery/backend.py,sha256=6wtB0yFpxQUraBSA2TbKMVSIMD0dcLwYV5P4SQx2g_k,3287
24
+ kumoai/experimental/rfm/pquery/__init__.py,sha256=9uLXixjp78y0IzO2F__lFqKNm37OGhN3iDh56akWLNU,283
25
+ kumoai/experimental/rfm/pquery/pandas_backend.py,sha256=pgHCErSo6U-KJMhgIYijYt96uubtFB2WtsrTdLU7NYc,15396
26
+ kumoai/experimental/rfm/pquery/pandas_executor.py,sha256=BgF3saosisgLHx1RyLj-HSEbMp4xLatNuARdKWwiiLY,17326
27
+ kumoai/experimental/rfm/pquery/executor.py,sha256=f7-pJhL0BgFU9E4o4gQpQyArOvyrZtwxFmks34-QOAE,2741
26
28
  kumoai/experimental/rfm/infer/multicategorical.py,sha256=0-cLpDnGryhr76QhZNO-klKokJ6MUSfxXcGdQ61oykY,1102
27
29
  kumoai/experimental/rfm/infer/categorical.py,sha256=VwNaKwKbRYkTxEJ1R6gziffC8dGsEThcDEfbi-KqW5c,853
28
30
  kumoai/experimental/rfm/infer/id.py,sha256=ZIO0DWIoiEoS_8MVc5lkqBfkTWWQ0yGCgjkwLdaYa_Q,908
29
31
  kumoai/experimental/rfm/infer/__init__.py,sha256=xQ8_SuejIzXyn2J7bIKX3pXumFtRuEfBtE5oEDUDJjI,293
30
- kumoai/experimental/rfm/infer/timestamp.py,sha256=oGPW0t7823gM36RQXusR87_gAJBbFksLoghTmUjBFSA,916
32
+ kumoai/experimental/rfm/infer/timestamp.py,sha256=vM9--7eStzaGG13Y-oLYlpNJyhL6f9dp17HDXwtl_DM,1094
31
33
  kumoai/encoder/__init__.py,sha256=VPGs4miBC_WfwWeOXeHhFomOUocERFavhKf5fqITcds,182
32
34
  kumoai/graph/graph.py,sha256=iyp4klPIMn2ttuEqMJvsrxKb_tmz_DTnvziIhCegduM,38291
33
35
  kumoai/graph/__init__.py,sha256=n8X4X8luox4hPBHTRC9R-3JzvYYMoR8n7lF1H4w4Hzc,228
@@ -38,7 +40,7 @@ kumoai/artifact_export/job.py,sha256=GEisSwvcjK_35RgOfsLXGgxMTXIWm765B_BW_Kgs-V0
38
40
  kumoai/artifact_export/__init__.py,sha256=BsfDrc3mCHpO9-BqvqKm8qrXDIwfdaoH5UIoG4eQkc4,238
39
41
  kumoai/utils/datasets.py,sha256=ptKIUoBONVD55pTVNdRCkQT3NWdN_r9UAUu4xewPa3U,2928
40
42
  kumoai/utils/__init__.py,sha256=wGDC_31XJ-7ipm6eawjLAJaP4EfmtNOH8BHzaetQ9Ko,268
41
- kumoai/utils/progress_logger.py,sha256=YqJuWS39m-7g5Fh7KeOTwOfaZCdTnYFrOdcqB06x8w4,2965
43
+ kumoai/utils/progress_logger.py,sha256=jHAS_iDD008VSa_P_XzJsRS6TVIXviK017KE5ict-4M,4875
42
44
  kumoai/utils/forecasting.py,sha256=-nDS6ucKNfQhTQOfebjefj0wwWH3-KYNslIomxwwMBM,7415
43
45
  kumoai/codegen/generate.py,sha256=SvfWWa71xSAOjH9645yQvgoEM-o4BYjupM_EpUxqB_E,7331
44
46
  kumoai/codegen/naming.py,sha256=_XVQGxHfuub4bhvyuBKjltD5Lm_oPpibvP_LZteCGk0,3021
@@ -64,8 +66,8 @@ kumoai/connector/snowflake_connector.py,sha256=K0s-H9tW3rve8g2x1PbyxvzSpkROfGQZz
64
66
  kumoai/connector/bigquery_connector.py,sha256=IkyRqvF8Cg96kApUuuz86eYnl-BqBmDX1f_jIKL0pxc,7082
65
67
  kumoai/connector/source_table.py,sha256=QLT8bEYaxeMwy-b168url0VfnkTrs5K6VKLbxTI4hEY,17539
66
68
  kumoai/connector/__init__.py,sha256=9g6oNJ0qHWFlL5enTSoK4_SSH_5hP74xUDZx-9SggC4,842
67
- kumoai/connector/file_upload_connector.py,sha256=bkb3EgSdncX3V5vKwV18ySlcm1rxyPOzjLiUGN_tGGY,8553
68
- kumoai/connector/utils.py,sha256=thTUxoAw5oeZIwNoc_4f-ID84ISvplwA1b8JhFG32cs,22373
69
+ kumoai/connector/file_upload_connector.py,sha256=swp03HgChOvmNPJetuujBSAqADe7NRmS_T0F3o9it4w,7008
70
+ kumoai/connector/utils.py,sha256=PUjunLpfqMZsrPDo2EmnyJRBl_mt-E6ugv2kNkf5Rn8,64011
69
71
  kumoai/connector/s3_connector.py,sha256=3kbv-h7DwD8O260Q0h1GPm5wwQpLt-Tb3d_CBSaie44,10155
70
72
  kumoai/connector/base.py,sha256=cujXSZF3zAfuxNuEw54DSL1T7XCuR4t0shSMDuPUagQ,5291
71
73
  kumoai/pquery/__init__.py,sha256=uTXr7t1eXcVfM-ETaM_1ImfEqhrmaj8BjiIvy1YZTL8,533
@@ -73,7 +75,7 @@ kumoai/pquery/predictive_query.py,sha256=oUqwdOWLLkPM-G4PhpUk_6mwSJGBtaD3t37Wp5O
73
75
  kumoai/pquery/prediction_table.py,sha256=QPDH22X1UB0NIufY7qGuV2XW7brG3Pv--FbjNezzM2g,10776
74
76
  kumoai/pquery/training_table.py,sha256=elmPDZx11kPiC_dkOhJcBUGtHKgL32GCBvZ9k6U0pMg,15809
75
77
  kumoai/client/pquery.py,sha256=R2hc-M8vPoyIDH0ywLwFVxCznVAqpZz3w2HszjdNW-o,6891
76
- kumoai/client/client.py,sha256=hf8lVA2iRkFBG80FCDbGkQ5Ji-8zPftdPyUdOsw_CNg,8200
78
+ kumoai/client/client.py,sha256=S1OfGDwTzoyf40fhg111xGQGNfEP-OnoXqFV6X9iMEc,8580
77
79
  kumoai/client/graph.py,sha256=zvLEDExLT_RVbUMHqVl0m6tO6s2gXmYSoWmPF6YMlnA,3831
78
80
  kumoai/client/online.py,sha256=pkBBh_DEC3GAnPcNw6bopNRlGe7EUbIFe7_seQqZRaw,2720
79
81
  kumoai/client/source_table.py,sha256=VCsCcM7KYcnjGP7HLTb-AOSEGEVsJTWjk8bMg1JdgPU,2101
@@ -82,7 +84,7 @@ kumoai/client/jobs.py,sha256=iu_Wrta6BQMlV6ZtzSnmhjwNPKDMQDXOsqVVIyWodqw,17074
82
84
  kumoai/client/utils.py,sha256=lz1NubwMDHCwzQRowRXm7mjAoYRd5UjRQIwXdtWAl90,3849
83
85
  kumoai/client/connector.py,sha256=x3i2aBTJTEMZvYRcWkY-UfWVOANZjqAso4GBbcshFjw,3920
84
86
  kumoai/client/table.py,sha256=cQG-RPm-e91idEgse1IPJDvBmzddIDGDkuyrR1rq4wU,3235
85
- kumoai/client/rfm.py,sha256=6S8hdoUgr4-NOuK8afDrX-DswwCxLwXcX2IyMr5lmV8,2882
87
+ kumoai/client/rfm.py,sha256=15Wt_45mf7WJyCKylxF6_biHis9R_qmplPk9cwR9JeU,2918
86
88
  kumoai/client/endpoints.py,sha256=0VPeWgy2AEA1BD4zFB6DQaP4N2Ln2lPEnBIs_9fM1y4,5315
87
89
  kumoai/trainer/config.py,sha256=-2RfK10AsVVThSyfWtlyfH4Fc4EwTdu0V3yrDRtIOjk,98
88
90
  kumoai/trainer/util.py,sha256=bDPGkMF9KOy4HgtA-OwhXP17z9cbrfMnZGtyGuUq_Eo,4062
@@ -90,9 +92,9 @@ kumoai/trainer/job.py,sha256=Wk69nzFhbvuA3nEvtCstI04z5CxkgvQ6tHnGchE0Lkg,44938
90
92
  kumoai/trainer/baseline_trainer.py,sha256=LlfViNOmswNv4c6zJJLsyv0pC2mM2WKMGYx06ogtEVc,4024
91
93
  kumoai/trainer/__init__.py,sha256=zUdFl-f-sBWmm2x8R-rdVzPBeU2FaMzUY5mkcgoTa1k,939
92
94
  kumoai/trainer/online_serving.py,sha256=9cddb5paeZaCgbUeceQdAOxysCtV5XP-KcsgFz_XR5w,9566
93
- kumoai/trainer/trainer.py,sha256=9BiglEIa_wFX7nGSlAb2OwNfEOyq0GpmOCJGeyeB7ic,19506
94
- kumoai-2.9.0.dev202509061830.dist-info/RECORD,,
95
- kumoai-2.9.0.dev202509061830.dist-info/WHEEL,sha256=sunMa2yiYbrNLGeMVDqEA0ayyJbHlex7SCn1TZrEq60,136
96
- kumoai-2.9.0.dev202509061830.dist-info/top_level.txt,sha256=YjU6UcmomoDx30vEXLsOU784ED7VztQOsFApk1SFwvs,7
97
- kumoai-2.9.0.dev202509061830.dist-info/METADATA,sha256=LldxRG_7zNoe9yfSHRJO44-T3SQLoyO6tW_SC2uLFaI,2099
98
- kumoai-2.9.0.dev202509061830.dist-info/licenses/LICENSE,sha256=TbWlyqRmhq9PEzCaTI0H0nWLQCCOywQM8wYH8MbjfLo,1102
95
+ kumoai/trainer/trainer.py,sha256=hBXO7gwpo3t59zKFTeIkK65B8QRmWCwO33sbDuEAPlY,20133
96
+ kumoai-2.12.0.dev202511031731.dist-info/RECORD,,
97
+ kumoai-2.12.0.dev202511031731.dist-info/WHEEL,sha256=sunMa2yiYbrNLGeMVDqEA0ayyJbHlex7SCn1TZrEq60,136
98
+ kumoai-2.12.0.dev202511031731.dist-info/top_level.txt,sha256=YjU6UcmomoDx30vEXLsOU784ED7VztQOsFApk1SFwvs,7
99
+ kumoai-2.12.0.dev202511031731.dist-info/METADATA,sha256=yf8LuBryiRverUZLTN389Y_94sZrrzNnITX6sDAlfy0,2052
100
+ kumoai-2.12.0.dev202511031731.dist-info/licenses/LICENSE,sha256=TbWlyqRmhq9PEzCaTI0H0nWLQCCOywQM8wYH8MbjfLo,1102