malevich-coretools 0.3.31__tar.gz → 0.3.33__tar.gz
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.
- {malevich_coretools-0.3.31/malevich_coretools.egg-info → malevich_coretools-0.3.33}/PKG-INFO +1 -1
- malevich_coretools-0.3.33/VERSION +1 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/abstract/abstract.py +5 -6
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/abstract/pipeline.py +54 -1
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/admin/utils.py +1 -1
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/funcs/funcs.py +10 -2
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/secondary/const.py +1 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/utils.py +25 -2
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33/malevich_coretools.egg-info}/PKG-INFO +1 -1
- malevich_coretools-0.3.31/VERSION +0 -1
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/LICENSE +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/MANIFEST.in +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/README.md +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/__init__.py +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/abstract/__init__.py +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/abstract/statuses.py +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/admin/__init__.py +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/batch/__init__.py +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/batch/utils.py +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/funcs/__init__.py +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/funcs/checks.py +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/funcs/helpers.py +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/secondary/__init__.py +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/secondary/config.py +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/secondary/helpers.py +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/secondary/kafka_utils.py +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/tools/__init__.py +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/tools/abstract.py +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/tools/vast.py +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools.egg-info/SOURCES.txt +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools.egg-info/dependency_links.txt +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools.egg-info/requires.txt +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools.egg-info/top_level.txt +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/pyproject.toml +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/requirements.txt +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/setup.cfg +0 -0
- {malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/setup.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.3.33
|
{malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/abstract/abstract.py
RENAMED
|
@@ -209,11 +209,13 @@ class MainPipeline(BaseModel):
|
|
|
209
209
|
withLogs: bool = False
|
|
210
210
|
component: TaskComponent = TaskComponent()
|
|
211
211
|
policy: TaskPolicy = TaskPolicy()
|
|
212
|
+
schedule: Optional[Schedule] = None
|
|
212
213
|
restrictions: Optional[Restrictions] = Restrictions()
|
|
213
214
|
scaleInfo: List[ScaleInfo] = []
|
|
214
215
|
withListener: bool = False
|
|
215
216
|
kafkaModeUrl: Optional[str] = None
|
|
216
217
|
run: bool = True
|
|
218
|
+
synthetic: bool = False
|
|
217
219
|
|
|
218
220
|
|
|
219
221
|
class RunTask(Operation):
|
|
@@ -373,7 +375,7 @@ class AppLog(BaseModel):
|
|
|
373
375
|
data: List[LogsResult]
|
|
374
376
|
|
|
375
377
|
|
|
376
|
-
class
|
|
378
|
+
class PipelineRunInfo(BaseModel):
|
|
377
379
|
conditions: Dict[str, Dict[int, bool]] # condition bindId -> iteration -> value
|
|
378
380
|
fails: Dict[str, List[int]] # bindId -> fail iterations (1 in common situation)
|
|
379
381
|
|
|
@@ -383,7 +385,7 @@ class AppLogs(BaseModel):
|
|
|
383
385
|
dagLogs: str = ""
|
|
384
386
|
data: Dict[str, AppLog] = {}
|
|
385
387
|
error: Optional[str] = None
|
|
386
|
-
pipeline: Optional[
|
|
388
|
+
pipeline: Optional[PipelineRunInfo] = None # only for pipeline
|
|
387
389
|
|
|
388
390
|
|
|
389
391
|
class AppLogsWithResults(AppLogs):
|
|
@@ -471,10 +473,6 @@ class AdminRunInfo(BaseModel):
|
|
|
471
473
|
cfgId: Alias.Id
|
|
472
474
|
|
|
473
475
|
|
|
474
|
-
class AdminRunsInfo(BaseModel):
|
|
475
|
-
data: List[AdminRunInfo]
|
|
476
|
-
|
|
477
|
-
|
|
478
476
|
class OperationOrNone(BaseModel):
|
|
479
477
|
operationId: Optional[Alias.Id] = None
|
|
480
478
|
|
|
@@ -505,6 +503,7 @@ class RunSettings(BaseModel):
|
|
|
505
503
|
class Endpoint(BaseModel):
|
|
506
504
|
hash: Optional[Alias.Id] = None
|
|
507
505
|
taskId: Optional[Alias.Id] = None
|
|
506
|
+
pipelineId: Optional[Alias.Id] = None # should set taskId or pipelineId
|
|
508
507
|
cfgId: Optional[Alias.Id] = None
|
|
509
508
|
sla: Optional[str] = None
|
|
510
509
|
active: Optional[bool] = None
|
{malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/abstract/pipeline.py
RENAMED
|
@@ -3,10 +3,13 @@ from typing import Dict, List, Optional
|
|
|
3
3
|
|
|
4
4
|
from pydantic import BaseModel
|
|
5
5
|
|
|
6
|
-
from malevich_coretools.abstract import JsonImage
|
|
7
6
|
from malevich_coretools.abstract.abstract import ( # noqa: F401
|
|
7
|
+
AdminRunInfo,
|
|
8
|
+
Alias,
|
|
9
|
+
JsonImage,
|
|
8
10
|
Restrictions,
|
|
9
11
|
ScaleInfo,
|
|
12
|
+
Schedule,
|
|
10
13
|
TaskComponent,
|
|
11
14
|
TaskPolicy,
|
|
12
15
|
)
|
|
@@ -98,3 +101,53 @@ class Pipeline(BaseModel):
|
|
|
98
101
|
conditions: Dict[str, Condition] = {} # bindConditionId to Condition
|
|
99
102
|
results: Dict[str, List[Result]] = {} # bindProcessorId to results
|
|
100
103
|
pullCollectionPolicy: PullCollectionPolicy = PullCollectionPolicy.IF_NOT_EXIST
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
class MainPipelineCfg(BaseModel):
|
|
107
|
+
operationId: Alias.Id
|
|
108
|
+
pipelineId: Alias.Id
|
|
109
|
+
processors: Dict[str, Processor]
|
|
110
|
+
conditions: Dict[str, Condition]
|
|
111
|
+
results: Dict[str, List[Result]]
|
|
112
|
+
pullCollectionPolicy: PullCollectionPolicy
|
|
113
|
+
cfg: str
|
|
114
|
+
infoUrl: Optional[str] = None
|
|
115
|
+
debugMode: bool
|
|
116
|
+
coreManage: bool
|
|
117
|
+
kafkaMode: bool
|
|
118
|
+
singleRequest: bool
|
|
119
|
+
tlWithoutData: Optional[int] = None
|
|
120
|
+
waitRuns: bool
|
|
121
|
+
profileMode: Optional[str] = None
|
|
122
|
+
withLogs: bool
|
|
123
|
+
component: TaskComponent
|
|
124
|
+
policy: TaskPolicy
|
|
125
|
+
schedule: Optional[Schedule] = None
|
|
126
|
+
restrictions: Optional[Restrictions] = None
|
|
127
|
+
scaleInfo: List[ScaleInfo]
|
|
128
|
+
schemesNames: List[str]
|
|
129
|
+
login: Optional[Alias.Login] = None
|
|
130
|
+
withListener: bool
|
|
131
|
+
kafkaModeUrl: Optional[str] = None
|
|
132
|
+
run: bool
|
|
133
|
+
synthetic: bool = False
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
class PipelineInfo(BaseModel):
|
|
137
|
+
pipelineId: Alias.Id
|
|
138
|
+
processors: Dict[str, Processor]
|
|
139
|
+
conditions: Dict[str, Condition]
|
|
140
|
+
results: Dict[str, List[Result]]
|
|
141
|
+
cfg: Alias.Json
|
|
142
|
+
login: Alias.Login
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
class AdminRunPipelineInfo(BaseModel):
|
|
146
|
+
operationId: Alias.Id
|
|
147
|
+
pipelineInfo: PipelineInfo
|
|
148
|
+
cfgId: Alias.Id
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
class AdminRunsInfo(BaseModel):
|
|
152
|
+
tasks: List[AdminRunInfo]
|
|
153
|
+
pipelines: List[AdminRunPipelineInfo]
|
|
@@ -24,7 +24,7 @@ def admin_get_run_info(
|
|
|
24
24
|
auth: Optional[AUTH] = None,
|
|
25
25
|
conn_url: Optional[str] = None,
|
|
26
26
|
batcher: Optional[Batcher] = None,
|
|
27
|
-
) -> Alias.
|
|
27
|
+
) -> Alias.Json:
|
|
28
28
|
"""return run info by operation `id`"""
|
|
29
29
|
if batcher is None:
|
|
30
30
|
batcher = Config.BATCHER
|
|
@@ -10,7 +10,11 @@ import requests
|
|
|
10
10
|
from requests.models import Response
|
|
11
11
|
|
|
12
12
|
from malevich_coretools.abstract.abstract import * # noqa: F403
|
|
13
|
-
from malevich_coretools.abstract.pipeline import
|
|
13
|
+
from malevich_coretools.abstract.pipeline import (
|
|
14
|
+
AdminRunsInfo,
|
|
15
|
+
MainPipelineCfg,
|
|
16
|
+
Pipeline,
|
|
17
|
+
)
|
|
14
18
|
from malevich_coretools.funcs.checks import check_profile_mode
|
|
15
19
|
from malevich_coretools.secondary import Config, model_from_json, show_logs_func
|
|
16
20
|
from malevich_coretools.secondary.const import * # noqa: F403
|
|
@@ -576,6 +580,10 @@ def get_run_mainTaskCfg(id: str, *args, **kwargs) -> MainTaskCfg:
|
|
|
576
580
|
return model_from_json(send_to_core_get(TEMP_RUN_MAIN_TASK_CFG(id), *args, **kwargs), MainTaskCfg)
|
|
577
581
|
|
|
578
582
|
|
|
583
|
+
def get_run_mainPipelineCfg(id: str, *args, **kwargs) -> MainPipelineCfg:
|
|
584
|
+
return model_from_json(send_to_core_get(TEMP_RUN_MAIN_PIPELINE_CFG(id), *args, **kwargs), MainPipelineCfg)
|
|
585
|
+
|
|
586
|
+
|
|
579
587
|
def get_run_operationsIds(task_id: str, cfg_id: Optional[str]=None, *args, **kwargs) -> ResultIds:
|
|
580
588
|
return model_from_json(send_to_core_get(TEMP_RUN_OPERATIONS_IDS(task_id, cfg_id), *args, **kwargs), ResultIds)
|
|
581
589
|
|
|
@@ -586,7 +594,7 @@ def get_admin_runs(*args, **kwargs) -> AdminRunsInfo:
|
|
|
586
594
|
return model_from_json(send_to_core_get(ADMIN_RUNS, *args, **kwargs), AdminRunsInfo)
|
|
587
595
|
|
|
588
596
|
|
|
589
|
-
def get_admin_runs_info(data: OperationOrNone, *args, **kwargs) ->
|
|
597
|
+
def get_admin_runs_info(data: OperationOrNone, *args, **kwargs) -> Alias.Json:
|
|
590
598
|
return send_to_core_modify(ADMIN_RUNS_INFO, data, *args, **kwargs)
|
|
591
599
|
|
|
592
600
|
|
{malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/secondary/const.py
RENAMED
|
@@ -157,6 +157,7 @@ TEMP_RUN_MAIN = f"{API_VERSION}/run"
|
|
|
157
157
|
TEMP_RUN_CONDITION = lambda operationId: f"{TEMP_RUN_MAIN}/condition/{urllib.parse.quote(str(operationId), safe='')}"
|
|
158
158
|
TEMP_RUN_ACTIVE_RUNS = f"{TEMP_RUN_MAIN}/activeRuns"
|
|
159
159
|
TEMP_RUN_MAIN_TASK_CFG = lambda operationId: f"{TEMP_RUN_MAIN}/mainTaskCfg/{urllib.parse.quote(str(operationId), safe='')}"
|
|
160
|
+
TEMP_RUN_MAIN_PIPELINE_CFG = lambda operationId: f"{TEMP_RUN_MAIN}/mainPipelineCfg/{urllib.parse.quote(str(operationId), safe='')}"
|
|
160
161
|
TEMP_RUN_OPERATIONS_IDS = lambda taskId, cfgId: f"{TEMP_RUN_MAIN}/operationsIds/{urllib.parse.quote(str(taskId), safe='')}" if cfgId is None else f"{TEMP_RUN_MAIN}/operationsIds/{urllib.parse.quote(str(taskId), safe='')}/{urllib.parse.quote(str(cfgId), safe='')}"
|
|
161
162
|
|
|
162
163
|
## AdminController
|
|
@@ -896,6 +896,7 @@ def run_endpoint(
|
|
|
896
896
|
|
|
897
897
|
def create_endpoint(
|
|
898
898
|
task_id: Optional[str] = None,
|
|
899
|
+
pipeline_id: Optional[str] = None,
|
|
899
900
|
cfg_id: Optional[str] = None,
|
|
900
901
|
sla: Optional[str] = None,
|
|
901
902
|
active: Optional[bool] = None,
|
|
@@ -911,9 +912,10 @@ def create_endpoint(
|
|
|
911
912
|
batcher: Optional[Batcher] = None,
|
|
912
913
|
) -> Alias.Id:
|
|
913
914
|
"""create endpoint, return hash, url - api/v1/endpoints/run/{hash}. fields may not be initialized - this will only cause an error at startup"""
|
|
915
|
+
assert task_id is None or pipeline_id is None, "endpoint should be defined in one way"
|
|
914
916
|
if batcher is None:
|
|
915
917
|
batcher = Config.BATCHER
|
|
916
|
-
data = Endpoint(taskId=task_id, cfgId=cfg_id, sla=sla, active=active, prepare=prepare, runSettings=run_settings,
|
|
918
|
+
data = Endpoint(taskId=task_id, pipelineId=pipeline_id, cfgId=cfg_id, sla=sla, active=active, prepare=prepare, runSettings=run_settings,
|
|
917
919
|
enableNotAuthorized=enable_not_auth, expectedCollectionsWithSchemes=expected_colls_with_schemes, description=description)
|
|
918
920
|
if batcher is not None:
|
|
919
921
|
return batcher.add("postEndpointCreate", data=data)
|
|
@@ -923,6 +925,7 @@ def create_endpoint(
|
|
|
923
925
|
def update_endpoint(
|
|
924
926
|
hash: str,
|
|
925
927
|
task_id: Optional[str] = None,
|
|
928
|
+
pipeline_id: Optional[str] = None,
|
|
926
929
|
cfg_id: Optional[str] = None,
|
|
927
930
|
sla: Optional[str] = None,
|
|
928
931
|
active: Optional[bool] = None,
|
|
@@ -938,9 +941,10 @@ def update_endpoint(
|
|
|
938
941
|
batcher: Optional[Batcher] = None,
|
|
939
942
|
) -> Alias.Id:
|
|
940
943
|
"""update endpoint, return hash, url - api/v1/endpoints/run/{hash}. update field if it is not None"""
|
|
944
|
+
assert task_id is None or pipeline_id is None, "endpoint should be defined in one way"
|
|
941
945
|
if batcher is None:
|
|
942
946
|
batcher = Config.BATCHER
|
|
943
|
-
data = Endpoint(hash=hash, taskId=task_id, cfgId=cfg_id, sla=sla, active=active, prepare=prepare, runSettings=run_settings,
|
|
947
|
+
data = Endpoint(hash=hash, taskId=task_id, pipelineId=pipeline_id, cfgId=cfg_id, sla=sla, active=active, prepare=prepare, runSettings=run_settings,
|
|
944
948
|
enableNotAuthorized=enable_not_auth, expectedCollectionsWithSchemes=expected_colls_with_schemes, description=description)
|
|
945
949
|
if batcher is not None:
|
|
946
950
|
return batcher.add("postEndpointUpdate", data=data)
|
|
@@ -2413,6 +2417,21 @@ def get_run_main_task_cfg(
|
|
|
2413
2417
|
return f.get_run_mainTaskCfg(id, auth=auth, conn_url=conn_url)
|
|
2414
2418
|
|
|
2415
2419
|
|
|
2420
|
+
def get_run_main_pipeline_cfg(
|
|
2421
|
+
id: str,
|
|
2422
|
+
*,
|
|
2423
|
+
auth: Optional[AUTH] = None,
|
|
2424
|
+
conn_url: Optional[str] = None,
|
|
2425
|
+
batcher: Optional[Batcher] = None,
|
|
2426
|
+
) -> MainPipelineCfg:
|
|
2427
|
+
"""return mainPipelineCfg by operation `id` for running pipeline"""
|
|
2428
|
+
if batcher is None:
|
|
2429
|
+
batcher = Config.BATCHER
|
|
2430
|
+
if batcher is not None:
|
|
2431
|
+
return batcher.add("getMainPipelineCfg", vars={"operationId": id}, result_model=MainPipelineCfg)
|
|
2432
|
+
return f.get_run_mainPipelineCfg(id, auth=auth, conn_url=conn_url)
|
|
2433
|
+
|
|
2434
|
+
|
|
2416
2435
|
def get_task_runs(
|
|
2417
2436
|
task_id: str,
|
|
2418
2437
|
cfg_id: Optional[str] = None,
|
|
@@ -2881,6 +2900,7 @@ def pipeline_full(
|
|
|
2881
2900
|
profile_mode: Optional[str] = None,
|
|
2882
2901
|
component: TaskComponent = None,
|
|
2883
2902
|
policy: TaskPolicy = None,
|
|
2903
|
+
schedule: Optional[Schedule] = None,
|
|
2884
2904
|
restrictions: Optional[Restrictions] = None,
|
|
2885
2905
|
scaleInfo: List[ScaleInfo] = None,
|
|
2886
2906
|
with_show: bool = True,
|
|
@@ -2916,6 +2936,7 @@ def pipeline_full(
|
|
|
2916
2936
|
withLogs=True,
|
|
2917
2937
|
component=component,
|
|
2918
2938
|
policy=policy,
|
|
2939
|
+
schedule=schedule,
|
|
2919
2940
|
restrictions=restrictions,
|
|
2920
2941
|
scaleInfo=scaleInfo,
|
|
2921
2942
|
withListener=False,
|
|
@@ -2953,6 +2974,7 @@ def pipeline_prepare(
|
|
|
2953
2974
|
scaleInfo: List[ScaleInfo] = None,
|
|
2954
2975
|
with_listener: bool = False,
|
|
2955
2976
|
kafka_mode_url_response: Optional[str] = None,
|
|
2977
|
+
synthetic: bool = False,
|
|
2956
2978
|
with_show: bool = True,
|
|
2957
2979
|
long: bool = False,
|
|
2958
2980
|
long_timeout: Optional[int] = WAIT_RESULT_TIMEOUT,
|
|
@@ -2991,6 +3013,7 @@ def pipeline_prepare(
|
|
|
2991
3013
|
withListener=with_listener,
|
|
2992
3014
|
kafkaModeUrl=kafka_mode_url_response,
|
|
2993
3015
|
run=False,
|
|
3016
|
+
synthetic=synthetic,
|
|
2994
3017
|
)
|
|
2995
3018
|
if batcher is not None:
|
|
2996
3019
|
return batcher.add("sendPipeline", data=data, result_model=AppLogs)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.3.31
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/abstract/__init__.py
RENAMED
|
File without changes
|
{malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/abstract/statuses.py
RENAMED
|
File without changes
|
{malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/admin/__init__.py
RENAMED
|
File without changes
|
{malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/batch/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/funcs/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/secondary/__init__.py
RENAMED
|
File without changes
|
{malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/secondary/config.py
RENAMED
|
File without changes
|
{malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/secondary/helpers.py
RENAMED
|
File without changes
|
{malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/secondary/kafka_utils.py
RENAMED
|
File without changes
|
{malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/tools/__init__.py
RENAMED
|
File without changes
|
{malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools/tools/abstract.py
RENAMED
|
File without changes
|
|
File without changes
|
{malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools.egg-info/requires.txt
RENAMED
|
File without changes
|
{malevich_coretools-0.3.31 → malevich_coretools-0.3.33}/malevich_coretools.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|