modelscope-api 0.0.2__tar.gz → 0.0.3__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 (47) hide show
  1. {modelscope_api-0.0.2/src/modelscope_api.egg-info → modelscope_api-0.0.3}/PKG-INFO +1 -1
  2. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/pyproject.toml +1 -1
  3. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/config.py +6 -0
  4. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/models/studio/studio.py +32 -0
  5. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/models/studio/studio_client.py +2 -1
  6. {modelscope_api-0.0.2 → modelscope_api-0.0.3/src/modelscope_api.egg-info}/PKG-INFO +1 -1
  7. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/LICENSE +0 -0
  8. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/README.md +0 -0
  9. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/setup.cfg +0 -0
  10. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/__init__.py +0 -0
  11. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/data_models/__init__.py +0 -0
  12. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/data_models/base.py +0 -0
  13. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/data_models/collection/__init__.py +0 -0
  14. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/data_models/collection/collection.py +0 -0
  15. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/data_models/collection/collection_item.py +0 -0
  16. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/data_models/magicube/__init__.py +0 -0
  17. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/data_models/magicube/magicube_blance.py +0 -0
  18. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/data_models/studio/__init__.py +0 -0
  19. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/data_models/studio/base_image.py +0 -0
  20. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/data_models/studio/environment_variable.py +0 -0
  21. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/data_models/studio/hardware.py +0 -0
  22. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/data_models/studio/logs.py +0 -0
  23. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/data_models/studio/sdk.py +0 -0
  24. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/data_models/studio/studio.py +0 -0
  25. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/data_models/user/__init__.py +0 -0
  26. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/data_models/user/user.py +0 -0
  27. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/exceptions.py +0 -0
  28. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/models/__init__.py +0 -0
  29. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/models/_sub_client.py +0 -0
  30. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/models/collection/__init__.py +0 -0
  31. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/models/collection/collection.py +0 -0
  32. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/models/collection/collection_client.py +0 -0
  33. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/models/collection/collection_item.py +0 -0
  34. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/models/collection/collection_item_client.py +0 -0
  35. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/models/magicube/__init__.py +0 -0
  36. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/models/magicube/magicube_client.py +0 -0
  37. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/models/modelscope_client.py +0 -0
  38. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/models/studio/__init__.py +0 -0
  39. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/models/studio/environment_variable_client.py +0 -0
  40. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/models/user/__init__.py +0 -0
  41. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/models/user/user_client.py +0 -0
  42. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/utils/regex.py +0 -0
  43. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api/utils/typing.py +0 -0
  44. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api.egg-info/SOURCES.txt +0 -0
  45. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api.egg-info/dependency_links.txt +0 -0
  46. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api.egg-info/requires.txt +0 -0
  47. {modelscope_api-0.0.2 → modelscope_api-0.0.3}/src/modelscope_api.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modelscope-api
3
- Version: 0.0.2
3
+ Version: 0.0.3
4
4
  Summary: A Python async SDK that wraps the ModelScope API into a clean, type-safe interface.
5
5
  Author-email: Jerry <wujr24@m.fudan.edu.cn>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "modelscope-api" # 包名,保持与项目仓库名一致
7
- version = "0.0.2" # 当前版本
7
+ version = "0.0.3" # 当前版本
8
8
  description = "A Python async SDK that wraps the ModelScope API into a clean, type-safe interface." # 简短描述
9
9
  readme = "README.md" # 自述文件,PyPI 会将其渲染为项目首页
10
10
  authors = [{name = "Jerry", email = "wujr24@m.fudan.edu.cn"}] # 作者信息
@@ -28,3 +28,9 @@ MODELSCOPE_OPENAPI_BASE_URL: URL = URL(os.getenv(
28
28
  "MODELSCOPE_OPENAPI_BASE_URL",
29
29
  "https://modelscope.cn/openapi"
30
30
  ))
31
+
32
+ # 创空间 API 上级域名
33
+ STUDIO_API_DOMAIN: str = os.getenv(
34
+ "STUDIO_API_DOMAIN",
35
+ "api-inference.modelscope.net"
36
+ )
@@ -6,6 +6,10 @@ from __future__ import annotations
6
6
 
7
7
  from typing import Optional, TYPE_CHECKING
8
8
 
9
+ import httpx
10
+ from yarl import URL
11
+
12
+ from ...config import STUDIO_API_DOMAIN
9
13
  from ...utils.regex import STUDIO_ID_PATTERN
10
14
  from ...data_models.studio import (
11
15
  StudioInfo, StudioRuntimeInfo, StudioVisibility,
@@ -202,3 +206,31 @@ class Studio(SubClient):
202
206
  删除当前创空间。
203
207
  """
204
208
  await self.super_client.delete_studio(self.id)
209
+
210
+
211
+ # ==== 访问创空间 API ====
212
+
213
+ @property
214
+ def base_url(self) -> URL:
215
+ """
216
+ 创空间的 API 调用根域名,服务的基础访问入口,不带接口路径。
217
+ """
218
+ host = (
219
+ "studio-"
220
+ f"{self.owner.lower()}-"
221
+ f"{self.repo_name.lower()}."
222
+ f"{STUDIO_API_DOMAIN}"
223
+ ).replace('_', '-')
224
+ return URL.build(scheme="https", host=host)
225
+
226
+
227
+ async def request_studio_api(self, subpath: Optional[str] = None, **kwargs) -> httpx.Response:
228
+ """
229
+ 调用当前创空间的 API。
230
+ """
231
+ if subpath is None:
232
+ api_url = self.base_url
233
+ else:
234
+ api_url = self.base_url / subpath
235
+ kwargs["url"] = str(api_url)
236
+ return await self.super_client.modelscope_client.request(**kwargs)
@@ -32,8 +32,9 @@ class StudioClient(SubClient):
32
32
  api_prefix="studio",
33
33
  openapi_prefix: str = "studios",
34
34
  ):
35
+ self.modelscope_client = modelscope_client
35
36
  super().__init__(
36
- super_client=modelscope_client,
37
+ super_client=self.modelscope_client,
37
38
  api_prefix=api_prefix,
38
39
  openapi_prefix=openapi_prefix
39
40
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modelscope-api
3
- Version: 0.0.2
3
+ Version: 0.0.3
4
4
  Summary: A Python async SDK that wraps the ModelScope API into a clean, type-safe interface.
5
5
  Author-email: Jerry <wujr24@m.fudan.edu.cn>
6
6
  License: MIT
File without changes
File without changes
File without changes