analytic-workspace-client 1.31.3__tar.gz → 1.31.4__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.
Files changed (46) hide show
  1. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/PKG-INFO +2 -2
  2. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/setup.py +2 -2
  3. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/analytic_workspace_client.egg-info/PKG-INFO +2 -2
  4. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/analytic_workspace_client.egg-info/requires.txt +1 -1
  5. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/data_master/base.py +2 -2
  6. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/data_master/v0.py +9 -5
  7. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/data_master/v1.py +4 -4
  8. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/data_master/v2.py +12 -4
  9. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/session.py +23 -11
  10. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/README.md +0 -0
  11. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/pyproject.toml +0 -0
  12. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/setup.cfg +0 -0
  13. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/analytic_workspace_client.egg-info/SOURCES.txt +0 -0
  14. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/analytic_workspace_client.egg-info/dependency_links.txt +0 -0
  15. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/analytic_workspace_client.egg-info/top_level.txt +0 -0
  16. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/__init__.py +0 -0
  17. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/cache.py +0 -0
  18. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/core/__init__.py +0 -0
  19. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/core/bundle.py +0 -0
  20. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/core/compiler.py +0 -0
  21. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/core/model_vault.py +0 -0
  22. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/core/spark.py +0 -0
  23. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/data_master/__init__.py +0 -0
  24. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/domain.py +0 -0
  25. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/etl_blocks/__init__.py +0 -0
  26. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/etl_blocks/application.py +0 -0
  27. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/etl_blocks/dto.py +0 -0
  28. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/etl_blocks/runtime.py +0 -0
  29. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/etl_blocks/services.py +0 -0
  30. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/etl_blocks/test_data.py +0 -0
  31. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/etl_blocks/tools.py +0 -0
  32. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/exceptions.py +0 -0
  33. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/ml/__init__.py +0 -0
  34. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/ml/mlflow_wrapper.py +0 -0
  35. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/model_dev/__init__.py +0 -0
  36. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/model_dev/application.py +0 -0
  37. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/model_dev/cache.py +0 -0
  38. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/model_dev/runner.py +0 -0
  39. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/model_dev/virtual_objects.py +0 -0
  40. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/models/__init__.py +0 -0
  41. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/models/model_schema.py +0 -0
  42. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_client/tools.py +0 -0
  43. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_etl/__init__.py +0 -0
  44. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_etl/compiler.py +0 -0
  45. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_etl/etl_blocks.py +0 -0
  46. {analytic_workspace_client-1.31.3 → analytic_workspace_client-1.31.4}/src/aw_etl/models.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: analytic_workspace_client
3
- Version: 1.31.3
3
+ Version: 1.31.4
4
4
  Summary: Библиотека для подключения к Analytic Workspace
5
5
  Home-page: https://analyticworkspace.ru/
6
6
  Author: Analytic Workspace
@@ -15,7 +15,7 @@ Requires-Dist: httpx<1.0,>=0.25
15
15
  Requires-Dist: pandas
16
16
  Requires-Dist: pydantic>=2.0
17
17
  Requires-Dist: colorama<0.5,>=0.4
18
- Requires-Dist: jwt==1.3.1
18
+ Requires-Dist: pyjwt==2.10.1
19
19
  Provides-Extra: dev
20
20
  Requires-Dist: pyspark==3.5.1; extra == "dev"
21
21
  Requires-Dist: pytest<8.3,>=8.2; extra == "dev"
@@ -10,7 +10,7 @@ long_description = (here / "README.md").read_text(encoding="utf-8")
10
10
 
11
11
  setup(
12
12
  name='analytic_workspace_client',
13
- version='1.31.3',
13
+ version='1.31.4',
14
14
 
15
15
  description='Библиотека для подключения к Analytic Workspace',
16
16
  long_description=long_description,
@@ -38,7 +38,7 @@ setup(
38
38
  'pandas',
39
39
  'pydantic>=2.0',
40
40
  'colorama>=0.4,<0.5',
41
- 'jwt==1.3.1',
41
+ 'pyjwt==2.10.1',
42
42
  ],
43
43
 
44
44
  extras_require={
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: analytic_workspace_client
3
- Version: 1.31.3
3
+ Version: 1.31.4
4
4
  Summary: Библиотека для подключения к Analytic Workspace
5
5
  Home-page: https://analyticworkspace.ru/
6
6
  Author: Analytic Workspace
@@ -15,7 +15,7 @@ Requires-Dist: httpx<1.0,>=0.25
15
15
  Requires-Dist: pandas
16
16
  Requires-Dist: pydantic>=2.0
17
17
  Requires-Dist: colorama<0.5,>=0.4
18
- Requires-Dist: jwt==1.3.1
18
+ Requires-Dist: pyjwt==2.10.1
19
19
  Provides-Extra: dev
20
20
  Requires-Dist: pyspark==3.5.1; extra == "dev"
21
21
  Requires-Dist: pytest<8.3,>=8.2; extra == "dev"
@@ -3,7 +3,7 @@ httpx<1.0,>=0.25
3
3
  pandas
4
4
  pydantic>=2.0
5
5
  colorama<0.5,>=0.4
6
- jwt==1.3.1
6
+ pyjwt==2.10.1
7
7
 
8
8
  [dev]
9
9
  pyspark==3.5.1
@@ -30,11 +30,11 @@ class DataMasterApi(metaclass=abc.ABCMeta):
30
30
  """ """
31
31
 
32
32
  @abc.abstractmethod
33
- def model_schema(self, model_id: int) -> ModelSchema:
33
+ def model_schema(self, model_id: int, **options) -> ModelSchema:
34
34
  """ """
35
35
 
36
36
  @abc.abstractmethod
37
- def load_model_object_data(self, folder: Path, model_id: int, model_object_name: str, limit: Optional[int]):
37
+ def load_model_object_data(self, folder: Path, model_id: int, model_object_name: str, limit: Optional[int], **options):
38
38
  """ """
39
39
 
40
40
  @contextmanager
@@ -13,7 +13,11 @@ class DataMasterV0(DataMasterApi):
13
13
 
14
14
  def load_model(self, model_id: int, **options) -> pandas.DataFrame:
15
15
  """ """
16
- with self.get_http_client() as client:
16
+ http_client_options = {}
17
+ if 'verify' in options:
18
+ http_client_options['verify'] = options['verify']
19
+
20
+ with self.get_http_client(**http_client_options) as client:
17
21
  url = f"data-master/v0/model/data?model_id={model_id}&format=csv"
18
22
  r = client.get(url, timeout=None)
19
23
  if not r.is_success:
@@ -21,9 +25,9 @@ class DataMasterV0(DataMasterApi):
21
25
 
22
26
  return pandas.read_csv(io.StringIO(r.content.decode("utf-8")))
23
27
 
24
- def model_schema(self, model_id: int) -> ModelSchema:
25
- raise WrongDataMasterApiVersion(f'Получение схемы модели доступно для AW с версии 1.19')
28
+ def model_schema(self, model_id: int, **options) -> ModelSchema:
29
+ raise WrongDataMasterApiVersion('Получение схемы модели доступно для AW с версии 1.19')
26
30
 
27
- def load_model_object_data(self, folder: Path, model_id: int, model_object_name: str, limit: Optional[int]):
31
+ def load_model_object_data(self, folder: Path, model_id: int, model_object_name: str, limit: Optional[int], **options):
28
32
  """ """
29
- raise WrongDataMasterApiVersion(f'Получение данных объекта модели доступно для AW с версии 1.19')
33
+ raise WrongDataMasterApiVersion('Получение данных объекта модели доступно для AW с версии 1.19')
@@ -63,9 +63,9 @@ class DataMasterV1(DataMasterApi):
63
63
 
64
64
  return df
65
65
 
66
- def model_schema(self, model_id: int) -> ModelSchema:
67
- raise WrongDataMasterApiVersion(f'Получение схемы модели доступно для Analytic Workspace с версии 1.19')
66
+ def model_schema(self, model_id: int, **options) -> ModelSchema:
67
+ raise WrongDataMasterApiVersion('Получение схемы модели доступно для Analytic Workspace с версии 1.19')
68
68
 
69
- def load_model_object_data(self, folder: Path, model_id: int, model_object_name: str, limit: Optional[int]):
69
+ def load_model_object_data(self, folder: Path, model_id: int, model_object_name: str, limit: Optional[int], **options):
70
70
  """ """
71
- raise WrongDataMasterApiVersion(f'Получение данных объекта модели доступно для AW с версии 1.19')
71
+ raise WrongDataMasterApiVersion('Получение данных объекта модели доступно для AW с версии 1.19')
@@ -25,9 +25,13 @@ class DataMasterV2(DataMasterApi):
25
25
  def load_model(self, model_id: int, **options) -> pandas.DataFrame:
26
26
  return self.api_v1.load_model(model_id, **options)
27
27
 
28
- def model_schema(self, model_id: int) -> ModelSchema:
28
+ def model_schema(self, model_id: int, **options) -> ModelSchema:
29
29
  """ """
30
- with self.get_http_client() as client:
30
+ http_client_options = {}
31
+ if 'verify' in options:
32
+ http_client_options['verify'] = options['verify']
33
+
34
+ with self.get_http_client(**http_client_options) as client:
31
35
  r = client.get(url='data-master/v2/model/schema', params={'model_id': model_id})
32
36
  if not r.is_success:
33
37
  if r.status_code == 403:
@@ -36,9 +40,13 @@ class DataMasterV2(DataMasterApi):
36
40
 
37
41
  return ModelSchema.model_validate(r.json())
38
42
 
39
- def load_model_object_data(self, folder: Path, model_id: int, model_object_name: str, limit: Optional[int]):
43
+ def load_model_object_data(self, folder: Path, model_id: int, model_object_name: str, limit: Optional[int], **options):
40
44
  """ """
41
- with self.get_http_client() as client:
45
+ http_client_options = {}
46
+ if 'verify' in options:
47
+ http_client_options['verify'] = options['verify']
48
+
49
+ with self.get_http_client(**http_client_options) as client:
42
50
  params = {
43
51
  'model_id': model_id,
44
52
  'model_object_name': model_object_name
@@ -37,10 +37,10 @@ class Session:
37
37
  self.version = version if version is not None else None
38
38
  self._mlflow_wrapper = None
39
39
 
40
- def get_aw_version(self) -> int:
40
+ def get_aw_version(self, **options) -> int:
41
41
  """ """
42
42
  if self.version is None:
43
- with self.get_aw_client() as client:
43
+ with self.get_aw_client(**options) as client:
44
44
  r = client.get('data-master/_version')
45
45
  if r.is_success:
46
46
  self.version = r.json().get('version')
@@ -68,7 +68,11 @@ class Session:
68
68
  token=self.token
69
69
  )
70
70
 
71
- api, version = get_nearest_api(aw_version=self.get_aw_version(), api_config=api_config)
71
+ http_client_options = {}
72
+ if 'verify' in options:
73
+ http_client_options['verify'] = options['verify']
74
+
75
+ api, version = get_nearest_api(aw_version=self.get_aw_version(**http_client_options), api_config=api_config)
72
76
  if api is None:
73
77
  raise Session.Error(f'Не удалось получить API для версии AW {self.version}')
74
78
 
@@ -78,7 +82,7 @@ class Session:
78
82
 
79
83
  return df
80
84
 
81
- def model_schema(self, model_id: int) -> ModelSchema:
85
+ def model_schema(self, model_id: int, **options) -> ModelSchema:
82
86
  """ """
83
87
  if not self.aw_url:
84
88
  raise Session.Error('Не указан URL к Analytic Workspace (параметр aw_url)')
@@ -91,13 +95,17 @@ class Session:
91
95
  token=self.token
92
96
  )
93
97
 
94
- api, version = get_nearest_api(aw_version=self.get_aw_version(), api_config=api_config)
98
+ http_client_options = {}
99
+ if 'verify' in options:
100
+ http_client_options['verify'] = options['verify']
101
+
102
+ api, version = get_nearest_api(aw_version=self.get_aw_version(**http_client_options), api_config=api_config)
95
103
  if api is None:
96
104
  raise Session.Error(f'Не удалось получить API для версии AW {self.version}')
97
105
 
98
- return api.model_schema(model_id)
106
+ return api.model_schema(model_id, **options)
99
107
 
100
- def load_model_object_data(self, folder: Path, model_id: int, model_object_name: str, limit: Optional[int]):
108
+ def load_model_object_data(self, folder: Path, model_id: int, model_object_name: str, limit: Optional[int], **options):
101
109
  """ """
102
110
  if not self.aw_url:
103
111
  raise Session.Error('Не указан URL к Analytic Workspace (параметр aw_url)')
@@ -110,21 +118,25 @@ class Session:
110
118
  token=self.token
111
119
  )
112
120
 
113
- api, version = get_nearest_api(aw_version=self.get_aw_version(), api_config=api_config)
121
+ http_client_options = {}
122
+ if 'verify' in options:
123
+ http_client_options['verify'] = options['verify']
124
+
125
+ api, version = get_nearest_api(aw_version=self.get_aw_version(**http_client_options), api_config=api_config)
114
126
  if api is None:
115
127
  raise Session.Error(f'Не удалось получить API для версии AW {self.version}')
116
128
 
117
- return api.load_model_object_data(folder, model_id, model_object_name, limit)
129
+ return api.load_model_object_data(folder, model_id, model_object_name, limit, **options)
118
130
 
119
131
  @contextmanager
120
- def get_aw_client(self) -> httpx.Client:
132
+ def get_aw_client(self, **options) -> httpx.Client:
121
133
  """ """
122
134
  if not self.aw_url:
123
135
  raise Session.Error('Не указан URL к Analytic Workspace')
124
136
 
125
137
  headers = {"Authorization": f"Bearer {self.token}"}
126
138
 
127
- client = httpx.Client(base_url=self.aw_url, headers=headers)
139
+ client = httpx.Client(base_url=self.aw_url, headers=headers, **options)
128
140
 
129
141
  try:
130
142
  yield client