vision-agent 0.2.96__tar.gz → 0.2.97__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. {vision_agent-0.2.96 → vision_agent-0.2.97}/PKG-INFO +2 -2
  2. {vision_agent-0.2.96 → vision_agent-0.2.97}/pyproject.toml +2 -2
  3. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/tools/tools.py +10 -14
  4. {vision_agent-0.2.96 → vision_agent-0.2.97}/LICENSE +0 -0
  5. {vision_agent-0.2.96 → vision_agent-0.2.97}/README.md +0 -0
  6. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/__init__.py +0 -0
  7. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/agent/__init__.py +0 -0
  8. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/agent/agent.py +0 -0
  9. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/agent/agent_utils.py +0 -0
  10. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/agent/vision_agent.py +0 -0
  11. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/agent/vision_agent_coder.py +0 -0
  12. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/agent/vision_agent_coder_prompts.py +0 -0
  13. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/agent/vision_agent_prompts.py +0 -0
  14. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/fonts/__init__.py +0 -0
  15. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/fonts/default_font_ch_en.ttf +0 -0
  16. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/lmm/__init__.py +0 -0
  17. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/lmm/lmm.py +0 -0
  18. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/lmm/types.py +0 -0
  19. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/tools/__init__.py +0 -0
  20. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/tools/meta_tools.py +0 -0
  21. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/tools/prompts.py +0 -0
  22. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/tools/tool_utils.py +0 -0
  23. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/utils/__init__.py +0 -0
  24. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/utils/exceptions.py +0 -0
  25. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/utils/execute.py +0 -0
  26. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/utils/image_utils.py +0 -0
  27. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/utils/sim.py +0 -0
  28. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/utils/type_defs.py +0 -0
  29. {vision_agent-0.2.96 → vision_agent-0.2.97}/vision_agent/utils/video.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vision-agent
3
- Version: 0.2.96
3
+ Version: 0.2.97
4
4
  Summary: Toolset for Vision Agent
5
5
  Author: Landing AI
6
6
  Author-email: dev@landing.ai
@@ -11,7 +11,7 @@ Classifier: Programming Language :: Python :: 3.10
11
11
  Classifier: Programming Language :: Python :: 3.11
12
12
  Requires-Dist: anthropic (>=0.31.0,<0.32.0)
13
13
  Requires-Dist: e2b (>=0.17.1,<0.18.0)
14
- Requires-Dist: e2b-code-interpreter (==0.0.11a17)
14
+ Requires-Dist: e2b-code-interpreter (==0.0.11a27)
15
15
  Requires-Dist: ipykernel (>=6.29.4,<7.0.0)
16
16
  Requires-Dist: langsmith (>=0.1.58,<0.2.0)
17
17
  Requires-Dist: moviepy (>=1.0.0,<2.0.0)
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
4
4
 
5
5
  [tool.poetry]
6
6
  name = "vision-agent"
7
- version = "0.2.96"
7
+ version = "0.2.97"
8
8
  description = "Toolset for Vision Agent"
9
9
  authors = ["Landing AI <dev@landing.ai>"]
10
10
  readme = "README.md"
@@ -35,7 +35,7 @@ rich = "^13.7.1"
35
35
  langsmith = "^0.1.58"
36
36
  ipykernel = "^6.29.4"
37
37
  e2b = "^0.17.1"
38
- e2b-code-interpreter = "0.0.11a17"
38
+ e2b-code-interpreter = "0.0.11a27"
39
39
  tenacity = "^8.3.0"
40
40
  pillow-heif = "^0.16.0"
41
41
  pytube = "15.0.0"
@@ -9,6 +9,7 @@ from typing import Any, Dict, List, Optional, Tuple, Union, cast
9
9
  import cv2
10
10
  import numpy as np
11
11
  import requests
12
+ from moviepy.editor import ImageSequenceClip
12
13
  from PIL import Image, ImageDraw, ImageFont
13
14
  from pillow_heif import register_heif_opener # type: ignore
14
15
  from pytube import YouTube # type: ignore
@@ -1063,20 +1064,15 @@ def save_video(
1063
1064
  _LOGGER.warning(f"Invalid fps value: {fps}. Setting fps to 4 (default value).")
1064
1065
  fps = 4
1065
1066
 
1066
- if not output_video_path:
1067
- output_video_path = tempfile.NamedTemporaryFile(
1068
- suffix=".mp4", delete=False
1069
- ).name
1070
-
1071
- height, width, layers = frames[0].shape if frames else (0, 0, 0)
1072
- fourcc = cv2.VideoWriter_fourcc(*"mp4v") # type: ignore
1073
- video = cv2.VideoWriter(output_video_path, fourcc, fps, (width, height))
1074
- for frame in frames:
1075
- video.write(cv2.cvtColor(frame, cv2.COLOR_RGB2BGR))
1076
- video.release()
1077
-
1078
- _save_video_to_result(output_video_path)
1079
- return output_video_path
1067
+ with ImageSequenceClip(frames, fps=fps) as video:
1068
+ if output_video_path:
1069
+ f = open(output_video_path, "wb")
1070
+ else:
1071
+ f = tempfile.NamedTemporaryFile(suffix=".mp4", delete=False) # type: ignore
1072
+ video.write_videofile(f.name, codec="libx264")
1073
+ f.close()
1074
+ _save_video_to_result(f.name)
1075
+ return f.name
1080
1076
 
1081
1077
 
1082
1078
  def _save_video_to_result(video_uri: str) -> None:
File without changes
File without changes