ml-management 0.5.1rc3__tar.gz → 0.5.1rc5__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. ml-management-0.5.1rc5/ML_management/__init__.py +3 -0
  2. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/mlmanagement/jsonschema_inference.py +2 -2
  3. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/mlmanagement/log_api.py +7 -2
  4. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/mlmanagement/session.py +22 -2
  5. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/mlmanagement/variables.py +1 -0
  6. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/sdk/executor.py +2 -2
  7. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/sdk/experiment.py +14 -14
  8. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/sdk/job.py +5 -14
  9. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/sdk/parameters.py +2 -2
  10. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/sdk/schema.py +66 -26
  11. ml-management-0.5.1rc5/ML_management/version.py +6 -0
  12. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/PKG-INFO +1 -1
  13. ml-management-0.5.1rc5/VERSION +1 -0
  14. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ml_management.egg-info/PKG-INFO +1 -1
  15. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ml_management.egg-info/SOURCES.txt +1 -0
  16. ml-management-0.5.1rc3/ML_management/uploader_data/__init__.py +0 -0
  17. ml-management-0.5.1rc3/VERSION +0 -1
  18. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/MANIFEST.in +0 -0
  19. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/collectors/__init__.py +0 -0
  20. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/collectors/collector_pattern.py +0 -0
  21. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/collectors/collector_pattern_to_methods_map.py +0 -0
  22. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/collectors/collectors.py +0 -0
  23. {ml-management-0.5.1rc3/ML_management → ml-management-0.5.1rc5/ML_management/collectors/dummy}/__init__.py +0 -0
  24. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/collectors/dummy/dummy_collector.py +0 -0
  25. {ml-management-0.5.1rc3/ML_management/collectors/dummy → ml-management-0.5.1rc5/ML_management/collectors/s3}/__init__.py +0 -0
  26. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/collectors/s3/s3collector.py +0 -0
  27. {ml-management-0.5.1rc3/ML_management/collectors/s3 → ml-management-0.5.1rc5/ML_management/collectors/topic_markers}/__init__.py +0 -0
  28. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/collectors/topic_markers/api_schema.py +0 -0
  29. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/collectors/topic_markers/topic_markers_collector.py +0 -0
  30. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/dataset_loader/__init__.py +0 -0
  31. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/dataset_loader/base_splits_dataset_loader.py +0 -0
  32. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/dataset_loader/dataset_loader_pattern.py +0 -0
  33. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/dataset_loader/dataset_loader_pattern_to_methods_map.py +0 -0
  34. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/dataset_loader/poisoned_images_dataset_loader.py +0 -0
  35. {ml-management-0.5.1rc3/ML_management/collectors/topic_markers → ml-management-0.5.1rc5/ML_management/dataset_loader/templates}/__init__.py +0 -0
  36. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/dataset_loader/templates/dummy_dataset_loader/__init__.py +0 -0
  37. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/dataset_loader/templates/dummy_dataset_loader/conda.yaml +0 -0
  38. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/dataset_loader/templates/dummy_dataset_loader/dummy_dataset.py +0 -0
  39. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/dataset_loader/templates/upload.py +0 -0
  40. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/executor/__init__.py +0 -0
  41. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/executor/base_executor.py +0 -0
  42. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/executor/executor_pattern.py +0 -0
  43. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/executor/executor_pattern_to_methods_map.py +0 -0
  44. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/executor/no_model_executor_pattern.py +0 -0
  45. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/executor/patterns.py +0 -0
  46. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/executor/templates/__init__.py +0 -0
  47. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/executor/templates/eval/__init__.py +0 -0
  48. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/executor/templates/eval/conda.yaml +0 -0
  49. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/executor/templates/eval/eval_executor.py +0 -0
  50. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/executor/templates/finetune/__init__.py +0 -0
  51. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/executor/templates/finetune/conda.yaml +0 -0
  52. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/executor/templates/finetune/finetune_executor.py +0 -0
  53. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/executor/templates/train/__init__.py +0 -0
  54. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/executor/templates/train/conda.yaml +0 -0
  55. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/executor/templates/train/train_executor.py +0 -0
  56. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/executor/templates/upload.py +0 -0
  57. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/executor/upload_model_mode.py +0 -0
  58. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/mlmanagement/__init__.py +0 -0
  59. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/mlmanagement/backend_api.py +0 -0
  60. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/mlmanagement/base_exceptions.py +0 -0
  61. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/mlmanagement/jsonschema_exceptions.py +0 -0
  62. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/mlmanagement/load_api.py +0 -0
  63. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/mlmanagement/mlmanager.py +0 -0
  64. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/mlmanagement/model_type.py +0 -0
  65. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/mlmanagement/module_finder.py +0 -0
  66. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/mlmanagement/server_mlmanager_exceptions.py +0 -0
  67. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/mlmanagement/singleton_pattern.py +0 -0
  68. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/mlmanagement/utils.py +0 -0
  69. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/mlmanagement/visibility_options.py +0 -0
  70. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/model/__init__.py +0 -0
  71. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/model/model_type_to_methods_map.py +0 -0
  72. {ml-management-0.5.1rc3/ML_management/dataset_loader/templates → ml-management-0.5.1rc5/ML_management/model/patterns}/__init__.py +0 -0
  73. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/model/patterns/evaluatable_model.py +0 -0
  74. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/model/patterns/gradient_model.py +0 -0
  75. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/model/patterns/model_pattern.py +0 -0
  76. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/model/patterns/model_with_losses.py +0 -0
  77. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/model/patterns/model_with_metrics.py +0 -0
  78. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/model/patterns/preprocessor.py +0 -0
  79. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/model/patterns/retrainable_model.py +0 -0
  80. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/model/patterns/rich_python_model.py +0 -0
  81. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/model/patterns/target_layer.py +0 -0
  82. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/model/patterns/torch_model.py +0 -0
  83. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/model/patterns/trainable_model.py +0 -0
  84. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/model/patterns/transformer.py +0 -0
  85. {ml-management-0.5.1rc3/ML_management/model/patterns → ml-management-0.5.1rc5/ML_management/registry}/__init__.py +0 -0
  86. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/registry/exceptions.py +0 -0
  87. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/s3/__init__.py +0 -0
  88. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/s3/manager.py +0 -0
  89. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/s3/utils.py +0 -0
  90. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/sdk/__init__.py +0 -0
  91. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/sdk/dataset_loader.py +0 -0
  92. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/sdk/model.py +0 -0
  93. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/sdk/sdk.py +0 -0
  94. {ml-management-0.5.1rc3/ML_management/registry → ml-management-0.5.1rc5/ML_management/test_sdk}/__init__.py +0 -0
  95. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/test_sdk/test_sdk.py +0 -0
  96. {ml-management-0.5.1rc3/ML_management/test_sdk → ml-management-0.5.1rc5/ML_management/tests}/__init__.py +0 -0
  97. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/tests/test_jsonschema_inference.py +0 -0
  98. {ml-management-0.5.1rc3/ML_management/tests → ml-management-0.5.1rc5/ML_management/uploader_data}/__init__.py +0 -0
  99. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/uploader_data/s3_uploader.py +0 -0
  100. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ML_management/uploader_data/utils.py +0 -0
  101. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/README.md +0 -0
  102. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ml_management.egg-info/dependency_links.txt +0 -0
  103. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ml_management.egg-info/requires.txt +0 -0
  104. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/ml_management.egg-info/top_level.txt +0 -0
  105. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/setup.cfg +0 -0
  106. {ml-management-0.5.1rc3 → ml-management-0.5.1rc5}/setup.py +0 -0
@@ -0,0 +1,3 @@
1
+ import ML_management.version
2
+
3
+ __version__ = ML_management.version.__version__
@@ -152,8 +152,8 @@ def infer_jsonschema(func, get_object_func):
152
152
  all_args_get_object, _ = get_function_args(spec_get_object, get_object_func)
153
153
  if not set(all_args_get_object) == set(all_args):
154
154
  warnings.warn(
155
- """get_object function arguments do not match __init__ arguments.
156
- You won't be able to pass none default arguments into __init__ function."""
155
+ "get_object function arguments do not match __init__ arguments. "
156
+ "You won't be able to pass none default arguments into __init__ function."
157
157
  )
158
158
  all_args = []
159
159
  all_defaults = []
@@ -236,7 +236,8 @@ def _log_object_src(
236
236
  if create_venv_pack:
237
237
  validate_predict_config(path=os.path.join(f"{model_path}", "artifacts", f"{FILENAME_FOR_INFERENCE_CONFIG}"))
238
238
  start_run_if_not_exist()
239
- python_path = sys.path
239
+ old_python_path = sys.path.copy()
240
+ old_sys_modules = sys.modules.copy()
240
241
  try:
241
242
  model_path = os.path.abspath(model_path)
242
243
  parts = Path(model_path).parts
@@ -267,7 +268,11 @@ def _log_object_src(
267
268
  except Exception as err:
268
269
  raise err
269
270
  finally:
270
- sys.path = python_path
271
+ sys.path = old_python_path
272
+ for module in set(sys.modules) - set(old_sys_modules):
273
+ if hasattr(sys.modules[module], __file__):
274
+ if str(Path(*parts[:-2])) in sys.modules[module].__file__:
275
+ sys.modules.pop(module)
271
276
 
272
277
  if additional_local_packages:
273
278
  if isinstance(additional_local_packages, list):
@@ -1,6 +1,7 @@
1
1
  """Module with session for authenticated requests to server."""
2
2
  import os
3
3
  import posixpath
4
+ import warnings
4
5
  from contextlib import contextmanager
5
6
  from http import HTTPStatus
6
7
  from typing import Generator
@@ -11,9 +12,10 @@ from sgqlc.endpoint.http import HTTPEndpoint
11
12
  from sgqlc.operation import Operation
12
13
  from websocket import WebSocket, create_connection
13
14
 
15
+ import ML_management
14
16
  from ML_management.mlmanagement.base_exceptions import MLMClientError
15
17
  from ML_management.mlmanagement.singleton_pattern import Singleton
16
- from ML_management.mlmanagement.variables import get_mlm_credentials, get_server_ml_api, get_server_url
18
+ from ML_management.mlmanagement.variables import SERVER_META, get_mlm_credentials, get_server_ml_api, get_server_url
17
19
 
18
20
 
19
21
  class InvalidCredentialsError(MLMClientError):
@@ -33,10 +35,28 @@ class AuthSession(metaclass=Singleton):
33
35
  or self._try_set_cookies()
34
36
  or self._try_authenticate_by_credentials()
35
37
  ):
36
- return
38
+ self.check_version()
37
39
  except (httpx.ConnectError, httpx.HTTPStatusError):
38
40
  raise RuntimeError("Server is unavailable or server url is incorrect.") from None
39
41
 
42
+ def check_version(self):
43
+ client_version = ML_management.__version__
44
+ response = httpx.get(posixpath.join(get_server_url(), SERVER_META), cookies=self.cookies)
45
+ try:
46
+ response.raise_for_status()
47
+ except Exception:
48
+ warnings.warn(
49
+ "Can't get ml-management version of the server. "
50
+ f"Server status {response.status_code} with content {response.text}."
51
+ )
52
+ return
53
+ server_version = response.json().get("PLATFORM_VERSION", "unknown")
54
+ if client_version != server_version:
55
+ warnings.warn(
56
+ f"Your ml-management version ({client_version}) does not match the "
57
+ f"version on the server ({server_version})."
58
+ )
59
+
40
60
  @contextmanager
41
61
  def get(self, url: str, stream: bool = False, **kwargs) -> Generator[httpx.Response, None, None]:
42
62
  """Proxy get request."""
@@ -16,6 +16,7 @@ active_experiment: dict = {}
16
16
  EXPERIMENT_NAME_FOR_EXECUTOR = "executors"
17
17
  EXPERIMENT_NAME_FOR_DATASET_LOADER = "dataset_loaders"
18
18
  FILENAME_FOR_INFERENCE_CONFIG = "predict_config.json"
19
+ SERVER_META = posixpath.join("bff", "meta.json")
19
20
 
20
21
 
21
22
  def get_server_ml_api() -> str:
@@ -333,11 +333,11 @@ def generate_model_params_for_executor(
333
333
  )
334
334
  ]
335
335
 
336
- ArbitraryModels:
336
+ AnyModelForm:
337
337
  Example of models parameter for add_ml_job function.
338
338
  Example::
339
339
 
340
- ArbitraryModels(
340
+ AnyModelForm(
341
341
  models=[
342
342
  ModelWithRole(
343
343
  role="role_one",
@@ -5,14 +5,14 @@ from ML_management.sdk.schema import Experiment
5
5
  from ML_management.sdk.sdk import send_graphql_request
6
6
 
7
7
 
8
- def set_experiment_description(experiment_name: str, description: str) -> Experiment:
8
+ def set_experiment_description(experiment_id: int, description: str) -> Experiment:
9
9
  """
10
10
  Set experiment description.
11
11
 
12
12
  Parameters
13
13
  ----------
14
- experiment_name: str
15
- Name of an experiment.
14
+ experiment_id: int
15
+ Id of an experiment.
16
16
  description: str
17
17
  Description of an experiment.
18
18
 
@@ -22,7 +22,7 @@ def set_experiment_description(experiment_name: str, description: str) -> Experi
22
22
  Instance of a experiment with meta information.
23
23
  """
24
24
  op = Operation(schema.Mutation)
25
- set_description = op.set_experiment_description(name=experiment_name, description=description)
25
+ set_description = op.set_experiment_description(experiment_id=experiment_id, description=description)
26
26
  set_description.name()
27
27
  set_description.description()
28
28
 
@@ -30,14 +30,14 @@ def set_experiment_description(experiment_name: str, description: str) -> Experi
30
30
  return experiment["setExperimentDescription"]
31
31
 
32
32
 
33
- def set_experiment_tag(experiment_name: str, key: str, value: str) -> Experiment:
33
+ def set_experiment_tag(experiment_id: int, key: str, value: str) -> Experiment:
34
34
  """
35
35
  Set experiment tag.
36
36
 
37
37
  Parameters
38
38
  ----------
39
- experiment_name: str
40
- Name of an experiment.
39
+ experiment_id: int
40
+ Id of an experiment.
41
41
  key: str
42
42
  Key of a tag.
43
43
  value: str
@@ -49,7 +49,7 @@ def set_experiment_tag(experiment_name: str, key: str, value: str) -> Experiment
49
49
  Instance of an experiment with meta information.
50
50
  """
51
51
  op = Operation(schema.Mutation)
52
- set_experiment_tags = op.set_experiment_tag(name=experiment_name, key=key, value=value)
52
+ set_experiment_tags = op.set_experiment_tag(experiment_id=experiment_id, key=key, value=value)
53
53
  set_experiment_tags.name()
54
54
  set_experiment_tags.tags()
55
55
 
@@ -57,14 +57,14 @@ def set_experiment_tag(experiment_name: str, key: str, value: str) -> Experiment
57
57
  return experiment["setExperimentTag"]
58
58
 
59
59
 
60
- def delete_experiment_tag(experiment_name: str, key: str) -> Experiment:
60
+ def delete_experiment_tag(experiment_id: int, key: str) -> Experiment:
61
61
  """
62
62
  Delete experiment tag.
63
63
 
64
64
  Parameters
65
65
  ----------
66
- experiment_name: str
67
- Name of an experiment.
66
+ experiment_id: int
67
+ Id of an experiment.
68
68
  key: str
69
69
  Key of a tag to delete.
70
70
 
@@ -74,7 +74,7 @@ def delete_experiment_tag(experiment_name: str, key: str) -> Experiment:
74
74
  Instance of an experiment with meta information.
75
75
  """
76
76
  op = Operation(schema.Mutation)
77
- set_experiment_tags = op.delete_experiment_tag(name=experiment_name, key=key)
77
+ set_experiment_tags = op.delete_experiment_tag(experiment_id=experiment_id, key=key)
78
78
  set_experiment_tags.name()
79
79
  set_experiment_tags.tags()
80
80
 
@@ -107,13 +107,13 @@ def get_experiment_by_name(experiment_name: str) -> Experiment:
107
107
  return experiment["experimentFromName"]
108
108
 
109
109
 
110
- def get_experiment_by_id(experiment_id: str) -> Experiment:
110
+ def get_experiment_by_id(experiment_id: int) -> Experiment:
111
111
  """
112
112
  Get experiment by it's id.
113
113
 
114
114
  Parameters
115
115
  ----------
116
- experiment_id: str
116
+ experiment_id: int
117
117
  Id of an experiment.
118
118
 
119
119
  Returns
@@ -11,6 +11,7 @@ import websocket
11
11
  from matplotlib import pyplot as plt
12
12
  from sgqlc.operation import Operation
13
13
 
14
+ from ML_management.collectors.collector_pattern_to_methods_map import collector_method_schema_name
14
15
  from ML_management.mlmanagement import get_server_url
15
16
  from ML_management.mlmanagement.session import AuthSession
16
17
  from ML_management.mlmanagement.variables import get_server_websocket_url
@@ -384,9 +385,9 @@ def add_ml_job(
384
385
  Name of the Job.
385
386
  """
386
387
  if not isinstance(models_pattern, ModelForm) and not isinstance(models_pattern, AnyModelForm):
387
- raise TypeError("Parameter models must have type SingleModel or ArbitraryModels.")
388
+ raise TypeError("Parameter models must have type ModelForm or AnyModelForm.")
388
389
  if not isinstance(data_pattern, DatasetLoaderForm) and not isinstance(data_pattern, AnyDatasetLoaderForm):
389
- raise TypeError("Parameter data_pattern must have type SingleDatasetLoader or ArbitraryDatasetLoaders.")
390
+ raise TypeError("Parameter data_pattern must have type DatasetLoaderForm or AnyDatasetLoaderForm.")
390
391
  models = models_pattern.serialize()
391
392
  data_params = data_pattern.serialize()
392
393
  list_role_data_params = []
@@ -400,19 +401,9 @@ def add_ml_job(
400
401
  )
401
402
 
402
403
  collector_name = data_inner_params["collector_name"]
403
- _dataset_loader_version = schema.ObjectVersionOptionalInput(
404
- name=dataset_loader_name, version=dataset_loader_version
405
- )
406
- dataset_collector_schema = op.dataset_loader_version_from_name_version(
407
- dataset_loader_version=_dataset_loader_version
408
- ).data_json_schema(collector_name=collector_name)
409
- dataset_collector_schema.collector_method_schema.schema_name()
410
- dataset_loader_version_obj = send_graphql_request(op, json_response=False)
411
- collector_method_name = (
412
- dataset_loader_version_obj.dataset_loader_version_from_name_version.data_json_schema.collector_method_schema.schema_name # noqa: E501
413
- )
404
+
414
405
  collector_method_params = schema.MethodParamsInput(
415
- method_name=collector_method_name, method_params=json.dumps(data_inner_params["collector_params"])
406
+ method_name=collector_method_schema_name, method_params=json.dumps(data_inner_params["collector_params"])
416
407
  )
417
408
 
418
409
  list_dataset_loader_method_params = []
@@ -131,7 +131,7 @@ class ModelForm(BaseModel):
131
131
  class ModelWithRole(ModelForm):
132
132
  """Class for one role model with parameters for add_ml_job function.
133
133
 
134
- Same as SingleModel except parameter role: str is required.
134
+ Same as ModelForm except parameter role: str is required.
135
135
 
136
136
  Attributes
137
137
  ----------
@@ -288,7 +288,7 @@ class DatasetLoaderForm(BaseModel):
288
288
  class DatasetLoaderWithRole(DatasetLoaderForm):
289
289
  """Class for one role dataset loader with parameters for add_ml_job function.
290
290
 
291
- Same as SingleDatasetLoader except parameter role: str is required.
291
+ Same as DatasetLoaderForm except parameter role: str is required.
292
292
 
293
293
  Attributes
294
294
  ----------
@@ -167,7 +167,7 @@ class JobParameters(sgqlc.types.Input):
167
167
 
168
168
  executor_params = sgqlc.types.Field(sgqlc.types.non_null(ExecutorParamsInput), graphql_name='executorParams')
169
169
 
170
- experiment_name = sgqlc.types.Field(sgqlc.types.non_null(String), graphql_name='experimentName')
170
+ experiment_name = sgqlc.types.Field(String, graphql_name='experimentName')
171
171
 
172
172
  gpu = sgqlc.types.Field(sgqlc.types.non_null(Boolean), graphql_name='gpu')
173
173
 
@@ -318,6 +318,15 @@ class TimestampInterval(sgqlc.types.Input):
318
318
 
319
319
 
320
320
 
321
+ class UpdateExperimentForm(sgqlc.types.Input):
322
+ __schema__ = schema
323
+ __field_names__ = ('new_description', 'new_name')
324
+ new_description = sgqlc.types.Field(sgqlc.types.non_null(String), graphql_name='newDescription')
325
+
326
+ new_name = sgqlc.types.Field(sgqlc.types.non_null(String), graphql_name='newName')
327
+
328
+
329
+
321
330
 
322
331
  ########################################################################
323
332
  # Output Objects and Interfaces
@@ -365,11 +374,13 @@ class DataParams(sgqlc.types.Type):
365
374
 
366
375
  class DataSchema(sgqlc.types.Type):
367
376
  __schema__ = schema
368
- __field_names__ = ('collector_method_schema', 'dataset_loader_method_schemas')
377
+ __field_names__ = ('collector_method_schema', 'dataset_loader_method_schemas', 'role')
369
378
  collector_method_schema = sgqlc.types.Field(sgqlc.types.non_null('MethodSchema'), graphql_name='collectorMethodSchema')
370
379
 
371
380
  dataset_loader_method_schemas = sgqlc.types.Field(sgqlc.types.non_null(sgqlc.types.list_of(sgqlc.types.non_null('MethodSchema'))), graphql_name='datasetLoaderMethodSchemas')
372
381
 
382
+ role = sgqlc.types.Field(sgqlc.types.non_null(String), graphql_name='role')
383
+
373
384
 
374
385
 
375
386
  class DatasetLoaderInfo(sgqlc.types.Type):
@@ -431,18 +442,9 @@ class DatasetLoaderPagination(sgqlc.types.Type):
431
442
 
432
443
  class DatasetLoaderVersionInfo(sgqlc.types.Type):
433
444
  __schema__ = schema
434
- __field_names__ = ('creation_timestamp', 'data_json_schema', 'dataset_loader', 'dataset_loader_method_schema_names', 'dataset_loader_method_schemas', 'description', 'get_conda_env', 'last_updated_timestamp', 'list_deployed_jobs', 'list_requirements', 'name', 'pagination_deployed_jobs', 'run', 'source_path', 'tags', 'version')
445
+ __field_names__ = ('creation_timestamp', 'dataset_loader', 'dataset_loader_method_schema_names', 'dataset_loader_method_schemas', 'description', 'get_conda_env', 'last_updated_timestamp', 'list_deployed_jobs', 'list_requirements', 'name', 'pagination_deployed_jobs', 'run', 'source_path', 'tags', 'version')
435
446
  creation_timestamp = sgqlc.types.Field(sgqlc.types.non_null(LONG), graphql_name='creationTimestamp')
436
447
 
437
- data_json_schema = sgqlc.types.Field(sgqlc.types.non_null(DataSchema), graphql_name='dataJsonSchema', args=sgqlc.types.ArgDict((
438
- ('collector_name', sgqlc.types.Arg(sgqlc.types.non_null(String), graphql_name='collectorName', default=None)),
439
- ))
440
- )
441
- '''Arguments:
442
-
443
- * `collector_name` (`String!`)None
444
- '''
445
-
446
448
  dataset_loader = sgqlc.types.Field(sgqlc.types.non_null(DatasetLoaderInfo), graphql_name='datasetLoader')
447
449
 
448
450
  dataset_loader_method_schema_names = sgqlc.types.Field(sgqlc.types.non_null(sgqlc.types.list_of(sgqlc.types.non_null(String))), graphql_name='datasetLoaderMethodSchemaNames')
@@ -709,12 +711,14 @@ class ExecutorVersionInfo(sgqlc.types.Type):
709
711
  * `models` (`[RoleObjectVersionInput!]!`)None
710
712
  '''
711
713
 
712
- job_json_schema_for_role_dataset_loader = sgqlc.types.Field(sgqlc.types.non_null('RoleMethodSchema'), graphql_name='jobJsonSchemaForRoleDatasetLoader', args=sgqlc.types.ArgDict((
714
+ job_json_schema_for_role_dataset_loader = sgqlc.types.Field(sgqlc.types.non_null(DataSchema), graphql_name='jobJsonSchemaForRoleDatasetLoader', args=sgqlc.types.ArgDict((
715
+ ('collector_name', sgqlc.types.Arg(sgqlc.types.non_null(String), graphql_name='collectorName', default=None)),
713
716
  ('dataset_loader', sgqlc.types.Arg(sgqlc.types.non_null(RoleObjectVersionInput), graphql_name='datasetLoader', default=None)),
714
717
  ))
715
718
  )
716
719
  '''Arguments:
717
720
 
721
+ * `collector_name` (`String!`)None
718
722
  * `dataset_loader` (`RoleObjectVersionInput!`)None
719
723
  '''
720
724
 
@@ -1045,13 +1049,15 @@ class JobPagination(sgqlc.types.Type):
1045
1049
 
1046
1050
  class JobParams(sgqlc.types.Type):
1047
1051
  __schema__ = schema
1048
- __field_names__ = ('additional_system_packages', 'cron_expression', 'executor_params', 'experiment_name', 'gpu', 'list_role_data_params', 'list_role_model_params', 'periodic_type')
1052
+ __field_names__ = ('additional_system_packages', 'cron_expression', 'executor_params', 'experiment_id', 'experiment_name', 'gpu', 'list_role_data_params', 'list_role_model_params', 'periodic_type')
1049
1053
  additional_system_packages = sgqlc.types.Field(sgqlc.types.list_of(sgqlc.types.non_null(String)), graphql_name='additionalSystemPackages')
1050
1054
 
1051
1055
  cron_expression = sgqlc.types.Field(String, graphql_name='cronExpression')
1052
1056
 
1053
1057
  executor_params = sgqlc.types.Field(sgqlc.types.non_null(ExecutorParams), graphql_name='executorParams')
1054
1058
 
1059
+ experiment_id = sgqlc.types.Field(Int, graphql_name='experimentId')
1060
+
1055
1061
  experiment_name = sgqlc.types.Field(String, graphql_name='experimentName')
1056
1062
 
1057
1063
  gpu = sgqlc.types.Field(Boolean, graphql_name='gpu')
@@ -1475,7 +1481,7 @@ class ModelVersionPagination(sgqlc.types.Type):
1475
1481
 
1476
1482
  class Mutation(sgqlc.types.Type):
1477
1483
  __schema__ = schema
1478
- __field_names__ = ('add_ml_job', 'cancel_build_job_for_executor_version', 'cancel_build_job_for_model_version', 'cancel_job', 'cancel_venv_build_job_for_model_version', 'delete_dataset_loader', 'delete_dataset_loader_tag', 'delete_dataset_loader_version_from_name_version', 'delete_dataset_loader_version_tag', 'delete_executor', 'delete_executor_tag', 'delete_executor_version_from_name_version', 'delete_executor_version_tag', 'delete_experiment_tag', 'delete_model', 'delete_model_tag', 'delete_model_version_from_name_version', 'delete_model_version_tag', 'rebuild_model_version_image', 'rebuild_no_model_executor_version_image', 'rename_experiment', 'serve_model', 'set_dataset_loader_description', 'set_dataset_loader_tag', 'set_dataset_loader_version_description', 'set_dataset_loader_version_tag', 'set_executor_description', 'set_executor_tag', 'set_executor_version_description', 'set_executor_version_tag', 'set_experiment_description', 'set_experiment_tag', 'set_model_description', 'set_model_tag', 'set_model_version_description', 'set_model_version_tag', 'stop_model_serving')
1484
+ __field_names__ = ('add_ml_job', 'cancel_build_job_for_executor_version', 'cancel_build_job_for_model_version', 'cancel_job', 'cancel_venv_build_job_for_model_version', 'delete_dataset_loader', 'delete_dataset_loader_tag', 'delete_dataset_loader_version_from_name_version', 'delete_dataset_loader_version_tag', 'delete_executor', 'delete_executor_tag', 'delete_executor_version_from_name_version', 'delete_executor_version_tag', 'delete_experiment_tag', 'delete_model', 'delete_model_tag', 'delete_model_version_from_name_version', 'delete_model_version_tag', 'rebuild_model_version_image', 'rebuild_no_model_executor_version_image', 'rename_experiment', 'serve_model', 'set_dataset_loader_description', 'set_dataset_loader_tag', 'set_dataset_loader_version_description', 'set_dataset_loader_version_tag', 'set_executor_description', 'set_executor_tag', 'set_executor_version_description', 'set_executor_version_tag', 'set_experiment_description', 'set_experiment_tag', 'set_model_description', 'set_model_tag', 'set_model_version_description', 'set_model_version_tag', 'stop_model_serving', 'update_experiment')
1479
1485
  add_ml_job = sgqlc.types.Field(sgqlc.types.non_null(ExecutionJob), graphql_name='addMlJob', args=sgqlc.types.ArgDict((
1480
1486
  ('form', sgqlc.types.Arg(sgqlc.types.non_null(JobParameters), graphql_name='form', default=None)),
1481
1487
  ))
@@ -1608,14 +1614,14 @@ class Mutation(sgqlc.types.Type):
1608
1614
  '''
1609
1615
 
1610
1616
  delete_experiment_tag = sgqlc.types.Field(sgqlc.types.non_null(Experiment), graphql_name='deleteExperimentTag', args=sgqlc.types.ArgDict((
1617
+ ('experiment_id', sgqlc.types.Arg(sgqlc.types.non_null(Int), graphql_name='experimentId', default=None)),
1611
1618
  ('key', sgqlc.types.Arg(sgqlc.types.non_null(String), graphql_name='key', default=None)),
1612
- ('name', sgqlc.types.Arg(sgqlc.types.non_null(String), graphql_name='name', default=None)),
1613
1619
  ))
1614
1620
  )
1615
1621
  '''Arguments:
1616
1622
 
1623
+ * `experiment_id` (`Int!`)None
1617
1624
  * `key` (`String!`)None
1618
- * `name` (`String!`)None
1619
1625
  '''
1620
1626
 
1621
1627
  delete_model = sgqlc.types.Field(sgqlc.types.non_null(Boolean), graphql_name='deleteModel', args=sgqlc.types.ArgDict((
@@ -1677,13 +1683,13 @@ class Mutation(sgqlc.types.Type):
1677
1683
  '''
1678
1684
 
1679
1685
  rename_experiment = sgqlc.types.Field(sgqlc.types.non_null(Experiment), graphql_name='renameExperiment', args=sgqlc.types.ArgDict((
1680
- ('name', sgqlc.types.Arg(sgqlc.types.non_null(String), graphql_name='name', default=None)),
1686
+ ('experiment_id', sgqlc.types.Arg(sgqlc.types.non_null(Int), graphql_name='experimentId', default=None)),
1681
1687
  ('new_name', sgqlc.types.Arg(sgqlc.types.non_null(String), graphql_name='newName', default=None)),
1682
1688
  ))
1683
1689
  )
1684
1690
  '''Arguments:
1685
1691
 
1686
- * `name` (`String!`)None
1692
+ * `experiment_id` (`Int!`)None
1687
1693
  * `new_name` (`String!`)None
1688
1694
  '''
1689
1695
 
@@ -1794,25 +1800,25 @@ class Mutation(sgqlc.types.Type):
1794
1800
 
1795
1801
  set_experiment_description = sgqlc.types.Field(sgqlc.types.non_null(Experiment), graphql_name='setExperimentDescription', args=sgqlc.types.ArgDict((
1796
1802
  ('description', sgqlc.types.Arg(sgqlc.types.non_null(String), graphql_name='description', default=None)),
1797
- ('name', sgqlc.types.Arg(sgqlc.types.non_null(String), graphql_name='name', default=None)),
1803
+ ('experiment_id', sgqlc.types.Arg(sgqlc.types.non_null(Int), graphql_name='experimentId', default=None)),
1798
1804
  ))
1799
1805
  )
1800
1806
  '''Arguments:
1801
1807
 
1802
1808
  * `description` (`String!`)None
1803
- * `name` (`String!`)None
1809
+ * `experiment_id` (`Int!`)None
1804
1810
  '''
1805
1811
 
1806
1812
  set_experiment_tag = sgqlc.types.Field(sgqlc.types.non_null(Experiment), graphql_name='setExperimentTag', args=sgqlc.types.ArgDict((
1813
+ ('experiment_id', sgqlc.types.Arg(sgqlc.types.non_null(Int), graphql_name='experimentId', default=None)),
1807
1814
  ('key', sgqlc.types.Arg(sgqlc.types.non_null(String), graphql_name='key', default=None)),
1808
- ('name', sgqlc.types.Arg(sgqlc.types.non_null(String), graphql_name='name', default=None)),
1809
1815
  ('value', sgqlc.types.Arg(sgqlc.types.non_null(String), graphql_name='value', default=None)),
1810
1816
  ))
1811
1817
  )
1812
1818
  '''Arguments:
1813
1819
 
1820
+ * `experiment_id` (`Int!`)None
1814
1821
  * `key` (`String!`)None
1815
- * `name` (`String!`)None
1816
1822
  * `value` (`String!`)None
1817
1823
  '''
1818
1824
 
@@ -1873,6 +1879,17 @@ class Mutation(sgqlc.types.Type):
1873
1879
  * `model_version` (`ObjectVersionInput!`)None
1874
1880
  '''
1875
1881
 
1882
+ update_experiment = sgqlc.types.Field(sgqlc.types.non_null(Experiment), graphql_name='updateExperiment', args=sgqlc.types.ArgDict((
1883
+ ('experiment_id', sgqlc.types.Arg(sgqlc.types.non_null(Int), graphql_name='experimentId', default=None)),
1884
+ ('update_experiment_form', sgqlc.types.Arg(sgqlc.types.non_null(UpdateExperimentForm), graphql_name='updateExperimentForm', default=None)),
1885
+ ))
1886
+ )
1887
+ '''Arguments:
1888
+
1889
+ * `experiment_id` (`Int!`)None
1890
+ * `update_experiment_form` (`UpdateExperimentForm!`)None
1891
+ '''
1892
+
1876
1893
 
1877
1894
 
1878
1895
  class ObjectVersion(sgqlc.types.Type):
@@ -1951,12 +1968,12 @@ class Query(sgqlc.types.Type):
1951
1968
  '''
1952
1969
 
1953
1970
  experiment_from_id = sgqlc.types.Field(sgqlc.types.non_null(Experiment), graphql_name='experimentFromId', args=sgqlc.types.ArgDict((
1954
- ('experiment_id', sgqlc.types.Arg(sgqlc.types.non_null(String), graphql_name='experimentId', default=None)),
1971
+ ('experiment_id', sgqlc.types.Arg(sgqlc.types.non_null(Int), graphql_name='experimentId', default=None)),
1955
1972
  ))
1956
1973
  )
1957
1974
  '''Arguments:
1958
1975
 
1959
- * `experiment_id` (`String!`)None
1976
+ * `experiment_id` (`Int!`)None
1960
1977
  '''
1961
1978
 
1962
1979
  experiment_from_name = sgqlc.types.Field(sgqlc.types.non_null(Experiment), graphql_name='experimentFromName', args=sgqlc.types.ArgDict((
@@ -2273,6 +2290,29 @@ class RunPagination(sgqlc.types.Type):
2273
2290
 
2274
2291
 
2275
2292
 
2293
+ class Subscription(sgqlc.types.Type):
2294
+ __schema__ = schema
2295
+ __field_names__ = ('build_job_status', 'job_status')
2296
+ build_job_status = sgqlc.types.Field(sgqlc.types.non_null(JobStatus), graphql_name='buildJobStatus', args=sgqlc.types.ArgDict((
2297
+ ('name', sgqlc.types.Arg(sgqlc.types.non_null(String), graphql_name='name', default=None)),
2298
+ ))
2299
+ )
2300
+ '''Arguments:
2301
+
2302
+ * `name` (`String!`)None
2303
+ '''
2304
+
2305
+ job_status = sgqlc.types.Field(sgqlc.types.non_null(JobStatus), graphql_name='jobStatus', args=sgqlc.types.ArgDict((
2306
+ ('name', sgqlc.types.Arg(sgqlc.types.non_null(String), graphql_name='name', default=None)),
2307
+ ))
2308
+ )
2309
+ '''Arguments:
2310
+
2311
+ * `name` (`String!`)None
2312
+ '''
2313
+
2314
+
2315
+
2276
2316
  class User(sgqlc.types.Type):
2277
2317
  __schema__ = schema
2278
2318
  __field_names__ = ('id',)
@@ -2299,5 +2339,5 @@ class WarningDeleteModel(sgqlc.types.Type):
2299
2339
  ########################################################################
2300
2340
  schema.query_type = Query
2301
2341
  schema.mutation_type = Mutation
2302
- schema.subscription_type = None
2342
+ schema.subscription_type = Subscription
2303
2343
 
@@ -0,0 +1,6 @@
1
+ from importlib.metadata import version
2
+
3
+ try:
4
+ __version__ = version("ml-management")
5
+ except Exception:
6
+ __version__ = "unknown"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ml-management
3
- Version: 0.5.1rc3
3
+ Version: 0.5.1rc5
4
4
  Summary: Python implementation of model pattern, dataset
5
5
  Author: ISPRAS MODIS
6
6
  Author-email: modis@ispras.ru
@@ -0,0 +1 @@
1
+ 0.5.1rc5
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ml-management
3
- Version: 0.5.1rc3
3
+ Version: 0.5.1rc5
4
4
  Summary: Python implementation of model pattern, dataset
5
5
  Author: ISPRAS MODIS
6
6
  Author-email: modis@ispras.ru
@@ -3,6 +3,7 @@ README.md
3
3
  VERSION
4
4
  setup.py
5
5
  ML_management/__init__.py
6
+ ML_management/version.py
6
7
  ML_management/collectors/__init__.py
7
8
  ML_management/collectors/collector_pattern.py
8
9
  ML_management/collectors/collector_pattern_to_methods_map.py
@@ -1 +0,0 @@
1
- 0.5.1rc3