vectorvein 0.2.61__tar.gz → 0.2.63__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 (66) hide show
  1. {vectorvein-0.2.61 → vectorvein-0.2.63}/PKG-INFO +1 -1
  2. {vectorvein-0.2.61 → vectorvein-0.2.63}/pyproject.toml +1 -1
  3. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/graph/node.py +10 -6
  4. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/utils/json_to_code.py +11 -9
  5. {vectorvein-0.2.61 → vectorvein-0.2.63}/README.md +0 -0
  6. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/__init__.py +0 -0
  7. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/api/__init__.py +0 -0
  8. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/api/client.py +0 -0
  9. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/api/exceptions.py +0 -0
  10. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/api/models.py +0 -0
  11. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/chat_clients/__init__.py +0 -0
  12. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/chat_clients/anthropic_client.py +0 -0
  13. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/chat_clients/baichuan_client.py +0 -0
  14. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/chat_clients/base_client.py +0 -0
  15. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/chat_clients/deepseek_client.py +0 -0
  16. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/chat_clients/ernie_client.py +0 -0
  17. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/chat_clients/gemini_client.py +0 -0
  18. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/chat_clients/groq_client.py +0 -0
  19. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/chat_clients/local_client.py +0 -0
  20. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/chat_clients/minimax_client.py +0 -0
  21. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/chat_clients/mistral_client.py +0 -0
  22. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/chat_clients/moonshot_client.py +0 -0
  23. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/chat_clients/openai_client.py +0 -0
  24. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/chat_clients/openai_compatible_client.py +0 -0
  25. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/chat_clients/py.typed +0 -0
  26. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/chat_clients/qwen_client.py +0 -0
  27. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/chat_clients/stepfun_client.py +0 -0
  28. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/chat_clients/utils.py +0 -0
  29. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/chat_clients/xai_client.py +0 -0
  30. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/chat_clients/yi_client.py +0 -0
  31. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/chat_clients/zhipuai_client.py +0 -0
  32. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/py.typed +0 -0
  33. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/server/token_server.py +0 -0
  34. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/settings/__init__.py +0 -0
  35. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/settings/py.typed +0 -0
  36. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/types/__init__.py +0 -0
  37. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/types/defaults.py +0 -0
  38. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/types/enums.py +0 -0
  39. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/types/exception.py +0 -0
  40. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/types/llm_parameters.py +0 -0
  41. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/types/py.typed +0 -0
  42. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/types/settings.py +0 -0
  43. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/utilities/media_processing.py +0 -0
  44. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/utilities/rate_limiter.py +0 -0
  45. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/utilities/retry.py +0 -0
  46. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/graph/edge.py +0 -0
  47. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/graph/port.py +0 -0
  48. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/graph/workflow.py +0 -0
  49. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/nodes/__init__.py +0 -0
  50. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/nodes/audio_generation.py +0 -0
  51. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/nodes/control_flows.py +0 -0
  52. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/nodes/file_processing.py +0 -0
  53. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/nodes/image_generation.py +0 -0
  54. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/nodes/llms.py +0 -0
  55. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/nodes/media_editing.py +0 -0
  56. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/nodes/media_processing.py +0 -0
  57. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/nodes/output.py +0 -0
  58. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/nodes/relational_db.py +0 -0
  59. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/nodes/text_processing.py +0 -0
  60. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/nodes/tools.py +0 -0
  61. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/nodes/triggers.py +0 -0
  62. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/nodes/vector_db.py +0 -0
  63. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/nodes/video_generation.py +0 -0
  64. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/nodes/web_crawlers.py +0 -0
  65. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/utils/check.py +0 -0
  66. {vectorvein-0.2.61 → vectorvein-0.2.63}/src/vectorvein/workflow/utils/layout.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vectorvein
3
- Version: 0.2.61
3
+ Version: 0.2.63
4
4
  Summary: VectorVein Python SDK
5
5
  Author-Email: Anderson <andersonby@163.com>
6
6
  License: MIT
@@ -17,7 +17,7 @@ description = "VectorVein Python SDK"
17
17
  name = "vectorvein"
18
18
  readme = "README.md"
19
19
  requires-python = ">=3.10"
20
- version = "0.2.61"
20
+ version = "0.2.63"
21
21
 
22
22
  [project.license]
23
23
  text = "MIT"
@@ -1,10 +1,14 @@
1
1
  import uuid
2
- from typing import Dict, Any, Optional, List, Union
2
+ from typing import Dict, Any, Optional, List, Union, TYPE_CHECKING
3
3
 
4
- from .port import PortType, Port, InputPort, OutputPort
4
+ from .port import InputPort, OutputPort
5
5
 
6
6
 
7
- class PortsDict(Dict[str, Port]):
7
+ if TYPE_CHECKING:
8
+ from .port import PortType, Port
9
+
10
+
11
+ class PortsDict(Dict[str, "Port"]):
8
12
  """自定义字典类,用于管理节点的端口,并强制执行端口添加权限。"""
9
13
 
10
14
  def __init__(self, owner_node: "Node", *args, **kwargs):
@@ -12,7 +16,7 @@ class PortsDict(Dict[str, Port]):
12
16
  self._owner_node = owner_node
13
17
  self._initializing = True
14
18
 
15
- def __setitem__(self, key: str, value: Port) -> None:
19
+ def __setitem__(self, key: str, value: "Port") -> None:
16
20
  if self._initializing or key in self:
17
21
  super().__setitem__(key, value)
18
22
  return
@@ -40,7 +44,7 @@ class Node:
40
44
  category: str,
41
45
  task_name: str,
42
46
  description: str = "",
43
- ports: Optional[Dict[str, Any]] = None,
47
+ ports: Optional[Dict[str, "Port"]] = None,
44
48
  node_id: Optional[str] = None,
45
49
  position: Optional[Dict[str, float]] = None,
46
50
  seleted_workflow_title: str = "",
@@ -74,7 +78,7 @@ class Node:
74
78
  def add_port(
75
79
  self,
76
80
  name: str,
77
- port_type: Union[PortType, str],
81
+ port_type: Union["PortType", str],
78
82
  show: bool = False,
79
83
  value: Any = None,
80
84
  options: Optional[List[Any]] = None,
@@ -142,8 +142,8 @@ def generate_python_code(
142
142
  code.append("")
143
143
 
144
144
  # 生成节点实例化代码
145
- for info in node_instances.values():
146
- code.append(f"{info['var_name']} = {info['type']}()")
145
+ for node_info in node_instances.values():
146
+ code.append(f"{node_info['var_name']} = {node_info['type']}()")
147
147
 
148
148
  code.append("")
149
149
  code.append("workflow = Workflow()")
@@ -153,8 +153,8 @@ def generate_python_code(
153
153
  code.append(f"workflow.add_nodes([\n{'\n'.join(node_list)}\n])")
154
154
 
155
155
  code.append("")
156
- for info in node_instances.values():
157
- for port in info["add_ports"]:
156
+ for node_info in node_instances.values():
157
+ for port in node_info["add_ports"]:
158
158
  params = [
159
159
  f"name={to_python_str(port['name'])}",
160
160
  f"port_type={to_python_str(port['field_type'])}",
@@ -166,13 +166,15 @@ def generate_python_code(
166
166
  params.append(f"options={port['options']}")
167
167
  if port.get("is_output"):
168
168
  params.append(f"is_output={bool(port['is_output'])}")
169
- code.append(f"{info['var_name']}.add_port({', '.join(params)})")
169
+ if node_info["type"] == "ProgrammingFunction":
170
+ params.append(f'field_type="{port["type"]}"')
171
+ code.append(f"{node_info['var_name']}.add_port({', '.join(params)})")
170
172
 
171
- for port_name in info["show_ports"]:
172
- code.append(f"{info['var_name']}.ports['{port_name}'].show = True")
173
+ for port_name in node_info["show_ports"]:
174
+ code.append(f"{node_info['var_name']}.ports['{port_name}'].show = True")
173
175
 
174
- for port in info["values"]:
175
- code.append(f"{info['var_name']}.ports['{port['name']}'].value = {to_python_str(port['value'])}")
176
+ for port in node_info["values"]:
177
+ code.append(f"{node_info['var_name']}.ports['{port['name']}'].value = {to_python_str(port['value'])}")
176
178
 
177
179
  code.append("")
178
180
 
File without changes