vectorvein 0.1.95__tar.gz → 0.2.1__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 (63) hide show
  1. vectorvein-0.2.1/PKG-INFO +170 -0
  2. vectorvein-0.2.1/README.md +144 -0
  3. {vectorvein-0.1.95 → vectorvein-0.2.1}/pyproject.toml +3 -1
  4. vectorvein-0.2.1/src/vectorvein/api/__init__.py +36 -0
  5. vectorvein-0.2.1/src/vectorvein/api/client.py +827 -0
  6. vectorvein-0.2.1/src/vectorvein/api/exceptions.py +41 -0
  7. vectorvein-0.2.1/src/vectorvein/api/models.py +74 -0
  8. vectorvein-0.1.95/PKG-INFO +0 -26
  9. vectorvein-0.1.95/README.md +0 -1
  10. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/__init__.py +0 -0
  11. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/chat_clients/__init__.py +0 -0
  12. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/chat_clients/anthropic_client.py +0 -0
  13. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/chat_clients/baichuan_client.py +0 -0
  14. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/chat_clients/base_client.py +0 -0
  15. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/chat_clients/deepseek_client.py +0 -0
  16. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/chat_clients/gemini_client.py +0 -0
  17. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/chat_clients/groq_client.py +0 -0
  18. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/chat_clients/local_client.py +0 -0
  19. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/chat_clients/minimax_client.py +0 -0
  20. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/chat_clients/mistral_client.py +0 -0
  21. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/chat_clients/moonshot_client.py +0 -0
  22. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/chat_clients/openai_client.py +0 -0
  23. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/chat_clients/openai_compatible_client.py +0 -0
  24. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/chat_clients/py.typed +0 -0
  25. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/chat_clients/qwen_client.py +0 -0
  26. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/chat_clients/stepfun_client.py +0 -0
  27. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/chat_clients/utils.py +0 -0
  28. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/chat_clients/xai_client.py +0 -0
  29. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/chat_clients/yi_client.py +0 -0
  30. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/chat_clients/zhipuai_client.py +0 -0
  31. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/py.typed +0 -0
  32. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/server/token_server.py +0 -0
  33. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/settings/__init__.py +0 -0
  34. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/settings/py.typed +0 -0
  35. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/types/defaults.py +0 -0
  36. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/types/enums.py +0 -0
  37. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/types/exception.py +0 -0
  38. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/types/llm_parameters.py +0 -0
  39. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/types/py.typed +0 -0
  40. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/utilities/media_processing.py +0 -0
  41. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/utilities/rate_limiter.py +0 -0
  42. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/utilities/retry.py +0 -0
  43. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/workflow/graph/edge.py +0 -0
  44. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/workflow/graph/node.py +0 -0
  45. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/workflow/graph/port.py +0 -0
  46. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/workflow/graph/workflow.py +0 -0
  47. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/workflow/nodes/__init__.py +0 -0
  48. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/workflow/nodes/audio_generation.py +0 -0
  49. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/workflow/nodes/control_flows.py +0 -0
  50. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/workflow/nodes/file_processing.py +0 -0
  51. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/workflow/nodes/image_generation.py +0 -0
  52. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/workflow/nodes/llms.py +0 -0
  53. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/workflow/nodes/media_editing.py +0 -0
  54. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/workflow/nodes/media_processing.py +0 -0
  55. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/workflow/nodes/output.py +0 -0
  56. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/workflow/nodes/relational_db.py +0 -0
  57. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/workflow/nodes/text_processing.py +0 -0
  58. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/workflow/nodes/tools.py +0 -0
  59. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/workflow/nodes/triggers.py +0 -0
  60. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/workflow/nodes/vector_db.py +0 -0
  61. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/workflow/nodes/video_generation.py +0 -0
  62. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/workflow/nodes/web_crawlers.py +0 -0
  63. {vectorvein-0.1.95 → vectorvein-0.2.1}/src/vectorvein/workflow/utils/json_to_code.py +0 -0
@@ -0,0 +1,170 @@
1
+ Metadata-Version: 2.1
2
+ Name: vectorvein
3
+ Version: 0.2.1
4
+ Summary: VectorVein python SDK
5
+ Author-Email: Anderson <andersonby@163.com>
6
+ License: MIT
7
+ Requires-Python: >=3.10
8
+ Requires-Dist: openai>=1.37.1
9
+ Requires-Dist: tiktoken>=0.7.0
10
+ Requires-Dist: httpx>=0.27.0
11
+ Requires-Dist: anthropic[bedrock,vertex]>=0.31.2
12
+ Requires-Dist: pydantic>=2.8.2
13
+ Requires-Dist: Pillow>=10.4.0
14
+ Requires-Dist: deepseek-tokenizer>=0.1.0
15
+ Requires-Dist: qwen-tokenizer>=0.2.0
16
+ Requires-Dist: google-auth>=2.35.0
17
+ Requires-Dist: pycryptodome>=3.21.0
18
+ Provides-Extra: server
19
+ Requires-Dist: fastapi; extra == "server"
20
+ Requires-Dist: uvicorn; extra == "server"
21
+ Provides-Extra: redis
22
+ Requires-Dist: redis; extra == "redis"
23
+ Provides-Extra: diskcache
24
+ Requires-Dist: diskcache; extra == "diskcache"
25
+ Description-Content-Type: text/markdown
26
+
27
+ # 向量脉络 API 包
28
+
29
+ 这是一个用于调用向量脉络官方API的Python包装器。它提供了简单易用的接口来访问向量脉络的工作流和VApp功能。
30
+
31
+ ## 安装
32
+
33
+ ```bash
34
+ pip install -r requirements.txt
35
+ ```
36
+
37
+ ## 使用示例
38
+
39
+ ### 初始化客户端
40
+
41
+ ```python
42
+ from vectorvein.api import VectorVeinClient
43
+
44
+ # 创建客户端实例
45
+ client = VectorVeinClient(api_key="YOUR_API_KEY")
46
+ ```
47
+
48
+ ### 运行工作流
49
+
50
+ ```python
51
+ from vectorvein.api import WorkflowInputField
52
+
53
+ # 准备工作流输入字段
54
+ input_fields = [
55
+ WorkflowInputField(
56
+ node_id="8fc6eceb-8599-46a7-87fe-58bf7c0b633e",
57
+ field_name="商品名称",
58
+ value="测试商品"
59
+ )
60
+ ]
61
+
62
+ # 异步运行工作流
63
+ rid = client.run_workflow(
64
+ wid="abcde0985736457aa72cc667f17bfc89",
65
+ input_fields=input_fields,
66
+ wait_for_completion=False
67
+ )
68
+ print(f"工作流运行ID: {rid}")
69
+
70
+ # 同步运行工作流
71
+ result = client.run_workflow(
72
+ wid="abcde0985736457aa72cc667f17bfc89",
73
+ input_fields=input_fields,
74
+ wait_for_completion=True
75
+ )
76
+ print(f"工作流运行结果: {result}")
77
+ ```
78
+
79
+ ### 管理访问密钥
80
+
81
+ ```python
82
+ # 创建访问密钥
83
+ keys = client.create_access_keys(
84
+ access_key_type="L", # L: 长期, M: 多次, O: 一次性
85
+ app_id="YOUR_APP_ID",
86
+ count=1,
87
+ max_credits=500,
88
+ description="测试密钥"
89
+ )
90
+ print(f"创建的访问密钥: {keys}")
91
+
92
+ # 获取访问密钥信息
93
+ keys = client.get_access_keys(["ACCESS_KEY_1", "ACCESS_KEY_2"])
94
+ print(f"访问密钥信息: {keys}")
95
+
96
+ # 列出访问密钥
97
+ response = client.list_access_keys(
98
+ page=1,
99
+ page_size=10,
100
+ sort_field="create_time",
101
+ sort_order="descend"
102
+ )
103
+ print(f"访问密钥列表: {response}")
104
+
105
+ # 更新访问密钥
106
+ client.update_access_keys(
107
+ access_key="ACCESS_KEY",
108
+ description="更新的描述"
109
+ )
110
+
111
+ # 删除访问密钥
112
+ client.delete_access_keys(
113
+ app_id="YOUR_APP_ID",
114
+ access_keys=["ACCESS_KEY_1", "ACCESS_KEY_2"]
115
+ )
116
+ ```
117
+
118
+ ### 生成VApp访问链接
119
+
120
+ ```python
121
+ url = client.generate_vapp_url(
122
+ app_id="YOUR_APP_ID",
123
+ access_key="YOUR_ACCESS_KEY",
124
+ key_id="YOUR_KEY_ID"
125
+ )
126
+ print(f"VApp访问链接: {url}")
127
+ ```
128
+
129
+ ## API文档
130
+
131
+ ### VectorVeinClient
132
+
133
+ 主要的API客户端类,提供以下方法:
134
+
135
+ - `run_workflow()` - 运行工作流
136
+ - `check_workflow_status()` - 检查工作流运行状态
137
+ - `get_access_keys()` - 获取访问密钥信息
138
+ - `create_access_keys()` - 创建访问密钥
139
+ - `list_access_keys()` - 列出访问密钥
140
+ - `delete_access_keys()` - 删除访问密钥
141
+ - `update_access_keys()` - 更新访问密钥
142
+ - `add_apps_to_access_keys()` - 向访问密钥添加应用
143
+ - `remove_apps_from_access_keys()` - 从访问密钥移除应用
144
+ - `generate_vapp_url()` - 生成VApp访问链接
145
+
146
+ ### 数据模型
147
+
148
+ - `VApp` - VApp信息
149
+ - `AccessKey` - 访问密钥信息
150
+ - `WorkflowInputField` - 工作流输入字段
151
+ - `WorkflowOutput` - 工作流输出结果
152
+ - `WorkflowRunResult` - 工作流运行结果
153
+ - `AccessKeyListResponse` - 访问密钥列表响应
154
+
155
+ ### 异常类
156
+
157
+ - `VectorVeinAPIError` - API基础异常类
158
+ - `APIKeyError` - API密钥相关错误
159
+ - `WorkflowError` - 工作流相关错误
160
+ - `AccessKeyError` - 访问密钥相关错误
161
+ - `RequestError` - 请求相关错误
162
+ - `TimeoutError` - 超时错误
163
+
164
+ ## 注意事项
165
+
166
+ 1. 请妥善保管您的API密钥,不要将其泄露给他人。
167
+ 2. API调用有速率限制,每分钟最多60次调用。
168
+ 3. 建议在生产环境中使用异步方式运行工作流,避免长时间等待。
169
+ 4. 访问密钥的类型一旦创建就不能更改,请谨慎选择。
170
+ 5. 生成的VApp访问链接有效期默认为15分钟,请及时使用。
@@ -0,0 +1,144 @@
1
+ # 向量脉络 API 包
2
+
3
+ 这是一个用于调用向量脉络官方API的Python包装器。它提供了简单易用的接口来访问向量脉络的工作流和VApp功能。
4
+
5
+ ## 安装
6
+
7
+ ```bash
8
+ pip install -r requirements.txt
9
+ ```
10
+
11
+ ## 使用示例
12
+
13
+ ### 初始化客户端
14
+
15
+ ```python
16
+ from vectorvein.api import VectorVeinClient
17
+
18
+ # 创建客户端实例
19
+ client = VectorVeinClient(api_key="YOUR_API_KEY")
20
+ ```
21
+
22
+ ### 运行工作流
23
+
24
+ ```python
25
+ from vectorvein.api import WorkflowInputField
26
+
27
+ # 准备工作流输入字段
28
+ input_fields = [
29
+ WorkflowInputField(
30
+ node_id="8fc6eceb-8599-46a7-87fe-58bf7c0b633e",
31
+ field_name="商品名称",
32
+ value="测试商品"
33
+ )
34
+ ]
35
+
36
+ # 异步运行工作流
37
+ rid = client.run_workflow(
38
+ wid="abcde0985736457aa72cc667f17bfc89",
39
+ input_fields=input_fields,
40
+ wait_for_completion=False
41
+ )
42
+ print(f"工作流运行ID: {rid}")
43
+
44
+ # 同步运行工作流
45
+ result = client.run_workflow(
46
+ wid="abcde0985736457aa72cc667f17bfc89",
47
+ input_fields=input_fields,
48
+ wait_for_completion=True
49
+ )
50
+ print(f"工作流运行结果: {result}")
51
+ ```
52
+
53
+ ### 管理访问密钥
54
+
55
+ ```python
56
+ # 创建访问密钥
57
+ keys = client.create_access_keys(
58
+ access_key_type="L", # L: 长期, M: 多次, O: 一次性
59
+ app_id="YOUR_APP_ID",
60
+ count=1,
61
+ max_credits=500,
62
+ description="测试密钥"
63
+ )
64
+ print(f"创建的访问密钥: {keys}")
65
+
66
+ # 获取访问密钥信息
67
+ keys = client.get_access_keys(["ACCESS_KEY_1", "ACCESS_KEY_2"])
68
+ print(f"访问密钥信息: {keys}")
69
+
70
+ # 列出访问密钥
71
+ response = client.list_access_keys(
72
+ page=1,
73
+ page_size=10,
74
+ sort_field="create_time",
75
+ sort_order="descend"
76
+ )
77
+ print(f"访问密钥列表: {response}")
78
+
79
+ # 更新访问密钥
80
+ client.update_access_keys(
81
+ access_key="ACCESS_KEY",
82
+ description="更新的描述"
83
+ )
84
+
85
+ # 删除访问密钥
86
+ client.delete_access_keys(
87
+ app_id="YOUR_APP_ID",
88
+ access_keys=["ACCESS_KEY_1", "ACCESS_KEY_2"]
89
+ )
90
+ ```
91
+
92
+ ### 生成VApp访问链接
93
+
94
+ ```python
95
+ url = client.generate_vapp_url(
96
+ app_id="YOUR_APP_ID",
97
+ access_key="YOUR_ACCESS_KEY",
98
+ key_id="YOUR_KEY_ID"
99
+ )
100
+ print(f"VApp访问链接: {url}")
101
+ ```
102
+
103
+ ## API文档
104
+
105
+ ### VectorVeinClient
106
+
107
+ 主要的API客户端类,提供以下方法:
108
+
109
+ - `run_workflow()` - 运行工作流
110
+ - `check_workflow_status()` - 检查工作流运行状态
111
+ - `get_access_keys()` - 获取访问密钥信息
112
+ - `create_access_keys()` - 创建访问密钥
113
+ - `list_access_keys()` - 列出访问密钥
114
+ - `delete_access_keys()` - 删除访问密钥
115
+ - `update_access_keys()` - 更新访问密钥
116
+ - `add_apps_to_access_keys()` - 向访问密钥添加应用
117
+ - `remove_apps_from_access_keys()` - 从访问密钥移除应用
118
+ - `generate_vapp_url()` - 生成VApp访问链接
119
+
120
+ ### 数据模型
121
+
122
+ - `VApp` - VApp信息
123
+ - `AccessKey` - 访问密钥信息
124
+ - `WorkflowInputField` - 工作流输入字段
125
+ - `WorkflowOutput` - 工作流输出结果
126
+ - `WorkflowRunResult` - 工作流运行结果
127
+ - `AccessKeyListResponse` - 访问密钥列表响应
128
+
129
+ ### 异常类
130
+
131
+ - `VectorVeinAPIError` - API基础异常类
132
+ - `APIKeyError` - API密钥相关错误
133
+ - `WorkflowError` - 工作流相关错误
134
+ - `AccessKeyError` - 访问密钥相关错误
135
+ - `RequestError` - 请求相关错误
136
+ - `TimeoutError` - 超时错误
137
+
138
+ ## 注意事项
139
+
140
+ 1. 请妥善保管您的API密钥,不要将其泄露给他人。
141
+ 2. API调用有速率限制,每分钟最多60次调用。
142
+ 3. 建议在生产环境中使用异步方式运行工作流,避免长时间等待。
143
+ 4. 访问密钥的类型一旦创建就不能更改,请谨慎选择。
144
+ 5. 生成的VApp访问链接有效期默认为15分钟,请及时使用。
@@ -12,12 +12,13 @@ dependencies = [
12
12
  "deepseek-tokenizer>=0.1.0",
13
13
  "qwen-tokenizer>=0.2.0",
14
14
  "google-auth>=2.35.0",
15
+ "pycryptodome>=3.21.0",
15
16
  ]
16
17
  description = "VectorVein python SDK"
17
18
  name = "vectorvein"
18
19
  readme = "README.md"
19
20
  requires-python = ">=3.10"
20
- version = "0.1.95"
21
+ version = "0.2.1"
21
22
 
22
23
  [project.license]
23
24
  text = "MIT"
@@ -55,4 +56,5 @@ env_file = ".env"
55
56
  [dependency-groups]
56
57
  dev = [
57
58
  "types-redis>=4.6.0.20241004",
59
+ "pytest>=8.3.4",
58
60
  ]
@@ -0,0 +1,36 @@
1
+ """向量脉络 API 包"""
2
+
3
+ from .client import VectorVeinClient, AsyncVectorVeinClient
4
+ from .models import (
5
+ VApp,
6
+ AccessKey,
7
+ WorkflowInputField,
8
+ WorkflowOutput,
9
+ WorkflowRunResult,
10
+ AccessKeyListResponse,
11
+ )
12
+ from .exceptions import (
13
+ VectorVeinAPIError,
14
+ APIKeyError,
15
+ WorkflowError,
16
+ AccessKeyError,
17
+ RequestError,
18
+ TimeoutError,
19
+ )
20
+
21
+ __all__ = [
22
+ "VectorVeinClient",
23
+ "AsyncVectorVeinClient",
24
+ "VApp",
25
+ "AccessKey",
26
+ "WorkflowInputField",
27
+ "WorkflowOutput",
28
+ "WorkflowRunResult",
29
+ "AccessKeyListResponse",
30
+ "VectorVeinAPIError",
31
+ "APIKeyError",
32
+ "WorkflowError",
33
+ "AccessKeyError",
34
+ "RequestError",
35
+ "TimeoutError",
36
+ ]