vectorvein 0.2.22__tar.gz → 0.2.24__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 (64) hide show
  1. {vectorvein-0.2.22 → vectorvein-0.2.24}/PKG-INFO +7 -3
  2. {vectorvein-0.2.22 → vectorvein-0.2.24}/pyproject.toml +9 -3
  3. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/chat_clients/anthropic_client.py +10 -3
  4. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/settings/__init__.py +7 -1
  5. {vectorvein-0.2.22 → vectorvein-0.2.24}/README.md +0 -0
  6. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/__init__.py +0 -0
  7. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/api/__init__.py +0 -0
  8. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/api/client.py +0 -0
  9. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/api/exceptions.py +0 -0
  10. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/api/models.py +0 -0
  11. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/chat_clients/__init__.py +0 -0
  12. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/chat_clients/baichuan_client.py +0 -0
  13. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/chat_clients/base_client.py +0 -0
  14. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/chat_clients/deepseek_client.py +0 -0
  15. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/chat_clients/ernie_client.py +0 -0
  16. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/chat_clients/gemini_client.py +0 -0
  17. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/chat_clients/groq_client.py +0 -0
  18. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/chat_clients/local_client.py +0 -0
  19. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/chat_clients/minimax_client.py +0 -0
  20. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/chat_clients/mistral_client.py +0 -0
  21. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/chat_clients/moonshot_client.py +0 -0
  22. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/chat_clients/openai_client.py +0 -0
  23. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/chat_clients/openai_compatible_client.py +0 -0
  24. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/chat_clients/py.typed +0 -0
  25. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/chat_clients/qwen_client.py +0 -0
  26. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/chat_clients/stepfun_client.py +0 -0
  27. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/chat_clients/utils.py +0 -0
  28. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/chat_clients/xai_client.py +0 -0
  29. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/chat_clients/yi_client.py +0 -0
  30. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/chat_clients/zhipuai_client.py +0 -0
  31. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/py.typed +0 -0
  32. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/server/token_server.py +0 -0
  33. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/settings/py.typed +0 -0
  34. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/types/__init__.py +0 -0
  35. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/types/defaults.py +0 -0
  36. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/types/enums.py +0 -0
  37. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/types/exception.py +0 -0
  38. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/types/llm_parameters.py +0 -0
  39. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/types/py.typed +0 -0
  40. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/types/settings.py +0 -0
  41. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/utilities/media_processing.py +0 -0
  42. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/utilities/rate_limiter.py +0 -0
  43. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/utilities/retry.py +0 -0
  44. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/workflow/graph/edge.py +0 -0
  45. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/workflow/graph/node.py +0 -0
  46. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/workflow/graph/port.py +0 -0
  47. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/workflow/graph/workflow.py +0 -0
  48. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/workflow/nodes/__init__.py +0 -0
  49. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/workflow/nodes/audio_generation.py +0 -0
  50. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/workflow/nodes/control_flows.py +0 -0
  51. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/workflow/nodes/file_processing.py +0 -0
  52. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/workflow/nodes/image_generation.py +0 -0
  53. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/workflow/nodes/llms.py +0 -0
  54. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/workflow/nodes/media_editing.py +0 -0
  55. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/workflow/nodes/media_processing.py +0 -0
  56. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/workflow/nodes/output.py +0 -0
  57. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/workflow/nodes/relational_db.py +0 -0
  58. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/workflow/nodes/text_processing.py +0 -0
  59. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/workflow/nodes/tools.py +0 -0
  60. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/workflow/nodes/triggers.py +0 -0
  61. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/workflow/nodes/vector_db.py +0 -0
  62. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/workflow/nodes/video_generation.py +0 -0
  63. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/workflow/nodes/web_crawlers.py +0 -0
  64. {vectorvein-0.2.22 → vectorvein-0.2.24}/src/vectorvein/workflow/utils/json_to_code.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vectorvein
3
- Version: 0.2.22
3
+ Version: 0.2.24
4
4
  Summary: VectorVein Python SDK
5
5
  Author-Email: Anderson <andersonby@163.com>
6
6
  License: MIT
@@ -8,12 +8,11 @@ Requires-Python: >=3.10
8
8
  Requires-Dist: openai>=1.37.1
9
9
  Requires-Dist: tiktoken>=0.7.0
10
10
  Requires-Dist: httpx>=0.27.0
11
- Requires-Dist: anthropic[bedrock,vertex]>=0.47.1
11
+ Requires-Dist: anthropic>=0.47.1
12
12
  Requires-Dist: pydantic>=2.8.2
13
13
  Requires-Dist: Pillow>=10.4.0
14
14
  Requires-Dist: deepseek-tokenizer>=0.1.0
15
15
  Requires-Dist: qwen-tokenizer>=0.2.0
16
- Requires-Dist: google-auth>=2.35.0
17
16
  Requires-Dist: pycryptodome>=3.21.0
18
17
  Provides-Extra: server
19
18
  Requires-Dist: fastapi; extra == "server"
@@ -22,6 +21,11 @@ Provides-Extra: redis
22
21
  Requires-Dist: redis; extra == "redis"
23
22
  Provides-Extra: diskcache
24
23
  Requires-Dist: diskcache; extra == "diskcache"
24
+ Provides-Extra: vertex
25
+ Requires-Dist: anthropic[vertex]; extra == "vertex"
26
+ Requires-Dist: google-auth>=2.35.0; extra == "vertex"
27
+ Provides-Extra: bedrock
28
+ Requires-Dist: anthropic[bedrock]; extra == "bedrock"
25
29
  Description-Content-Type: text/markdown
26
30
 
27
31
  # 向量脉络 API 包
@@ -6,19 +6,18 @@ dependencies = [
6
6
  "openai>=1.37.1",
7
7
  "tiktoken>=0.7.0",
8
8
  "httpx>=0.27.0",
9
- "anthropic[vertex,bedrock]>=0.47.1",
9
+ "anthropic>=0.47.1",
10
10
  "pydantic>=2.8.2",
11
11
  "Pillow>=10.4.0",
12
12
  "deepseek-tokenizer>=0.1.0",
13
13
  "qwen-tokenizer>=0.2.0",
14
- "google-auth>=2.35.0",
15
14
  "pycryptodome>=3.21.0",
16
15
  ]
17
16
  description = "VectorVein Python SDK"
18
17
  name = "vectorvein"
19
18
  readme = "README.md"
20
19
  requires-python = ">=3.10"
21
- version = "0.2.22"
20
+ version = "0.2.24"
22
21
 
23
22
  [project.license]
24
23
  text = "MIT"
@@ -34,6 +33,13 @@ redis = [
34
33
  diskcache = [
35
34
  "diskcache",
36
35
  ]
36
+ vertex = [
37
+ "anthropic[vertex]",
38
+ "google-auth>=2.35.0",
39
+ ]
40
+ bedrock = [
41
+ "anthropic[bedrock]",
42
+ ]
37
43
 
38
44
  [build-system]
39
45
  build-backend = "pdm.backend"
@@ -47,9 +47,6 @@ from anthropic.types import (
47
47
  RawContentBlockStartEvent,
48
48
  RawContentBlockDeltaEvent,
49
49
  )
50
- from google.oauth2.credentials import Credentials
51
- from google.auth.transport.requests import Request
52
- from google.auth import _helpers
53
50
 
54
51
  from ..types import defaults as defs
55
52
  from .utils import cutoff_messages, get_message_token_counts
@@ -217,6 +214,11 @@ class AnthropicChatClient(BaseChatClient):
217
214
  if self.endpoint.is_vertex or self.endpoint.endpoint_type == "anthropic_vertex":
218
215
  if self.endpoint.credentials is None:
219
216
  raise ValueError("Anthropic Vertex endpoint requires credentials")
217
+
218
+ from google.auth import _helpers
219
+ from google.oauth2.credentials import Credentials
220
+ from google.auth.transport.requests import Request
221
+
220
222
  self.creds = Credentials(
221
223
  token=self.endpoint.credentials.get("token"),
222
224
  refresh_token=self.endpoint.credentials.get("refresh_token"),
@@ -750,6 +752,11 @@ class AsyncAnthropicChatClient(BaseAsyncChatClient):
750
752
  if self.endpoint.is_vertex or self.endpoint.endpoint_type == "anthropic_vertex":
751
753
  if self.endpoint.credentials is None:
752
754
  raise ValueError("Anthropic Vertex endpoint requires credentials")
755
+
756
+ from google.auth import _helpers
757
+ from google.oauth2.credentials import Credentials
758
+ from google.auth.transport.requests import Request
759
+
753
760
  self.creds = Credentials(
754
761
  token=self.endpoint.credentials.get("token"),
755
762
  refresh_token=self.endpoint.credentials.get("refresh_token"),
@@ -148,6 +148,12 @@ class Settings(BaseModel):
148
148
  backends[model_type] = BackendSettings(models=default_models)
149
149
 
150
150
  for endpoint in data.get("endpoints", []):
151
+ if endpoint.get("is_azure"):
152
+ endpoint["endpoint_type"] = "openai_azure"
153
+ if endpoint.get("is_vertex"):
154
+ endpoint["endpoint_type"] = "anthropic_vertex"
155
+ if endpoint.get("is_bedrock"):
156
+ endpoint["endpoint_type"] = "anthropic_bedrock"
151
157
  if not endpoint.get("api_base"):
152
158
  continue
153
159
  api_base = endpoint["api_base"]
@@ -159,7 +165,7 @@ class Settings(BaseModel):
159
165
 
160
166
  def load(self, settings: SettingsDict | "Settings"):
161
167
  if isinstance(settings, Settings):
162
- settings_dict = settings.model_dump()
168
+ settings_dict = settings.export()
163
169
  else:
164
170
  settings_dict = settings
165
171
  self.__init__(**settings_dict)
File without changes