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.
- kumoai/__init__.py +4 -2
- kumoai/_version.py +1 -1
- kumoai/client/client.py +10 -5
- kumoai/client/rfm.py +3 -2
- kumoai/connector/file_upload_connector.py +71 -102
- kumoai/connector/utils.py +1367 -236
- kumoai/experimental/rfm/__init__.py +2 -2
- kumoai/experimental/rfm/authenticate.py +8 -5
- kumoai/experimental/rfm/infer/timestamp.py +7 -4
- kumoai/experimental/rfm/local_graph.py +90 -80
- kumoai/experimental/rfm/local_graph_sampler.py +16 -8
- kumoai/experimental/rfm/local_graph_store.py +22 -6
- kumoai/experimental/rfm/local_pquery_driver.py +129 -28
- kumoai/experimental/rfm/local_table.py +100 -22
- kumoai/experimental/rfm/pquery/__init__.py +4 -0
- kumoai/experimental/rfm/pquery/backend.py +4 -0
- kumoai/experimental/rfm/pquery/executor.py +102 -0
- kumoai/experimental/rfm/pquery/pandas_backend.py +71 -30
- kumoai/experimental/rfm/pquery/pandas_executor.py +506 -0
- kumoai/experimental/rfm/rfm.py +442 -94
- kumoai/jobs.py +1 -0
- kumoai/trainer/trainer.py +19 -10
- kumoai/utils/progress_logger.py +62 -0
- {kumoai-2.9.0.dev202509061830.dist-info → kumoai-2.12.0.dev202511031731.dist-info}/METADATA +4 -5
- {kumoai-2.9.0.dev202509061830.dist-info → kumoai-2.12.0.dev202511031731.dist-info}/RECORD +28 -26
- {kumoai-2.9.0.dev202509061830.dist-info → kumoai-2.12.0.dev202511031731.dist-info}/WHEEL +0 -0
- {kumoai-2.9.0.dev202509061830.dist-info → kumoai-2.12.0.dev202511031731.dist-info}/licenses/LICENSE +0 -0
- {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
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
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),
|
kumoai/utils/progress_logger.py
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
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=
|
|
4
|
-
kumoai/__init__.py,sha256=
|
|
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=
|
|
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=
|
|
15
|
-
kumoai/experimental/rfm/local_graph.py,sha256=
|
|
16
|
-
kumoai/experimental/rfm/local_pquery_driver.py,sha256=
|
|
17
|
-
kumoai/experimental/rfm/__init__.py,sha256=
|
|
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=
|
|
20
|
-
kumoai/experimental/rfm/rfm.py,sha256=
|
|
21
|
-
kumoai/experimental/rfm/local_graph_store.py,sha256=
|
|
22
|
-
kumoai/experimental/rfm/authenticate.py,sha256=
|
|
23
|
-
kumoai/experimental/rfm/pquery/backend.py,sha256=
|
|
24
|
-
kumoai/experimental/rfm/pquery/__init__.py,sha256=
|
|
25
|
-
kumoai/experimental/rfm/pquery/pandas_backend.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
68
|
-
kumoai/connector/utils.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
94
|
-
kumoai-2.
|
|
95
|
-
kumoai-2.
|
|
96
|
-
kumoai-2.
|
|
97
|
-
kumoai-2.
|
|
98
|
-
kumoai-2.
|
|
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
|
|
File without changes
|
{kumoai-2.9.0.dev202509061830.dist-info → kumoai-2.12.0.dev202511031731.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{kumoai-2.9.0.dev202509061830.dist-info → kumoai-2.12.0.dev202511031731.dist-info}/top_level.txt
RENAMED
|
File without changes
|