malevich-coretools 0.3.60__py3-none-any.whl → 0.3.61__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.

Potentially problematic release.


This version of malevich-coretools might be problematic. Click here for more details.

@@ -1222,14 +1222,22 @@ async def get_image_info_async(data: JsonImage, parse: bool, *args, **kwargs) ->
1222
1222
  return res
1223
1223
 
1224
1224
 
1225
- def get_task_schedules(data: Operation, with_show: bool, *args, **kwargs) -> Schedules:
1225
+ def get_task_schedules(*args, **kwargs) -> ResultIds:
1226
+ return model_from_json(send_to_core_get(MANAGER_TASK_SCHEDULES, *args, **kwargs), ResultIds)
1227
+
1228
+
1229
+ async def get_task_schedules_async(*args, **kwargs) -> ResultIds:
1230
+ return model_from_json(await send_to_core_get_async(MANAGER_TASK_SCHEDULES, *args, **kwargs), ResultIds)
1231
+
1232
+
1233
+ def post_task_schedules(data: Operation, with_show: bool, *args, **kwargs) -> Schedules:
1226
1234
  res = model_from_json(send_to_core_modify(MANAGER_TASK_SCHEDULES, data, with_show=False, *args, **kwargs), Schedules)
1227
1235
  if with_show:
1228
1236
  Config.logger.info(res)
1229
1237
  return res
1230
1238
 
1231
1239
 
1232
- async def get_task_schedules_async(data: Operation, with_show: bool, *args, **kwargs) -> Schedules:
1240
+ async def post_task_schedules_async(data: Operation, with_show: bool, *args, **kwargs) -> Schedules:
1233
1241
  res = model_from_json(await send_to_core_modify_async(MANAGER_TASK_SCHEDULES, data, with_show=False, *args, **kwargs), Schedules)
1234
1242
  if with_show:
1235
1243
  Config.logger.info(res)
@@ -39,13 +39,13 @@ def with_key_values(url: str, key_values: Dict[str, Optional[str]]) -> str:
39
39
 
40
40
  ## DocsController
41
41
  DOCS_MAIN = f"{API_VERSION}/docs"
42
- DOCS = lambda wait: with_wait(f"{DOCS_MAIN}/", wait)
42
+ DOCS = lambda wait: with_wait(DOCS_MAIN, wait)
43
43
  DOCS_ID = lambda id, wait: with_wait(f"{DOCS_MAIN}/{id}", wait)
44
44
  DOCS_NAME = lambda name, wait: with_wait(f"{DOCS_MAIN}/name/{name}", wait)
45
45
 
46
46
  ## CollectionsController
47
47
  COLLECTIONS_MAIN = f"{API_VERSION}/collections"
48
- COLLECTIONS = lambda wait: with_wait(f"{COLLECTIONS_MAIN}/", wait)
48
+ COLLECTIONS = lambda wait: with_wait(COLLECTIONS_MAIN, wait)
49
49
  COLLECTIONS_IDS_NAME = lambda name, operation_id, run_id: with_key_values(f"{COLLECTIONS_MAIN}/ids/name/{urllib.parse.quote(str(name), safe='')}", {"operationId": operation_id, "runId": run_id})
50
50
  COLLECTIONS_NAME = lambda name, operation_id, run_id, offset, limit: with_key_values(f"{COLLECTIONS_MAIN}/name/{urllib.parse.quote(str(name), safe='')}", {"operationId": operation_id, "runId": run_id, "offset": offset, "limit": limit})
51
51
  COLLECTIONS_IDS_GROUP_NAME = lambda name, operation_id, run_id: with_key_values(f"{COLLECTIONS_MAIN}/ids/groupName/{urllib.parse.quote(str(name), safe='')}", {"operationId": operation_id, "runId": run_id})
@@ -67,7 +67,7 @@ COLLECTIONS_METADATA = lambda id, wait: with_wait(f"{COLLECTIONS_MAIN}/{urllib.p
67
67
  COLLECTION_OBJECTS_MAIN = f"{API_VERSION}/collectionObjects"
68
68
  COLLECTION_OBJECTS_ALL_GET = lambda path, recursive: with_key_values(f"{COLLECTION_OBJECTS_MAIN}/all", {"path": path, "recursive": recursive})
69
69
  COLLECTION_OBJECTS_ALL = lambda wait: with_wait(f"{COLLECTION_OBJECTS_MAIN}/all", wait)
70
- COLLECTION_OBJECTS_PATH = lambda path, wait, zip: with_key_values(f"{COLLECTION_OBJECTS_MAIN}/", {"path": path, "wait": None if wait is None else bool_to_str(wait), "zip": None if zip is None else bool_to_str(zip)})
70
+ COLLECTION_OBJECTS_PATH = lambda path, wait, zip: with_key_values(COLLECTION_OBJECTS_MAIN, {"path": path, "wait": None if wait is None else bool_to_str(wait), "zip": None if zip is None else bool_to_str(zip)})
71
71
  COLLECTION_OBJECTS_PRESIGN_PUT = lambda path, callback_url, expires_in, wait: with_key_values(f"{COLLECTION_OBJECTS_MAIN}/presign/put", {"path": path, "callback_url": callback_url, "expiresIn": expires_in, "wait": bool_to_str(wait)})
72
72
  COLLECTION_OBJECTS_PRESIGN_GET = lambda path, callback_url, expires_in, wait: with_key_values(f"{COLLECTION_OBJECTS_MAIN}/presign/get", {"path": path, "callback_url": callback_url, "expiresIn": expires_in, "wait": bool_to_str(wait)})
73
73
  COLLECTION_OBJECTS_PRESIGN = lambda signature, zip: with_key_values(f"{COLLECTION_OBJECTS_MAIN}/presign", {"signature": signature, "zip": None if zip is None else bool_to_str(zip)})
@@ -84,7 +84,7 @@ ENDPOINTS_RESUME = lambda hash, wait: with_wait(f"{ENDPOINTS_MAIN}/resume/{urlli
84
84
 
85
85
  ## SchemeController
86
86
  SCHEMES_MAIN = f"{API_VERSION}/schemes"
87
- SCHEMES = lambda wait: with_wait(f"{SCHEMES_MAIN}/", wait)
87
+ SCHEMES = lambda wait: with_wait(SCHEMES_MAIN, wait)
88
88
  SCHEMES_ID = lambda id, wait: with_wait(f"{SCHEMES_MAIN}/{urllib.parse.quote(str(id), safe='')}", wait)
89
89
  SCHEMES_ID_RAW = lambda id: f"{SCHEMES_MAIN}/{urllib.parse.quote(str(id), safe='')}/raw"
90
90
  SCHEMES_MAPPING = lambda wait: with_wait(f"{SCHEMES_MAIN}/mapping", wait)
@@ -100,7 +100,7 @@ PING = "ping"
100
100
 
101
101
  ## UserShareController
102
102
  SHARE_MAIN = f"{API_VERSION}/share"
103
- SHARE = lambda wait: with_wait(f"{SHARE_MAIN}/", wait)
103
+ SHARE = lambda wait: with_wait(SHARE_MAIN, wait)
104
104
  SHARE_COLLECTION_ID = lambda id, wait: with_wait(f"{SHARE_MAIN}/collection/{urllib.parse.quote(str(id), safe='')}", wait)
105
105
  SHARE_SCHEME_ID = lambda id, wait: with_wait(f"{SHARE_MAIN}/scheme/{urllib.parse.quote(str(id), safe='')}", wait)
106
106
  SHARE_USER_APP_ID = lambda id, wait: with_wait(f"{SHARE_MAIN}/userApp/{urllib.parse.quote(str(id), safe='')}", wait)
@@ -109,13 +109,13 @@ SHARE_ALL = lambda wait: with_wait(f"{SHARE_MAIN}/all", wait)
109
109
 
110
110
  ## RegistrationController
111
111
  REGISTER_MAIN = f"{API_VERSION}/register"
112
- REGISTER = f"{REGISTER_MAIN}/"
112
+ REGISTER = REGISTER_MAIN
113
113
  REGISTER_LOGIN = lambda login, wait: with_wait(f"{REGISTER_MAIN}/login/{urllib.parse.quote(str(login), safe='')}", wait)
114
114
  REGISTER_ALL = f"{REGISTER_MAIN}/all"
115
115
 
116
116
  ## UserAppsController
117
117
  USER_APPS_MAIN = f"{API_VERSION}/userApps"
118
- USER_APPS = lambda wait: with_wait(f"{USER_APPS_MAIN}/", wait)
118
+ USER_APPS = lambda wait: with_wait(USER_APPS_MAIN, wait)
119
119
  USER_APPS_REAL_IDS = f"{USER_APPS_MAIN}/realIds"
120
120
  USER_APPS_MAP_IDS = f"{USER_APPS_MAIN}/mapIds"
121
121
  USER_APPS_MAP_ID = lambda id: f"{USER_APPS_MAIN}/mapIds/{urllib.parse.quote(str(id), safe='')}"
@@ -124,7 +124,7 @@ USER_APPS_REAL_ID = lambda id: f"{USER_APPS_MAIN}/realIds/{urllib.parse.quote(st
124
124
 
125
125
  ## UserTasksController
126
126
  USER_TASKS_MAIN = f"{API_VERSION}/userTasks"
127
- USER_TASKS = lambda wait: with_wait(f"{USER_TASKS_MAIN}/", wait)
127
+ USER_TASKS = lambda wait: with_wait(USER_TASKS_MAIN, wait)
128
128
  USER_TASKS_REAL_IDS = f"{USER_TASKS_MAIN}/realIds"
129
129
  USER_TASKS_MAP_IDS = f"{USER_TASKS_MAIN}/mapIds"
130
130
  USER_TASKS_MAP_ID = lambda id: f"{USER_TASKS_MAIN}/mapIds/{urllib.parse.quote(str(id), safe='')}"
@@ -133,7 +133,7 @@ USER_TASKS_REAL_ID = lambda id: f"{USER_TASKS_MAIN}/realIds/{urllib.parse.quote(
133
133
 
134
134
  ## UserPipelinesController
135
135
  USER_PIPELINES_MAIN = f"{API_VERSION}/userPipelines"
136
- USER_PIPELINES = lambda wait: with_wait(f"{USER_PIPELINES_MAIN}/", wait)
136
+ USER_PIPELINES = lambda wait: with_wait(USER_PIPELINES_MAIN, wait)
137
137
  USER_PIPELINES_REAL_IDS = f"{USER_PIPELINES_MAIN}/realIds"
138
138
  USER_PIPELINES_MAP_IDS = f"{USER_PIPELINES_MAIN}/mapIds"
139
139
  USER_PIPELINES_MAP_ID = lambda id: f"{USER_PIPELINES_MAIN}/mapIds/{urllib.parse.quote(str(id), safe='')}"
@@ -144,7 +144,7 @@ USER_PIPELINES_TAG_REAL_IDS = lambda tag: f"{USER_PIPELINES_MAIN}/realIds/tagSea
144
144
 
145
145
  ## UserCfgsController
146
146
  USER_CFGS_MAIN = f"{API_VERSION}/userCfgs"
147
- USER_CFGS = lambda wait: with_wait(f"{USER_CFGS_MAIN}/", wait)
147
+ USER_CFGS = lambda wait: with_wait(USER_CFGS_MAIN, wait)
148
148
  USER_CFGS_REAL_IDS = f"{USER_CFGS_MAIN}/realIds"
149
149
  USER_CFGS_MAP_IDS = f"{USER_CFGS_MAIN}/mapIds"
150
150
  USER_CFGS_MAP_ID = lambda id: f"{USER_CFGS_MAIN}/mapIds/{urllib.parse.quote(str(id), safe='')}"
@@ -153,7 +153,7 @@ USER_CFGS_REAL_ID = lambda id: f"{USER_CFGS_MAIN}/realIds/{urllib.parse.quote(st
153
153
 
154
154
  ## OperationResultsController
155
155
  OPERATION_RESULTS_MAIN = f"{API_VERSION}/operationResults"
156
- OPERATION_RESULTS = lambda wait: with_wait(f"{OPERATION_RESULTS_MAIN}/", wait)
156
+ OPERATION_RESULTS = lambda wait: with_wait(OPERATION_RESULTS_MAIN, wait)
157
157
  OPERATION_RESULTS_ID = lambda id, wait: with_wait(f"{OPERATION_RESULTS_MAIN}/{urllib.parse.quote(str(id), safe='')}", wait)
158
158
 
159
159
  ## TempRunController
@@ -195,16 +195,16 @@ MANAGER_APP_PAUSE = lambda wait: with_wait(f"{MANAGER_MAIN}/app/pause", wait)
195
195
 
196
196
  ## LimitsController
197
197
  LIMITS_MAIN = f"{API_VERSION}/limits"
198
- LIMITS = lambda wait: with_wait(f"{LIMITS_MAIN}/", wait)
198
+ LIMITS = lambda wait: with_wait(LIMITS_MAIN, wait)
199
199
  LIMITS_USER = lambda wait: with_wait(f"{LIMITS_MAIN}/user", wait)
200
200
 
201
201
  ## HandlerUrlController
202
202
  HANDLER_URL_MAIN = f"{API_VERSION}/handlerUrls"
203
- HANDLER_URL = lambda url, wait: with_key_values(f"{HANDLER_URL_MAIN}/", {"url": url, "wait": bool_to_str(wait)})
203
+ HANDLER_URL = lambda url, wait: with_key_values(HANDLER_URL_MAIN, {"url": url, "wait": bool_to_str(wait)})
204
204
 
205
205
  ## AnalyticsController
206
206
  ANALYTICS_MAIN = f"{API_VERSION}/analytics"
207
- ANALYTICS = lambda wait: with_wait(f"{ANALYTICS_MAIN}/", wait)
207
+ ANALYTICS = lambda wait: with_wait(ANALYTICS_MAIN, wait)
208
208
  ANALYTICS_MANY = lambda wait: with_wait(f"{ANALYTICS_MAIN}/many", wait)
209
209
  ANALYTICS_ID = lambda id, wait: with_wait(f"{ANALYTICS_MAIN}/{id}", wait)
210
210
  ANALYTICS_NAME = lambda name, wait: with_wait(f"{ANALYTICS_MAIN}/name/{name}", wait)
@@ -216,20 +216,20 @@ RUNS_INFO_LAST_FAILED = lambda count: with_key_values(f"{RUNS_INFO_MAIN}/lastFai
216
216
 
217
217
  ## WSAppsController
218
218
  WS_APPS_MAIN = f"{API_VERSION}/ws/apps"
219
- WS_APPS = lambda only_active, full: with_key_values(f"{WS_APPS_MAIN}/", {"onlyActive": only_active, "full": full})
220
- WS_APPS_ = lambda only_not_active, wait: with_key_values(f"{WS_APPS_MAIN}/", {"onlyNotActive": only_not_active, "wait": wait})
219
+ WS_APPS = lambda only_active, full: with_key_values(WS_APPS_MAIN, {"onlyActive": only_active, "full": full})
220
+ WS_APPS_ = lambda only_not_active, wait: with_key_values(WS_APPS_MAIN, {"onlyNotActive": only_not_active, "wait": wait})
221
221
  WS_APPS_ID = lambda id, wait: with_wait(f"{WS_APPS_MAIN}/{id}", wait)
222
222
 
223
223
  ## McpToolController
224
224
  MCP_TOOLS_MAIN = f"{API_VERSION}/tools"
225
- MCP_TOOLS = lambda id, name, wait: with_key_values(f"{MCP_TOOLS_MAIN}/", {"id": id, "name": name, "wait": wait})
225
+ MCP_TOOLS = lambda id, name, wait: with_key_values(MCP_TOOLS_MAIN, {"id": id, "name": name, "wait": wait})
226
226
  MCP_TOOLS_ALL = lambda wait: with_wait(f"{MCP_TOOLS_MAIN}/all", wait)
227
227
  MCP_TOOLS_LIST = f"{MCP_TOOLS_MAIN}/list"
228
228
  MCP_TOOLS_CALL = f"{MCP_TOOLS_MAIN}/call"
229
229
 
230
230
  ## AppErrorInfoController
231
231
  APP_ERROR_INFO_MAIN = f"{API_VERSION}/errors"
232
- APP_ERROR_INFO = lambda wait: with_wait(f"{APP_ERROR_INFO_MAIN}/", wait)
232
+ APP_ERROR_INFO = lambda wait: with_wait(APP_ERROR_INFO_MAIN, wait)
233
233
  APP_ERROR_INFO_ID = lambda operationId, wait: with_wait(f"{APP_ERROR_INFO_MAIN}/{operationId}", wait)
234
234
 
235
235
  ### Kafka
@@ -237,4 +237,4 @@ KAFKA_SEND = f"{MANAGER_MAIN}/kafkaMsg"
237
237
 
238
238
  ## BatchController
239
239
  BATCH_MAIN = f"{API_VERSION}/batch"
240
- BATCH = f"{BATCH_MAIN}/"
240
+ BATCH = BATCH_MAIN
@@ -6735,7 +6735,7 @@ def get_task_schedules(
6735
6735
  conn_url: Optional[str] = None,
6736
6736
  batcher: Optional[Batcher] = None,
6737
6737
  is_async: Literal[False] = False,
6738
- ) -> Schedules:
6738
+ ) -> Union[Schedules, ResultIds]:
6739
6739
  pass
6740
6740
 
6741
6741
 
@@ -6748,32 +6748,39 @@ def get_task_schedules(
6748
6748
  conn_url: Optional[str] = None,
6749
6749
  batcher: Optional[Batcher] = None,
6750
6750
  is_async: Literal[True],
6751
- ) -> Coroutine[Any, Any, Schedules]:
6751
+ ) -> Coroutine[Any, Any, Union[Schedules, ResultIds]]:
6752
6752
  pass
6753
6753
 
6754
6754
 
6755
6755
  def get_task_schedules(
6756
- operation_id: str,
6756
+ operation_id: Optional[str] = None,
6757
6757
  with_show: bool = True,
6758
6758
  *,
6759
6759
  auth: Optional[AUTH] = None,
6760
6760
  conn_url: Optional[str] = None,
6761
6761
  batcher: Optional[Batcher] = None,
6762
6762
  is_async: bool = False,
6763
- ) -> Union[Schedules, Coroutine[Any, Any, Schedules]]:
6763
+ ) -> Union[ResultIds, Schedules, Coroutine[Any, Any, Schedules], Coroutine[Any, Any, ResultIds]]:
6764
6764
  """return schedule ids by `operation_id` """
6765
6765
  if batcher is None:
6766
6766
  batcher = Config.BATCHER
6767
- data = Operation(operationId=operation_id)
6768
- if batcher is not None:
6769
- return batcher.add("sendTaskSchedules", data=data, result_model=Schedules)
6770
- if is_async:
6771
- return f.get_task_schedules_async(
6767
+ if operation_id is None:
6768
+ if batcher is not None:
6769
+ return batcher.add("getTaskSchedules", result_model=ResultIds)
6770
+ if is_async:
6771
+ return f.get_task_schedules_async(auth=auth, conn_url=conn_url)
6772
+ return f.get_task_schedules(auth=auth, conn_url=conn_url)
6773
+ else:
6774
+ data = Operation(operationId=operation_id)
6775
+ if batcher is not None:
6776
+ return batcher.add("sendTaskSchedules", data=data, result_model=Schedules)
6777
+ if is_async:
6778
+ return f.post_task_schedules_async(
6779
+ data, with_show=with_show, auth=auth, conn_url=conn_url
6780
+ )
6781
+ return f.post_task_schedules(
6772
6782
  data, with_show=with_show, auth=auth, conn_url=conn_url
6773
6783
  )
6774
- return f.get_task_schedules(
6775
- data, with_show=with_show, auth=auth, conn_url=conn_url
6776
- )
6777
6784
 
6778
6785
 
6779
6786
  @overload
@@ -6834,7 +6841,6 @@ def task_full(
6834
6841
  pass
6835
6842
 
6836
6843
 
6837
- # FIXME check component
6838
6844
  def task_full(
6839
6845
  task_id: str,
6840
6846
  cfg_id: str,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: malevich-coretools
3
- Version: 0.3.60
3
+ Version: 0.3.61
4
4
  Author: Andrew Pogrebnoj
5
5
  Author-email: andrew@onjulius.co
6
6
  License-File: LICENSE
@@ -1,5 +1,5 @@
1
1
  malevich_coretools/__init__.py,sha256=DJtPESxkCZD2SbTZTrR_x0TKDQ4MJpmBqGw5YpKYidM,134
2
- malevich_coretools/utils.py,sha256=5PapAMSTWKTuubLZfPcRhAErQbUaY9eIwpnn0EHY_a8,275324
2
+ malevich_coretools/utils.py,sha256=9k2I7YMrLtSlfHWkhVuYWdtljZgWKnfJvFDdqexhx-I,275747
3
3
  malevich_coretools/abstract/__init__.py,sha256=6vQ08c8HPYyT_pPkKlc-EwQKE8xG3HTEo2p_GiI5rik,142
4
4
  malevich_coretools/abstract/abstract.py,sha256=S5yYRhzpqsiIEN083LqUJlvu0MZ9Z__DdOLhS5ZsPdc,17475
5
5
  malevich_coretools/abstract/operations.py,sha256=cWlo2xzW-rzkTInzpDjBYeL68KfLYqSpZJRzCQ4OzjA,3070
@@ -11,18 +11,18 @@ malevich_coretools/batch/__init__.py,sha256=taxyZl8YOZd2EBd3leN6slzMkejUtjQ64Na3
11
11
  malevich_coretools/batch/utils.py,sha256=FRmCYU-zr-RjgT1Mo3CUNcB2mW1t_gKCJazcMx6aIW4,7719
12
12
  malevich_coretools/funcs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  malevich_coretools/funcs/checks.py,sha256=Q5pRtRevQrGv_-SMbn2GgYnulhclDLBXdRtbw2QOYKU,223
14
- malevich_coretools/funcs/funcs.py,sha256=3qmzZcXGWrCujrWUMg1RAU7IxdGARm0AKAxMhtxf0aI,84920
14
+ malevich_coretools/funcs/funcs.py,sha256=FgBrMRbGrZylVGzew48fUfy2VxRMK9gH-RXmJdyG7F4,85252
15
15
  malevich_coretools/funcs/helpers.py,sha256=3-2s5-8hiBeslir8Qa1IgKkHwgYnjPG5w7Kog1e7dHI,13830
16
16
  malevich_coretools/secondary/__init__.py,sha256=048HqvG36_1WdDVZK_RuECmaf14Iq2fviUysG1inlaE,78
17
17
  malevich_coretools/secondary/config.py,sha256=hRlSJuPQnhKyt1wmOAJX_XmcliaO0fPGbW94AE_Mazs,463
18
- malevich_coretools/secondary/const.py,sha256=b_zCHD4yCHfupyDfJZpBPBbnjcvJ3Aqcqgllhe9AqG4,15435
18
+ malevich_coretools/secondary/const.py,sha256=r_P9x0F8YFDFmPHF4oCUQJ4Va3v39CYG_Isg16CDpmo,15321
19
19
  malevich_coretools/secondary/helpers.py,sha256=9zRU_EjESks_DbDxs6PjaubtKeJWTqOI_fCoTsEsP8w,7979
20
20
  malevich_coretools/secondary/kafka_utils.py,sha256=SIUnBFyfwsquN6MAUrEkKCw-1l7979Znl7OTQSX2UKo,989
21
21
  malevich_coretools/tools/__init__.py,sha256=jDxlCa5Dr6Y43qlI7JwsRAlBkKmFeTHTEnjNUvu-0iw,46
22
22
  malevich_coretools/tools/abstract.py,sha256=B1RW1FeNHrQ6r1k-cQZ4k4noCRXkIGt-JUwVoXEDkAg,4466
23
23
  malevich_coretools/tools/vast.py,sha256=63tvy70qQV9vnK0eWytlgjBGSnfA7l3kSIDgACBbMMs,12893
24
- malevich_coretools-0.3.60.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
25
- malevich_coretools-0.3.60.dist-info/METADATA,sha256=zQpUhuk6_J_LV4GsHswQMESMUNZKMEzBcXgEN46THjo,347
26
- malevich_coretools-0.3.60.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
27
- malevich_coretools-0.3.60.dist-info/top_level.txt,sha256=wDX3s1Tso0otBPNrFRfXqyNpm48W4Bp5v6JfbITO2Z8,19
28
- malevich_coretools-0.3.60.dist-info/RECORD,,
24
+ malevich_coretools-0.3.61.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
25
+ malevich_coretools-0.3.61.dist-info/METADATA,sha256=Itxpu3ReVN0qcFy1YQuozsf4zOZAT6NIY4wmaYe6NNQ,347
26
+ malevich_coretools-0.3.61.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
27
+ malevich_coretools-0.3.61.dist-info/top_level.txt,sha256=wDX3s1Tso0otBPNrFRfXqyNpm48W4Bp5v6JfbITO2Z8,19
28
+ malevich_coretools-0.3.61.dist-info/RECORD,,