ml-management 0.6.3rc11__tar.gz → 0.6.3rc13__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. ml_management-0.6.3rc13/ML_management/__init__.py +1 -0
  2. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/graphql/schema.py +14 -1
  3. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/mlmanagement/log_api.py +2 -2
  4. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/sdk/__init__.py +1 -1
  5. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/sdk/executor.py +2 -133
  6. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/sdk/experiment.py +32 -0
  7. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/sdk/job.py +2 -0
  8. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/sdk/sdk.py +1 -18
  9. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/test_sdk/test_sdk.py +0 -18
  10. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/PKG-INFO +2 -3
  11. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/pyproject.toml +4 -5
  12. ml_management-0.6.3rc11/ML_management/__init__.py +0 -3
  13. ml_management-0.6.3rc11/ML_management/version.py +0 -6
  14. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/base_exceptions.py +0 -0
  15. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/collectors/__init__.py +0 -0
  16. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/collectors/collector_pattern.py +0 -0
  17. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/collectors/collector_pattern_to_methods_map.py +0 -0
  18. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/collectors/collectors.py +0 -0
  19. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/collectors/dummy/__init__.py +0 -0
  20. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/collectors/dummy/dummy_collector.py +0 -0
  21. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/collectors/s3/__init__.py +0 -0
  22. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/collectors/s3/s3collector.py +0 -0
  23. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/collectors/topic_markers/__init__.py +0 -0
  24. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/collectors/topic_markers/api_schema.py +0 -0
  25. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/collectors/topic_markers/topic_markers_collector.py +0 -0
  26. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/dataset_loader/__init__.py +0 -0
  27. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/dataset_loader/base_splits_dataset_loader.py +0 -0
  28. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/dataset_loader/dataset_loader_pattern.py +0 -0
  29. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/dataset_loader/dataset_loader_pattern_to_methods_map.py +0 -0
  30. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/dataset_loader/poisoned_images_dataset_loader.py +0 -0
  31. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/dataset_loader/templates/__init__.py +0 -0
  32. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/dataset_loader/templates/dummy_dataset_loader/__init__.py +0 -0
  33. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/dataset_loader/templates/dummy_dataset_loader/conda.yaml +0 -0
  34. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/dataset_loader/templates/dummy_dataset_loader/dummy_dataset.py +0 -0
  35. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/dataset_loader/templates/upload.py +0 -0
  36. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/executor/__init__.py +0 -0
  37. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/executor/base_executor.py +0 -0
  38. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/executor/executor_pattern.py +0 -0
  39. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/executor/executor_pattern_to_methods_map.py +0 -0
  40. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/executor/no_model_executor_pattern.py +0 -0
  41. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/executor/patterns.py +0 -0
  42. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/executor/templates/__init__.py +0 -0
  43. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/executor/templates/eval/__init__.py +0 -0
  44. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/executor/templates/eval/conda.yaml +0 -0
  45. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/executor/templates/eval/eval_executor.py +0 -0
  46. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/executor/templates/finetune/__init__.py +0 -0
  47. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/executor/templates/finetune/conda.yaml +0 -0
  48. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/executor/templates/finetune/finetune_executor.py +0 -0
  49. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/executor/templates/train/__init__.py +0 -0
  50. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/executor/templates/train/conda.yaml +0 -0
  51. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/executor/templates/train/train_executor.py +0 -0
  52. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/executor/templates/upload.py +0 -0
  53. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/executor/upload_model_mode.py +0 -0
  54. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/graphql/__init__.py +0 -0
  55. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/graphql/send_graphql_request.py +0 -0
  56. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/mlmanagement/__init__.py +0 -0
  57. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/mlmanagement/active_job.py +0 -0
  58. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/mlmanagement/backend_api.py +0 -0
  59. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/mlmanagement/batcher.py +0 -0
  60. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/mlmanagement/jsonschema_exceptions.py +0 -0
  61. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/mlmanagement/jsonschema_inference.py +0 -0
  62. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/mlmanagement/load_api.py +0 -0
  63. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/mlmanagement/model_type.py +0 -0
  64. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/mlmanagement/module_finder.py +0 -0
  65. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/mlmanagement/server_mlmanager_exceptions.py +0 -0
  66. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/mlmanagement/utils.py +0 -0
  67. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/mlmanagement/visibility_options.py +0 -0
  68. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/model/__init__.py +0 -0
  69. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/model/model_type_to_methods_map.py +0 -0
  70. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/model/patterns/__init__.py +0 -0
  71. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/model/patterns/evaluatable_model.py +0 -0
  72. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/model/patterns/gradient_model.py +0 -0
  73. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/model/patterns/model_pattern.py +0 -0
  74. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/model/patterns/model_with_losses.py +0 -0
  75. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/model/patterns/model_with_metrics.py +0 -0
  76. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/model/patterns/preprocessor.py +0 -0
  77. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/model/patterns/retrainable_model.py +0 -0
  78. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/model/patterns/target_layer.py +0 -0
  79. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/model/patterns/torch_model.py +0 -0
  80. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/model/patterns/trainable_model.py +0 -0
  81. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/model/patterns/transformer.py +0 -0
  82. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/registry/__init__.py +0 -0
  83. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/registry/exceptions.py +0 -0
  84. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/s3/__init__.py +0 -0
  85. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/s3/manager.py +0 -0
  86. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/s3/utils.py +0 -0
  87. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/sdk/dataset_loader.py +0 -0
  88. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/sdk/model.py +0 -0
  89. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/sdk/parameters.py +0 -0
  90. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/session.py +0 -0
  91. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/singleton_pattern.py +0 -0
  92. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/test_sdk/__init__.py +0 -0
  93. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/test_sdk/local_sdk_test.sh +0 -0
  94. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/test_sdk/mock_server.js +0 -0
  95. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/test_sdk/package.json +0 -0
  96. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/test_sdk/requirements.txt +0 -0
  97. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/tests/__init__.py +0 -0
  98. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/tests/requirements.txt +0 -0
  99. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/tests/run_all_tests.sh +0 -0
  100. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/tests/test_jsonschema_inference.py +0 -0
  101. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/uploader_data/__init__.py +0 -0
  102. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/uploader_data/s3_uploader.py +0 -0
  103. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/uploader_data/utils.py +0 -0
  104. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/ML_management/variables.py +0 -0
  105. {ml_management-0.6.3rc11 → ml_management-0.6.3rc13}/README.md +0 -0
@@ -0,0 +1 @@
1
+ __version__ = "0.6.3rc13"
@@ -1562,7 +1562,7 @@ class ModelVersionPagination(sgqlc.types.Type):
1562
1562
 
1563
1563
  class Mutation(sgqlc.types.Type):
1564
1564
  __schema__ = schema
1565
- __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', 'create_local_job', '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', 'log_metric', 'log_metrics', 'log_param', 'log_params', 'rebuild_model_version_image', 'rebuild_no_model_executor_version_image', 'rename_experiment', 'serve_model', 'set_dataset_loader_tag', 'set_dataset_loader_version_tag', 'set_executor_tag', 'set_executor_version_tag', 'set_experiment_tag', 'set_model_tag', 'set_model_version_tag', 'start_local_job', 'stop_local_job', 'stop_model_serving', 'update_dataset_loader', 'update_dataset_loader_version', 'update_executor', 'update_executor_version', 'update_experiment', 'update_job', 'update_model', 'update_model_version')
1565
+ __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', 'create_experiment', 'create_local_job', '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', 'log_metric', 'log_metrics', 'log_param', 'log_params', 'rebuild_model_version_image', 'rebuild_no_model_executor_version_image', 'rename_experiment', 'serve_model', 'set_dataset_loader_tag', 'set_dataset_loader_version_tag', 'set_executor_tag', 'set_executor_version_tag', 'set_experiment_tag', 'set_model_tag', 'set_model_version_tag', 'start_local_job', 'stop_local_job', 'stop_model_serving', 'update_dataset_loader', 'update_dataset_loader_version', 'update_executor', 'update_executor_version', 'update_experiment', 'update_job', 'update_model', 'update_model_version')
1566
1566
  add_ml_job = sgqlc.types.Field(sgqlc.types.non_null(ExecutionJob), graphql_name='addMlJob', args=sgqlc.types.ArgDict((
1567
1567
  ('form', sgqlc.types.Arg(sgqlc.types.non_null(JobParameters), graphql_name='form', default=None)),
1568
1568
  ))
@@ -1614,6 +1614,19 @@ class Mutation(sgqlc.types.Type):
1614
1614
  * `version` (`Int!`)None
1615
1615
  '''
1616
1616
 
1617
+ create_experiment = sgqlc.types.Field(sgqlc.types.non_null(Experiment), graphql_name='createExperiment', args=sgqlc.types.ArgDict((
1618
+ ('experiment_description', sgqlc.types.Arg(String, graphql_name='experimentDescription', default='')),
1619
+ ('experiment_name', sgqlc.types.Arg(sgqlc.types.non_null(String), graphql_name='experimentName', default=None)),
1620
+ ('visibility', sgqlc.types.Arg(sgqlc.types.non_null(VisibilityOptions), graphql_name='visibility', default='PRIVATE')),
1621
+ ))
1622
+ )
1623
+ '''Arguments:
1624
+
1625
+ * `experiment_description` (`String`)None (default: `""`)
1626
+ * `experiment_name` (`String!`)None
1627
+ * `visibility` (`VisibilityOptions!`)None (default: `PRIVATE`)
1628
+ '''
1629
+
1617
1630
  create_local_job = sgqlc.types.Field(sgqlc.types.non_null(ExecutionJob), graphql_name='createLocalJob', args=sgqlc.types.ArgDict((
1618
1631
  ('experiment_name', sgqlc.types.Arg(sgqlc.types.non_null(String), graphql_name='experimentName', default=None)),
1619
1632
  ('job_name', sgqlc.types.Arg(String, graphql_name='jobName', default=None)),
@@ -147,8 +147,8 @@ def _log_object_src(
147
147
  finally:
148
148
  sys.path = old_python_path
149
149
  for module in set(sys.modules) - set(old_sys_modules):
150
- if hasattr(sys.modules[module], __file__):
151
- if str(Path(*parts[:-2])) in sys.modules[module].__file__:
150
+ if hasattr(sys.modules[module], "__file__"):
151
+ if sys.modules[module].__file__ and str(Path(*parts[:-2])) in sys.modules[module].__file__:
152
152
  sys.modules.pop(module)
153
153
 
154
154
  if additional_local_packages:
@@ -12,7 +12,6 @@ list_executor_version = executor.list_executor_version
12
12
  get_model_version = model.get_model_version
13
13
  rebuild_model_version_image = model.rebuild_model_version_image
14
14
  print_model_schema_for_executor = executor.print_model_schema_for_executor
15
- generate_model_params_for_executor = executor.generate_model_params_for_executor
16
15
  print_dataset_loader_schema = dataset_loader.print_dataset_loader_schema
17
16
  print_executor_schema = executor.print_executor_schema
18
17
  print_executor_roles = executor.print_executor_roles
@@ -41,6 +40,7 @@ set_experiment_description = experiment.set_experiment_description
41
40
  delete_experiment_tag = experiment.delete_experiment_tag
42
41
  get_experiment_by_id = experiment.get_experiment_by_name
43
42
  get_experiment_by_name = experiment.get_experiment_by_name
43
+ create_experiment = experiment.create_experiment
44
44
  ModelMethodParams = parameters.ModelMethodParams
45
45
  ModelVersionChoice = parameters.ModelVersionChoice
46
46
  ModelForm = parameters.ModelForm
@@ -1,4 +1,4 @@
1
- from typing import List, Optional, Union
1
+ from typing import List, Optional
2
2
 
3
3
  import pandas as pd
4
4
  from sgqlc.operation import Operation
@@ -10,8 +10,7 @@ from ML_management.graphql.send_graphql_request import send_graphql_request
10
10
  from ML_management.mlmanagement.visibility_options import VisibilityOptions
11
11
  from ML_management.model.model_type_to_methods_map import ModelMethodName
12
12
  from ML_management.sdk.model import get_latest_model_version
13
- from ML_management.sdk.parameters import AnyModelForm, ModelMethodParams, ModelVersionChoice, ModelWithRole
14
- from ML_management.sdk.sdk import _generate_fake_schema, _print_params_by_schema, _to_datetime
13
+ from ML_management.sdk.sdk import _print_params_by_schema, _to_datetime
15
14
 
16
15
 
17
16
  def list_executor() -> pd.DataFrame:
@@ -313,136 +312,6 @@ def _get_model_schema_for_executor(executor_name: str, executor_version: Optiona
313
312
  return json_data["executorVersionFromNameVersion"]["jobJsonSchemaForModels"]["listRoleModelMethodSchemas"]
314
313
 
315
314
 
316
- def generate_model_params_for_executor(
317
- executor_name: str, models: List[dict], executor_version: Optional[int] = None
318
- ) -> Union[List[ModelMethodParams], AnyModelForm]:
319
- """
320
- Return example of model's methods parameters for executor.
321
-
322
- Parameters
323
- ----------
324
- executor_name: str
325
- Name of the executor.
326
- models: List[dict]
327
- Necessary information about the model.
328
-
329
- Example1::
330
-
331
- [
332
- {"name": "simple_model"}
333
- ];
334
-
335
- Example2::
336
-
337
- [
338
- {
339
- "name": "model_name1", # str
340
- "role": "role1", # Optional[str]
341
- "version": version # Optional[int]
342
- },
343
- {
344
- "name": "model_name2", # str
345
- "role": "role2", # Optional[str]
346
- "version": version # Optional[int]
347
- }
348
- ]
349
-
350
- executor_version: Optional[int] = None
351
- Version of the executor. Default: None, "latest" version is used.
352
-
353
- Returns
354
- -------
355
- List[ModelMethodParams]:
356
- Example of model's methods parameters in case simple executor.
357
- Example output::
358
-
359
- [
360
- ModelMethodParams(
361
- method=ModelMethodName.evaluate_function,
362
- params={key1: value1, key2: value2}
363
- )
364
- ]
365
-
366
- AnyModelForm:
367
- Example of models parameter for add_ml_job function.
368
- Example::
369
-
370
- AnyModelForm(
371
- models=[
372
- ModelWithRole(
373
- role="role_one",
374
- model_version_choice=ModelVersionChoice(
375
- name="model_1_name",
376
- version=1
377
- )
378
- params=[
379
- ModelMethodParams(
380
- method=ModelMethodName.evaluate_function,
381
- params={key1: value1, key2: value2}
382
- ),
383
- ModelMethodParams(
384
- method=ModelMethodName.finetune_function,
385
- params={key1: value1, key2: value2}
386
- )
387
- ]
388
- ),
389
- ModelWithRole(
390
- role="role_two",
391
- model_version_choice=ModelVersionChoice(
392
- name="model_2_name",
393
- version=1
394
- )
395
- params=[
396
- ModelMethodParams(
397
- method=ModelMethodName.evaluate_function,
398
- params={key1: value1, key2: value2}
399
- ),
400
- ModelMethodParams(
401
- method=ModelMethodName.finetune_function,
402
- params={key1: value1, key2: value2}
403
- )
404
- ]
405
- ),
406
- ]
407
- )
408
-
409
- """
410
- models_methods_schemas = _get_model_schema_for_executor(
411
- executor_name=executor_name,
412
- executor_version=executor_version,
413
- models=models,
414
- )
415
-
416
- sdk_models = []
417
-
418
- for model_methods_schemas in models_methods_schemas:
419
- list_model_params = []
420
- for model_methods_schema in model_methods_schemas["listMethodSchemas"]:
421
- list_model_params.append(
422
- ModelMethodParams(
423
- method=ModelMethodName(model_methods_schema["schemaName"]),
424
- params=_generate_fake_schema(model_methods_schema["jsonSchema"]),
425
- )
426
- )
427
- if len(models_methods_schemas) == 1:
428
- return list_model_params
429
- role = model_methods_schemas["role"]
430
- for model in models:
431
- if model["role"] == role:
432
- model_name = model["name"]
433
- model_version = model.get("version", None)
434
- break
435
- current_model = ModelWithRole(
436
- role=role,
437
- model_version_choice=ModelVersionChoice(name=model_name, version=model_version),
438
- params=list_model_params,
439
- )
440
-
441
- sdk_models.append(current_model)
442
-
443
- return AnyModelForm(models=sdk_models)
444
-
445
-
446
315
  def print_executor_schema(name: str, version: Optional[int] = None) -> None:
447
316
  """
448
317
  Print executor schema.
@@ -160,3 +160,35 @@ def get_experiment_by_id(experiment_id: int) -> Experiment:
160
160
 
161
161
  experiment = send_graphql_request(op=op)
162
162
  return experiment["experimentFromId"]
163
+
164
+
165
+ def create_experiment(
166
+ experiment_name: str, experiment_description: str = "", visibility: VisibilityOptions = VisibilityOptions.PRIVATE
167
+ ) -> Experiment:
168
+ """
169
+ Create experiment with given name and description.
170
+
171
+ Parameters
172
+ ----------
173
+ experiment_name: str
174
+ Name of the experiment.
175
+ experiment_description: str = ""
176
+ Description of the experiment. Default: "".
177
+ visibility: VisibilityOptions
178
+ Visibility of experiment. Default: PRIVATE.
179
+
180
+ Returns
181
+ -------
182
+ Experiment
183
+ Instance of an experiment with meta information.
184
+ """
185
+ op = Operation(schema.Mutation)
186
+ create_experiment = op.create_experiment(
187
+ experiment_name=experiment_name, experiment_description=experiment_description, visibility=visibility.name
188
+ )
189
+ create_experiment.name()
190
+ create_experiment.description()
191
+
192
+ experiment = send_graphql_request(op=op, json_response=False)
193
+
194
+ return experiment.create_experiment
@@ -16,6 +16,7 @@ from ML_management.graphql import schema
16
16
  from ML_management.graphql.schema import ExecutionJob, Param
17
17
  from ML_management.graphql.send_graphql_request import send_graphql_request
18
18
  from ML_management.mlmanagement import get_server_url
19
+ from ML_management.mlmanagement.log_api import _raise_error
19
20
  from ML_management.mlmanagement.visibility_options import VisibilityOptions
20
21
  from ML_management.sdk.model import get_latest_model_version
21
22
  from ML_management.sdk.parameters import AnyDatasetLoaderForm, AnyModelForm, DatasetLoaderForm, ModelForm
@@ -314,6 +315,7 @@ def _get_logs(job_type: JobType, params: Dict[str, Any], stream: bool = True, fi
314
315
  return
315
316
 
316
317
  with AuthSession().get(url, stream=True) as resp:
318
+ _raise_error(resp)
317
319
  if file_name:
318
320
  with open(file_name, "a") as f:
319
321
  for line in resp.iter_lines():
@@ -3,7 +3,6 @@ import json
3
3
  from typing import Dict, List
4
4
 
5
5
  import pandas as pd
6
- from jsf import JSF
7
6
 
8
7
 
9
8
  def _to_datetime(df: pd.DataFrame, column_names: List[str]) -> pd.DataFrame:
@@ -28,20 +27,8 @@ def _to_datetime(df: pd.DataFrame, column_names: List[str]) -> pd.DataFrame:
28
27
  return df
29
28
 
30
29
 
31
- def _generate_fake_schema(json_schema: dict) -> dict:
32
- if "required" not in json_schema.keys():
33
- return {}
34
-
35
- required_properties = {key: json_schema["properties"][key] for key in json_schema["required"]}
36
- json_schema["properties"] = required_properties
37
-
38
- faker = JSF(json_schema)
39
- fake_json = faker.generate()
40
- return fake_json
41
-
42
-
43
30
  def _print_params_by_schema(json_schema: Dict, schema_type: str) -> None:
44
- """Print entity JSON Schema and example with required params."""
31
+ """Print entity JSON Schema with required params."""
45
32
  properties_and_required_dict = {key: json_schema[key] for key in ("properties", "required") if key in json_schema}
46
33
 
47
34
  json_formatted_str = json.dumps(properties_and_required_dict, indent=2)
@@ -51,7 +38,3 @@ def _print_params_by_schema(json_schema: Dict, schema_type: str) -> None:
51
38
  print(json_formatted_str)
52
39
 
53
40
  print(f"{schema_type} parameters example:")
54
-
55
- fake_json = _generate_fake_schema(json_schema)
56
-
57
- print(fake_json)
@@ -14,7 +14,6 @@ from ML_management.sdk.parameters import (
14
14
  AnyModelForm,
15
15
  DatasetLoaderForm,
16
16
  DatasetLoaderMethodParams,
17
- ModelMethodParams,
18
17
  ModelVersionChoice,
19
18
  ModelWithRole,
20
19
  )
@@ -148,23 +147,6 @@ class TestSDK(unittest.TestCase):
148
147
  executor_name=NAME, models=[{"name": NAME, "version": VERSION, "role": ROLE}], executor_version=VERSION
149
148
  )
150
149
 
151
- def test_generate_model_params_for_executor(self):
152
- """Test sdk.generate_model_params_for_executor method returns correct answer."""
153
- model_params = ML_management.sdk.executor.generate_model_params_for_executor(
154
- executor_name=NAME, models=[{"name": NAME, "version": VERSION, "role": ROLE}], executor_version=VERSION
155
- )
156
- self.assertTrue(isinstance(model_params, list) or isinstance(model_params, AnyModelForm))
157
- if isinstance(model_params, list):
158
- for model in model_params:
159
- self.assertIsInstance(model, ModelMethodParams)
160
- else:
161
- self.assertGreaterEqual(len(model_params.models), 1)
162
- self.assertEqual(model_params.models[0].role, ROLE)
163
- self.assertEqual(NAME, model_params.models[0].model_version_choice.name)
164
- self.assertIsInstance(model_params.models[0].params, list)
165
- self.assertGreaterEqual(len(model_params.models[0].params), 1)
166
- self.assertIsInstance(model_params.models[0].params[0], ModelMethodParams)
167
-
168
150
  def test_print_datasetloader_schema(self):
169
151
  """Test a successful sdk.print_datasetloader_schema call."""
170
152
  ML_management.sdk.dataset_loader.print_dataset_loader_schema(name=NAME, version=VERSION)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ml-management
3
- Version: 0.6.3rc11
3
+ Version: 0.6.3rc13
4
4
  Summary: Python implementation of model pattern, dataset
5
5
  Author-Email: ISPRAS MODIS <modis@ispras.ru>
6
6
  Maintainer: Maxim Ryndin
@@ -10,8 +10,7 @@ Requires-Dist: boto3<2,>1
10
10
  Requires-Dist: aioboto3<14,>=13
11
11
  Requires-Dist: jsonschema<5,>=4.18
12
12
  Requires-Dist: tqdm<5,>=4.66.6
13
- Requires-Dist: pydantic<2,>=1
14
- Requires-Dist: jsf==0.7.1
13
+ Requires-Dist: pydantic<3,>=1.10
15
14
  Requires-Dist: pylint<4,>=3
16
15
  Requires-Dist: httpx<1
17
16
  Requires-Dist: websocket-client<2,>1
@@ -11,8 +11,7 @@ dependencies = [
11
11
  "aioboto3>=13,<14",
12
12
  "jsonschema>=4.18,<5",
13
13
  "tqdm>=4.66.6,<5",
14
- "pydantic>=1,<2",
15
- "jsf==0.7.1",
14
+ "pydantic>=1.10,<3",
16
15
  "pylint>=3,<4",
17
16
  "httpx<1",
18
17
  "websocket-client>1,<2",
@@ -26,7 +25,7 @@ readme = "README.md"
26
25
  maintainers = [
27
26
  { name = "Maxim Ryndin" },
28
27
  ]
29
- version = "0.6.3rc11"
28
+ version = "0.6.3rc13"
30
29
 
31
30
  [build-system]
32
31
  requires = [
@@ -35,5 +34,5 @@ requires = [
35
34
  build-backend = "pdm.backend"
36
35
 
37
36
  [tool.pdm.version]
38
- source = "call"
39
- getter = "ML_management.version:get_version"
37
+ source = "file"
38
+ path = "ML_management/__init__.py"
@@ -1,3 +0,0 @@
1
- from ML_management.version import get_version
2
-
3
- __version__ = get_version()
@@ -1,6 +0,0 @@
1
- def get_version():
2
- try:
3
- with open("./VERSION", encoding="utf-8") as f:
4
- return f.read()
5
- except Exception:
6
- return "unknown"