kumoai 2.9.0.dev202509081831__cp312-cp312-win_amd64.whl → 2.12.0.dev202511111731__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.
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/endpoints.py +1 -0
  5. kumoai/client/rfm.py +37 -8
  6. kumoai/connector/file_upload_connector.py +71 -102
  7. kumoai/connector/utils.py +1367 -236
  8. kumoai/experimental/rfm/__init__.py +5 -3
  9. kumoai/experimental/rfm/authenticate.py +8 -5
  10. kumoai/experimental/rfm/infer/timestamp.py +7 -4
  11. kumoai/experimental/rfm/local_graph.py +90 -80
  12. kumoai/experimental/rfm/local_graph_sampler.py +16 -8
  13. kumoai/experimental/rfm/local_graph_store.py +22 -6
  14. kumoai/experimental/rfm/local_pquery_driver.py +336 -42
  15. kumoai/experimental/rfm/local_table.py +100 -22
  16. kumoai/experimental/rfm/pquery/__init__.py +4 -4
  17. kumoai/experimental/rfm/pquery/{backend.py → executor.py} +24 -58
  18. kumoai/experimental/rfm/pquery/{pandas_backend.py → pandas_executor.py} +278 -222
  19. kumoai/experimental/rfm/rfm.py +514 -117
  20. kumoai/jobs.py +1 -0
  21. kumoai/kumolib.cp312-win_amd64.pyd +0 -0
  22. kumoai/trainer/trainer.py +19 -10
  23. kumoai/utils/progress_logger.py +68 -0
  24. {kumoai-2.9.0.dev202509081831.dist-info → kumoai-2.12.0.dev202511111731.dist-info}/METADATA +4 -5
  25. {kumoai-2.9.0.dev202509081831.dist-info → kumoai-2.12.0.dev202511111731.dist-info}/RECORD +28 -28
  26. {kumoai-2.9.0.dev202509081831.dist-info → kumoai-2.12.0.dev202511111731.dist-info}/WHEEL +0 -0
  27. {kumoai-2.9.0.dev202509081831.dist-info → kumoai-2.12.0.dev202511111731.dist-info}/licenses/LICENSE +0 -0
  28. {kumoai-2.9.0.dev202509081831.dist-info → kumoai-2.12.0.dev202511111731.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.
Binary file
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,39 @@ 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:
106
+ from kumoai import in_notebook
107
+
58
108
  super().__enter__()
59
109
 
110
+ if not in_notebook(): # Render progress bar in TUI.
111
+ sys.stdout.write("\x1b]9;4;3\x07")
112
+ sys.stdout.flush()
113
+
60
114
  if self.verbose:
61
115
  self._live = Live(
62
116
  self,
@@ -68,16 +122,27 @@ class InteractiveProgressLogger(ProgressLogger):
68
122
  return self
69
123
 
70
124
  def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None:
125
+ from kumoai import in_notebook
126
+
71
127
  super().__exit__(exc_type, exc_val, exc_tb)
72
128
 
73
129
  if exc_type is not None:
74
130
  self._exception = True
75
131
 
132
+ if self._progress is not None:
133
+ self._progress.stop()
134
+ self._progress = None
135
+ self._task = None
136
+
76
137
  if self._live is not None:
77
138
  self._live.update(self, refresh=True)
78
139
  self._live.stop()
79
140
  self._live = None
80
141
 
142
+ if not in_notebook():
143
+ sys.stdout.write("\x1b]9;4;0\x07")
144
+ sys.stdout.flush()
145
+
81
146
  def __rich_console__(
82
147
  self,
83
148
  console: Console,
@@ -107,3 +172,6 @@ class InteractiveProgressLogger(ProgressLogger):
107
172
  table.add_row('', Text(f'↳ {log}', style='dim'))
108
173
 
109
174
  yield table
175
+
176
+ if self.verbose and self._progress is not None:
177
+ yield self._progress.get_renderable()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kumoai
3
- Version: 2.9.0.dev202509081831
3
+ Version: 2.12.0.dev202511111731
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.45.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,27 +1,27 @@
1
- kumoai/__init__.py,sha256=7YoN_aogTFbuPKHjwvu8Pr8DqkZGCSUTqXj-yofcUFM,10965
1
+ kumoai/__init__.py,sha256=4efagNAotP3c8mj8yyDGfVFcbgQ9l4wRC4FP-Yt0J3E,11002
2
2
  kumoai/_logging.py,sha256=qL4JbMQwKXri2f-SEJoFB8TY5ALG12S-nobGTNWxW-A,915
3
3
  kumoai/_singleton.py,sha256=i2BHWKpccNh5SJGDyU0IXsnYzJAYr8Xb0wz4c6LRbpo,861
4
- kumoai/_version.py,sha256=i0ZG8l0_1CD0GD9cOAn_N-GAayuQ_k4ooqREoN8Ngdc,38
4
+ kumoai/_version.py,sha256=EmBJ4U0JvENPiq7lq8M80mpSdMDFEwNkBsjWDdzaLT4,39
5
5
  kumoai/databricks.py,sha256=ahwJz6DWLXMkndT0XwEDBxF-hoqhidFR8wBUQ4TLZ68,490
6
6
  kumoai/exceptions.py,sha256=7TMs0SC8xrU009_Pgd4QXtSF9lxJq8MtRbeX9pcQUy4,859
7
7
  kumoai/formatting.py,sha256=o3uCnLwXPhe1KI5WV9sBgRrcU7ed4rgu_pf89GL9Nc0,983
8
8
  kumoai/futures.py,sha256=J8rtZMEYFzdn5xF_x-LAiKJz3KGL6PT02f6rq_2bOJk,3836
9
- kumoai/jobs.py,sha256=guR9xi5XXHzkeCosE-_ErCfxYPHcErw230fqvFZt9VE,2542
10
- kumoai/kumolib.cp312-win_amd64.pyd,sha256=40vQmkuhrdmK53mDar2615knNeeJkZQMKCE3StSg6nM,198144
9
+ kumoai/jobs.py,sha256=dCi7BAdfm2tCnonYlGU4WJokJWbh3RzFfaOX2EYCIHU,2576
10
+ kumoai/kumolib.cp312-win_amd64.pyd,sha256=7yurkZQvIf0TXW94voE5HRJy9zH36cqSkjvmz8VVLgk,198144
11
11
  kumoai/mixin.py,sha256=IaiB8SAI0VqOoMVzzIaUlqMt53-QPUK6OB0HikG-V9E,840
12
12
  kumoai/spcs.py,sha256=SWvfkeJvb_7sGkjSqyMBIuPbMTWCP6v0BC9HBXM1uSI,4398
13
13
  kumoai/artifact_export/__init__.py,sha256=UXAQI5q92ChBzWAk8o3J6pElzYHudAzFZssQXd4o7i8,247
14
14
  kumoai/artifact_export/config.py,sha256=PRoUByzu5l-nyBKFR4vnRlq19b53ExGVy8YDCD7zMuI,8233
15
15
  kumoai/artifact_export/job.py,sha256=lOFIdPCrvhwdfvvDhQ2yzW8J4qIdYQoHZO1Rz3kJky4,3383
16
16
  kumoai/client/__init__.py,sha256=v0ISO1QD8JJhIJS6IzWz5-SL3EhtNCPeX3j1b2HBY0s,69
17
- kumoai/client/client.py,sha256=5AI-m7MhXgZm68GdX_J4YBoaR0fdFlqgcmA8rq1eYDQ,8416
17
+ kumoai/client/client.py,sha256=IoZ6WH-VIAdwpwmd5DhP4HqjQL_YpB5vaWjtaWrNECk,8801
18
18
  kumoai/client/connector.py,sha256=CO2LG5aDpCLxWNYYFRXGZs1AhYH3dRcbqBEUGwHQGzQ,4030
19
- kumoai/client/endpoints.py,sha256=gyVxVkdlO7FMR_UHof3RWsoTY-87JTD7y1lLIw1kh8A,5464
19
+ kumoai/client/endpoints.py,sha256=DpEKEQ1yvL15iHZadXZKO94t-qXrYLaeV1sknX4IuPg,5532
20
20
  kumoai/client/graph.py,sha256=6MFyPYxDPfGTWeAI_84RUgWx9rVvqbLnR0Ourtgj5rg,3951
21
21
  kumoai/client/jobs.py,sha256=Y8wKiTk1I5ywc-2cxR72LaBjfhPTCVOezSCTeDpTs8Q,17521
22
22
  kumoai/client/online.py,sha256=4s_8Sv8m_k_tty4CO7RuAt0e6BDMkGvsZZ3VX8zyDb8,2798
23
23
  kumoai/client/pquery.py,sha256=0pXgQLxjoaFWDif0XRAuC_P-X3OSnXNWsiVrXej9uMk,7094
24
- kumoai/client/rfm.py,sha256=wr2CXFdtvu5wGJz7iQ2OBzhQRu_EyMESH8KJZ0dsBMo,2965
24
+ kumoai/client/rfm.py,sha256=Gmt_dqoXekBCLiF0eQPgpoJ1cbnhnU8VbINF3U13qbQ,3838
25
25
  kumoai/client/source_table.py,sha256=mMHJtQ_yUHRI9LdHLVHxNGt83bbzmC1_d-NmXjbiTuI,2154
26
26
  kumoai/client/table.py,sha256=VhjLEMLQS1Z7zjcb2Yt3gZfiVqiD7b1gj-WNux_504A,3336
27
27
  kumoai/client/utils.py,sha256=RSD5Ia0lQQDR1drRFBJFdo2KVHfQqhJuk6m6du7Kl4E,3979
@@ -45,31 +45,31 @@ kumoai/connector/__init__.py,sha256=yPE3TVLCKdVKhsqPsYVSA290eIZCOTtHtylxm2I5U6Q,
45
45
  kumoai/connector/base.py,sha256=AYCtcYuncLyMl0FLLUMu5z4qFBWury5jhK2D9sZJIgA,5444
46
46
  kumoai/connector/bigquery_connector.py,sha256=KMgXEyN6PCM5RV5fvKx0ZPubucf43LEz7KvDtKCHXbM,7282
47
47
  kumoai/connector/databricks_connector.py,sha256=oJ2GHp_CFOeMWGPOHqpxmotquAobWV9iGZ-__Rpdr5o,7787
48
- kumoai/connector/file_upload_connector.py,sha256=v4P1Nqq3FBd7SqLp6T9BffM8QvtX-oDdV8RmRCeEn7M,8773
48
+ kumoai/connector/file_upload_connector.py,sha256=13dWWXd_RNosWNHmZYasHDsVfpDS9qVCIYeST-7zljA,7197
49
49
  kumoai/connector/glue_connector.py,sha256=kqT2q53Da7PeeaZrvLVzFXC186E7glh5eGitKL26lYY,4847
50
50
  kumoai/connector/s3_connector.py,sha256=AUzENbQ20bYXh3XOXEOsWRKlaGGkm3YrW9JfBLm-LqY,10433
51
51
  kumoai/connector/snowflake_connector.py,sha256=tQzIWxC4oDGqxFt0212w5eoIPT4QBP2nuF9SdKRNwNI,9274
52
52
  kumoai/connector/source_table.py,sha256=fnqwIKY6qYo4G0EsRzchb6FgZ-dQyU6aRaD9UAxsml0,18010
53
- kumoai/connector/utils.py,sha256=8zCLXNMQa45aInc0HZq-ADGGwSrzQPwn0CTBIanGIec,23017
53
+ kumoai/connector/utils.py,sha256=SlkjPJS_wqfwFzIaQOHZtENQnbOz5sgLbvvvPDXE1ww,65786
54
54
  kumoai/encoder/__init__.py,sha256=8FeP6mUyCeXxr1b8kUIi5dxe5vEXQRft9tPoaV1CBqg,186
55
55
  kumoai/experimental/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
- kumoai/experimental/rfm/__init__.py,sha256=miVZCXdMdGxtjSgOcBSUZ79bNZ6CMM0z3LOcv5zlDXs,1706
57
- kumoai/experimental/rfm/authenticate.py,sha256=qDgy_k0LoW5gy46TquQDqHiJa7WOlH-trNCE-BkSYKA,19237
58
- kumoai/experimental/rfm/local_graph.py,sha256=z_YWN729px4Q4GYcMaG5ShDbGUQkb7pXiEOG4dRGE-E,30365
59
- kumoai/experimental/rfm/local_graph_sampler.py,sha256=fyAAf2L2WZnre8WQw148V2PZN1ASNIR3CPUVAO8MpOg,6371
60
- kumoai/experimental/rfm/local_graph_store.py,sha256=1s7G6MNtCOicEH0L_xFzk5P8u-0_UC9LHmtSAuw-1JU,13614
61
- kumoai/experimental/rfm/local_pquery_driver.py,sha256=Q3yhqRxvNs5rEnV1FPNJab-mlMq1wKtJ53bxE2MHC8c,15575
62
- kumoai/experimental/rfm/local_table.py,sha256=94st0F0-1J78cXoypZmMA80J6L6Uuujzr6BloAn7aGQ,16676
63
- kumoai/experimental/rfm/rfm.py,sha256=G5KWPt490bvRGLCHlLX8OwA_mubp1BhPv2sZCY2ajyU,32062
56
+ kumoai/experimental/rfm/__init__.py,sha256=qVFanPZTF_HiXlRfqpBSqlcD9sTSmFAMmM_o8tbuzNY,1776
57
+ kumoai/experimental/rfm/authenticate.py,sha256=G89_4TMeUpr5fG_0VTzMF5sdNhaciitA1oc2loTlTmo,19321
58
+ kumoai/experimental/rfm/local_graph.py,sha256=nZ9hDfyWg1dHFLoTEKoLt0ZJPvf9MUA1MNyfTRzJThg,30886
59
+ kumoai/experimental/rfm/local_graph_sampler.py,sha256=ZCnILozG95EzpgMqhGTG2AF85JphLvAhj-3YPaTqoaQ,6922
60
+ kumoai/experimental/rfm/local_graph_store.py,sha256=eUuIMFcdIRqN1kRxnqOdJpKEt-S_oyupAyHr7YuQoSU,14206
61
+ kumoai/experimental/rfm/local_pquery_driver.py,sha256=Yd_yHIrvuDj16IC1pvsqiQvZS41vvOOCRMiuDGtN6Fk,26851
62
+ kumoai/experimental/rfm/local_table.py,sha256=5H08657TIyH7n_QnpFKr2g4BtVqdXTymmrfhSGaDmkU,20150
63
+ kumoai/experimental/rfm/rfm.py,sha256=G7qXENLu-VAT9804zu9bz-1sts0n33t98suIXvDlksc,49231
64
64
  kumoai/experimental/rfm/utils.py,sha256=dLx2wdyTWg7vZI_7R-I0z_lA-2aV5M8h9n3bnnLyylI,11467
65
65
  kumoai/experimental/rfm/infer/__init__.py,sha256=fPsdDr4D3hgC8snW0j3pAVpCyR-xrauuogMnTOMrfok,304
66
66
  kumoai/experimental/rfm/infer/categorical.py,sha256=bqmfrE5ZCBTcb35lA4SyAkCu3MgttAn29VBJYMBNhVg,893
67
67
  kumoai/experimental/rfm/infer/id.py,sha256=xaJBETLZa8ttzZCsDwFSwfyCi3VYsLc_kDWT_t_6Ih4,954
68
68
  kumoai/experimental/rfm/infer/multicategorical.py,sha256=D-1KwYRkOSkBrOJr4Xa3eTCoAF9O9hPGa7Vg67V5_HU,1150
69
- kumoai/experimental/rfm/infer/timestamp.py,sha256=36SKjRNhyjNnfYd4_9_7vbzFxSx4z7GIbEt5tKVWszQ,954
70
- kumoai/experimental/rfm/pquery/__init__.py,sha256=XMpRh6-fahTU8XMXSxn8zbJQvYD1HkELh2su_YJvSmU,153
71
- kumoai/experimental/rfm/pquery/backend.py,sha256=mGbRdDcZxRGhFGz55bDHCICkEzsYRO3Gyj95QkzxpKY,3423
72
- kumoai/experimental/rfm/pquery/pandas_backend.py,sha256=SBN4oUq2KrszxMrxKy5tOmY_UNJHUMg8PC0pnYp9a2s,15830
69
+ kumoai/experimental/rfm/infer/timestamp.py,sha256=L2VxjtYTSyUBYAo4M-L08xSQlPpqnHMAVF5_vxjh3Y0,1135
70
+ kumoai/experimental/rfm/pquery/__init__.py,sha256=RkTn0I74uXOUuOiBpa6S-_QEYctMutkUnBEfF9ztQzI,159
71
+ kumoai/experimental/rfm/pquery/executor.py,sha256=S8wwXbAkH-YSnmEVYB8d6wyJF4JJ003mH_0zFTvOp_I,2843
72
+ kumoai/experimental/rfm/pquery/pandas_executor.py,sha256=QQpOZ_ArH3eSAkenaY3J-gW1Wn5A7f85RiqZxaO5u1Q,19019
73
73
  kumoai/graph/__init__.py,sha256=QGk3OMwRzQJSGESdcc7hcQH6UDmNVJYTdqnRren4c7Q,240
74
74
  kumoai/graph/column.py,sha256=cQhioibTbIKIBZ-bf8-Bt4F4Iblhidps-CYWrkxRPnE,4295
75
75
  kumoai/graph/graph.py,sha256=Pq-dxi4MwoDtrrwm3xeyUB9Hl7ryNfHq4rMHuvyNB3c,39239
@@ -85,14 +85,14 @@ kumoai/trainer/baseline_trainer.py,sha256=oXweh8j1sar6KhQfr3A7gmQxcDq7SG0Bx3jIen
85
85
  kumoai/trainer/config.py,sha256=7_Jv1w1mqaokCQwQdJkqCSgVpmh8GqE3fL1Ky_vvttI,100
86
86
  kumoai/trainer/job.py,sha256=IBP2SeIk21XpRK1Um1NIs2dEKid319cHu6UkCjKO6jc,46130
87
87
  kumoai/trainer/online_serving.py,sha256=T1jicl-qXiiWGQWUCwlfQsyxWUODybj_975gx9yglH4,9824
88
- kumoai/trainer/trainer.py,sha256=J3PrMBqh5B1sarpJ0FXaC26hrAQWycmOfWwKmpPqkgI,19972
88
+ kumoai/trainer/trainer.py,sha256=AKumc3X2Vm3qxZSA85Dv_fSLC4JQ3rM7P0ixOWbEex0,20608
89
89
  kumoai/trainer/util.py,sha256=LCXkY5MNl6NbEVd2OZ0aVqF6fvr3KiCFh6pH0igAi_g,4165
90
90
  kumoai/utils/__init__.py,sha256=wAKgmwtMIGuiauW9D_GGKH95K-24Kgwmld27mm4nsro,278
91
91
  kumoai/utils/datasets.py,sha256=UyAII-oAn7x3ombuvpbSQ41aVF9SYKBjQthTD-vcT2A,3011
92
92
  kumoai/utils/forecasting.py,sha256=ZgKeUCbWLOot0giAkoigwU5du8LkrwAicFOi5hVn6wg,7624
93
- kumoai/utils/progress_logger.py,sha256=zuAld4fND-Swi4QMWI_I5hxygf6oTAHaMvq3kZcNNaI,3074
94
- kumoai-2.9.0.dev202509081831.dist-info/licenses/LICENSE,sha256=ZUilBDp--4vbhsEr6f_Upw9rnIx09zQ3K9fXQ0rfd6w,1111
95
- kumoai-2.9.0.dev202509081831.dist-info/METADATA,sha256=yraBRuws5vHqOC_dLGHKTpbETmPCU9tH2qXxQz6bRWI,2160
96
- kumoai-2.9.0.dev202509081831.dist-info/WHEEL,sha256=8UP9x9puWI0P1V_d7K2oMTBqfeLNm21CTzZ_Ptr0NXU,101
97
- kumoai-2.9.0.dev202509081831.dist-info/top_level.txt,sha256=YjU6UcmomoDx30vEXLsOU784ED7VztQOsFApk1SFwvs,7
98
- kumoai-2.9.0.dev202509081831.dist-info/RECORD,,
93
+ kumoai/utils/progress_logger.py,sha256=MZsWgHd4UZQKCXiJZgQeW-Emi_BmzlCKPLPXOL_HqBo,5239
94
+ kumoai-2.12.0.dev202511111731.dist-info/licenses/LICENSE,sha256=ZUilBDp--4vbhsEr6f_Upw9rnIx09zQ3K9fXQ0rfd6w,1111
95
+ kumoai-2.12.0.dev202511111731.dist-info/METADATA,sha256=jzJ48WREUXuz0KURtu9rJdiG1pJQDc3eapSN74Su1EI,2112
96
+ kumoai-2.12.0.dev202511111731.dist-info/WHEEL,sha256=8UP9x9puWI0P1V_d7K2oMTBqfeLNm21CTzZ_Ptr0NXU,101
97
+ kumoai-2.12.0.dev202511111731.dist-info/top_level.txt,sha256=YjU6UcmomoDx30vEXLsOU784ED7VztQOsFApk1SFwvs,7
98
+ kumoai-2.12.0.dev202511111731.dist-info/RECORD,,