use-computer 0.0.31__tar.gz → 0.0.32__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.
- {use_computer-0.0.31 → use_computer-0.0.32}/PKG-INFO +11 -26
- {use_computer-0.0.31 → use_computer-0.0.32}/README.md +6 -7
- {use_computer-0.0.31 → use_computer-0.0.32}/pyproject.toml +2 -7
- {use_computer-0.0.31 → use_computer-0.0.32}/scripts/smoke_wheel.py +50 -5
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/__init__.py +2 -8
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/harbor/agents.py +7 -1
- {use_computer-0.0.31 → use_computer-0.0.32}/uv.lock +5 -33
- {use_computer-0.0.31 → use_computer-0.0.32}/.env.example +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/.gitignore +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/.pre-commit-config.yaml +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/__init__.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/accessibility.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/base/__init__.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/base/actions.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/base/agent.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/base/artifacts.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/base/desktop.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/base/final_state.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/base/prompts.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/base/recordings.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/base/sandbox.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/base/screenshots.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/base/trajectory.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/core.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/debug/README.md +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/debug/__init__.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/debug/actions.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/debug/agent.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/debug/models.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/ios/__init__.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/ios/agent.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/ios/tools.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/prompts/anthropic.txt +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/prompts/gemini.txt +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/prompts/ios.txt +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/prompts/openai.txt +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/prompts/pyautogui.txt +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/providers/__init__.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/providers/anthropic.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/providers/gemini.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/providers/generic.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/providers/openai.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/agents/types.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/ax_transpile.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/client.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/display.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/errors.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/harbor/__init__.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/harbor/environment/__init__.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/harbor/environment/gateway.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/harbor/environment/platforms/__init__.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/harbor/environment/platforms/ios.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/harbor/environment/platforms/macos.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/harbor/environment/platforms/ubuntu.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/harbor/environment/platforms/windows.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/harbor/environment/setup_files.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/harbor/environment/use_computer.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/harbor/environment/utils/__init__.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/harbor/environment/utils/verifier.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/ios/__init__.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/ios/apps.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/ios/environment.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/ios/input.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/macos/__init__.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/macos/keyboard.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/macos/mouse.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/models.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/parsers.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/py.typed +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/recording.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/resources/__init__.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/resources/accessibility.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/resources/display.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/resources/recording.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/resources/screenshot.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/retry.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/sandbox.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/screenshot.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/simulators.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/__init__.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/templates/pre_command.ps1 +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/templates/pre_command.sh +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/templates/task.toml +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/templates/test_ios.sh +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/templates/test_ios_nograder.sh +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/templates/test_macos.sh +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/templates/test_macos_check.sh +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/templates/test_macos_nograder.sh +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/templates/test_ubuntu.sh +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/templates/test_ubuntu_check.sh +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/templates/test_ubuntu_nograder.sh +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/templates/test_windows.sh +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/templates/test_windows_check.sh +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/templates/test_windows_nograder.sh +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/windows/__init__.py +0 -0
- {use_computer-0.0.31 → use_computer-0.0.32}/use_computer/windows/shell.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: use-computer
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.32
|
|
4
4
|
Summary: Python SDK for use.computer sandboxes across macOS, iOS simulators, Windows, and Ubuntu
|
|
5
5
|
Project-URL: Homepage, https://use.computer
|
|
6
6
|
Project-URL: Documentation, https://api.use.computer/docs
|
|
@@ -19,25 +19,11 @@ Classifier: Typing :: Typed
|
|
|
19
19
|
Requires-Python: >=3.10
|
|
20
20
|
Requires-Dist: httpx>=0.27
|
|
21
21
|
Provides-Extra: agents
|
|
22
|
+
Requires-Dist: anthropic>=0.86; extra == 'agents'
|
|
23
|
+
Requires-Dist: google-genai>=1; extra == 'agents'
|
|
24
|
+
Requires-Dist: litellm>=1; extra == 'agents'
|
|
25
|
+
Requires-Dist: openai>=1; extra == 'agents'
|
|
22
26
|
Requires-Dist: pillow>=10; extra == 'agents'
|
|
23
|
-
Provides-Extra: agents-all
|
|
24
|
-
Requires-Dist: anthropic>=0.86; extra == 'agents-all'
|
|
25
|
-
Requires-Dist: google-genai>=1; extra == 'agents-all'
|
|
26
|
-
Requires-Dist: litellm>=1; extra == 'agents-all'
|
|
27
|
-
Requires-Dist: openai>=1; extra == 'agents-all'
|
|
28
|
-
Requires-Dist: pillow>=10; extra == 'agents-all'
|
|
29
|
-
Provides-Extra: agents-anthropic
|
|
30
|
-
Requires-Dist: anthropic>=0.86; extra == 'agents-anthropic'
|
|
31
|
-
Requires-Dist: pillow>=10; extra == 'agents-anthropic'
|
|
32
|
-
Provides-Extra: agents-gemini
|
|
33
|
-
Requires-Dist: google-genai>=1; extra == 'agents-gemini'
|
|
34
|
-
Requires-Dist: pillow>=10; extra == 'agents-gemini'
|
|
35
|
-
Provides-Extra: agents-litellm
|
|
36
|
-
Requires-Dist: litellm>=1; extra == 'agents-litellm'
|
|
37
|
-
Requires-Dist: pillow>=10; extra == 'agents-litellm'
|
|
38
|
-
Provides-Extra: agents-openai
|
|
39
|
-
Requires-Dist: openai>=1; extra == 'agents-openai'
|
|
40
|
-
Requires-Dist: pillow>=10; extra == 'agents-openai'
|
|
41
27
|
Provides-Extra: harbor
|
|
42
28
|
Requires-Dist: harbor>=0.4.0; (python_version >= '3.12') and extra == 'harbor'
|
|
43
29
|
Requires-Dist: pyyaml>=6; extra == 'harbor'
|
|
@@ -56,15 +42,14 @@ export USE_COMPUTER_API_KEY=mk_live_...
|
|
|
56
42
|
Optional agent and Harbor integrations are installed explicitly:
|
|
57
43
|
|
|
58
44
|
```bash
|
|
59
|
-
pip install "use-computer[agents]"
|
|
60
|
-
pip install "use-computer[
|
|
61
|
-
pip install "use-computer[harbor]"
|
|
62
|
-
pip install "use-computer[harbor,agents-all]" # Harbor adapter plus all provider deps
|
|
45
|
+
pip install "use-computer[agents]" # computer-use agents and provider SDKs
|
|
46
|
+
pip install "use-computer[harbor]" # Harbor environment adapter (Python 3.12+)
|
|
47
|
+
pip install "use-computer[harbor,agents]" # Harbor adapter plus agents
|
|
63
48
|
```
|
|
64
49
|
|
|
65
|
-
Base installs only the SDK client and `httpx`. The `agents
|
|
66
|
-
model-provider dependencies; `harbor` installs Harbor plus
|
|
67
|
-
adapter dependencies
|
|
50
|
+
Base installs only the SDK client and `httpx`. The `agents` extra installs the
|
|
51
|
+
agent runtime plus model-provider dependencies; `harbor` installs Harbor plus
|
|
52
|
+
the environment adapter dependencies.
|
|
68
53
|
|
|
69
54
|
```python
|
|
70
55
|
from use_computer.agents import AnthropicComputerAgent
|
|
@@ -10,15 +10,14 @@ export USE_COMPUTER_API_KEY=mk_live_...
|
|
|
10
10
|
Optional agent and Harbor integrations are installed explicitly:
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
|
-
pip install "use-computer[agents]"
|
|
14
|
-
pip install "use-computer[
|
|
15
|
-
pip install "use-computer[harbor]"
|
|
16
|
-
pip install "use-computer[harbor,agents-all]" # Harbor adapter plus all provider deps
|
|
13
|
+
pip install "use-computer[agents]" # computer-use agents and provider SDKs
|
|
14
|
+
pip install "use-computer[harbor]" # Harbor environment adapter (Python 3.12+)
|
|
15
|
+
pip install "use-computer[harbor,agents]" # Harbor adapter plus agents
|
|
17
16
|
```
|
|
18
17
|
|
|
19
|
-
Base installs only the SDK client and `httpx`. The `agents
|
|
20
|
-
model-provider dependencies; `harbor` installs Harbor plus
|
|
21
|
-
adapter dependencies
|
|
18
|
+
Base installs only the SDK client and `httpx`. The `agents` extra installs the
|
|
19
|
+
agent runtime plus model-provider dependencies; `harbor` installs Harbor plus
|
|
20
|
+
the environment adapter dependencies.
|
|
22
21
|
|
|
23
22
|
```python
|
|
24
23
|
from use_computer.agents import AnthropicComputerAgent
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "use-computer"
|
|
7
|
-
version = "0.0.
|
|
7
|
+
version = "0.0.32"
|
|
8
8
|
description = "Python SDK for use.computer sandboxes across macOS, iOS simulators, Windows, and Ubuntu"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -24,12 +24,7 @@ classifiers = [
|
|
|
24
24
|
]
|
|
25
25
|
|
|
26
26
|
[project.optional-dependencies]
|
|
27
|
-
agents = [
|
|
28
|
-
agents-openai = ["Pillow>=10", "openai>=1"]
|
|
29
|
-
agents-anthropic = ["Pillow>=10", "anthropic>=0.86"]
|
|
30
|
-
agents-litellm = ["Pillow>=10", "litellm>=1"]
|
|
31
|
-
agents-gemini = ["Pillow>=10", "google-genai>=1"]
|
|
32
|
-
agents-all = [
|
|
27
|
+
agents = [
|
|
33
28
|
"Pillow>=10",
|
|
34
29
|
"openai>=1",
|
|
35
30
|
"anthropic>=0.86",
|
|
@@ -32,9 +32,18 @@ import tempfile
|
|
|
32
32
|
from pathlib import Path
|
|
33
33
|
|
|
34
34
|
assert importlib.util.find_spec("PIL") is not None
|
|
35
|
+
for name in ["openai", "anthropic", "google.genai", "litellm"]:
|
|
36
|
+
assert importlib.util.find_spec(name) is not None, name
|
|
35
37
|
for path in ["use_computer.agents", "use_computer.agents.debug"]:
|
|
36
38
|
importlib.import_module(path)
|
|
37
39
|
|
|
40
|
+
from use_computer.agents import (
|
|
41
|
+
AnthropicComputerAgent,
|
|
42
|
+
GeminiComputerAgent,
|
|
43
|
+
GenericComputerAgent,
|
|
44
|
+
IOSComputerAgent,
|
|
45
|
+
OpenAIComputerAgent,
|
|
46
|
+
)
|
|
38
47
|
from use_computer.agents.debug import DebugComputerAgent
|
|
39
48
|
from use_computer.models import ExecResult
|
|
40
49
|
|
|
@@ -90,6 +99,15 @@ with tempfile.TemporaryDirectory() as tmp:
|
|
|
90
99
|
assert sandbox.mouse.clicks == [(960, 540, "left", False)]
|
|
91
100
|
assert sandbox.commands == ["echo hello world"]
|
|
92
101
|
assert result.final_message == "smoke"
|
|
102
|
+
|
|
103
|
+
for agent_cls, model_name in [
|
|
104
|
+
(AnthropicComputerAgent, "anthropic/claude-sonnet-4-6"),
|
|
105
|
+
(OpenAIComputerAgent, "openai/computer-use-preview"),
|
|
106
|
+
(GeminiComputerAgent, "gemini/gemini-2.5-computer-use-preview-10-2025"),
|
|
107
|
+
(GenericComputerAgent, "openai/gpt-4o"),
|
|
108
|
+
(IOSComputerAgent, "anthropic/claude-sonnet-4-6"),
|
|
109
|
+
]:
|
|
110
|
+
assert agent_cls(model_name=model_name, max_steps=1).max_steps == 1
|
|
93
111
|
"""
|
|
94
112
|
|
|
95
113
|
HARBOR_SMOKE = r"""
|
|
@@ -98,6 +116,13 @@ import importlib.util
|
|
|
98
116
|
|
|
99
117
|
for name in ["harbor", "yaml", "tomli"]:
|
|
100
118
|
assert importlib.util.find_spec(name) is not None, name
|
|
119
|
+
for path in ["use_computer.harbor", "use_computer.harbor.environment"]:
|
|
120
|
+
importlib.import_module(path)
|
|
121
|
+
"""
|
|
122
|
+
|
|
123
|
+
HARBOR_AGENTS_SMOKE = r"""
|
|
124
|
+
import importlib
|
|
125
|
+
|
|
101
126
|
for path in ["use_computer.harbor.environment", "use_computer.harbor.agents"]:
|
|
102
127
|
importlib.import_module(path)
|
|
103
128
|
"""
|
|
@@ -117,6 +142,7 @@ def main() -> None:
|
|
|
117
142
|
_smoke_install(wheel, None, BASE_SMOKE)
|
|
118
143
|
_smoke_install(wheel, "agents", AGENTS_SMOKE)
|
|
119
144
|
_smoke_install(wheel, "harbor", HARBOR_SMOKE)
|
|
145
|
+
_smoke_install(wheel, "harbor,agents", HARBOR_AGENTS_SMOKE)
|
|
120
146
|
|
|
121
147
|
|
|
122
148
|
def _check_wheel_contents(wheel: Path) -> None:
|
|
@@ -151,18 +177,25 @@ def _check_metadata(wheel: Path) -> None:
|
|
|
151
177
|
|
|
152
178
|
required = [
|
|
153
179
|
"Provides-Extra: agents",
|
|
154
|
-
"Provides-Extra: agents-openai",
|
|
155
|
-
"Provides-Extra: agents-anthropic",
|
|
156
|
-
"Provides-Extra: agents-litellm",
|
|
157
|
-
"Provides-Extra: agents-gemini",
|
|
158
|
-
"Provides-Extra: agents-all",
|
|
159
180
|
"Provides-Extra: harbor",
|
|
160
181
|
"Requires-Dist: pillow>=10; extra == 'agents'",
|
|
182
|
+
"Requires-Dist: openai>=1; extra == 'agents'",
|
|
183
|
+
"Requires-Dist: anthropic>=0.86; extra == 'agents'",
|
|
184
|
+
"Requires-Dist: litellm>=1; extra == 'agents'",
|
|
185
|
+
"Requires-Dist: google-genai>=1; extra == 'agents'",
|
|
161
186
|
]
|
|
162
187
|
missing = [line for line in required if line not in metadata]
|
|
163
188
|
if missing:
|
|
164
189
|
raise SystemExit(f"wheel metadata is missing: {missing}")
|
|
165
190
|
|
|
191
|
+
forbidden = [
|
|
192
|
+
f"Provides-Extra: agents-{name}"
|
|
193
|
+
for name in ("openai", "anthropic", "litellm", "gemini", "all")
|
|
194
|
+
]
|
|
195
|
+
present = [line for line in forbidden if line in metadata]
|
|
196
|
+
if present:
|
|
197
|
+
raise SystemExit(f"wheel metadata still has provider-specific extras: {present}")
|
|
198
|
+
|
|
166
199
|
harbor_lines = [
|
|
167
200
|
line for line in metadata.splitlines() if line.startswith("Requires-Dist: harbor>=0.4.0;")
|
|
168
201
|
]
|
|
@@ -171,6 +204,18 @@ def _check_metadata(wheel: Path) -> None:
|
|
|
171
204
|
):
|
|
172
205
|
raise SystemExit("wheel metadata is missing the Python 3.12+ Harbor extra")
|
|
173
206
|
|
|
207
|
+
forbidden_harbor_deps = [
|
|
208
|
+
line
|
|
209
|
+
for line in metadata.splitlines()
|
|
210
|
+
if "extra == 'harbor'" in line
|
|
211
|
+
and any(
|
|
212
|
+
f"Requires-Dist: {name}" in line
|
|
213
|
+
for name in ("pillow", "openai", "anthropic", "litellm", "google-genai")
|
|
214
|
+
)
|
|
215
|
+
]
|
|
216
|
+
if forbidden_harbor_deps:
|
|
217
|
+
raise SystemExit(f"harbor extra should not install agent deps: {forbidden_harbor_deps}")
|
|
218
|
+
|
|
174
219
|
|
|
175
220
|
def _smoke_install(wheel: Path, extra: str | None, code: str) -> None:
|
|
176
221
|
with tempfile.TemporaryDirectory(prefix="use-computer-wheel-") as tmp:
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
"""Optional computer-use agents.
|
|
2
2
|
|
|
3
|
-
Install
|
|
4
|
-
use-computer[agents-openai], use-computer[agents-anthropic],
|
|
5
|
-
use-computer[agents-litellm], use-computer[agents-gemini], or
|
|
6
|
-
use-computer[agents-all].
|
|
3
|
+
Install provider-backed agents with `use-computer[agents]`.
|
|
7
4
|
"""
|
|
8
5
|
|
|
9
6
|
from __future__ import annotations
|
|
@@ -48,10 +45,7 @@ def __getattr__(name: str) -> Any:
|
|
|
48
45
|
module = import_module(module_name)
|
|
49
46
|
except ModuleNotFoundError as exc:
|
|
50
47
|
raise ModuleNotFoundError(
|
|
51
|
-
f"{name} requires
|
|
52
|
-
"`use-computer[agents]`, `use-computer[agents-openai]`, "
|
|
53
|
-
"`use-computer[agents-anthropic]`, `use-computer[agents-litellm]`, "
|
|
54
|
-
"`use-computer[agents-gemini]`, or `use-computer[agents-all]`."
|
|
48
|
+
f"{name} requires optional agent dependencies. Install `use-computer[agents]`."
|
|
55
49
|
) from exc
|
|
56
50
|
value = getattr(module, attr)
|
|
57
51
|
globals()[name] = value
|
|
@@ -32,7 +32,13 @@ class _HarborAgent(BaseAgent):
|
|
|
32
32
|
mcp_servers=mcp_servers,
|
|
33
33
|
skills_dir=skills_dir,
|
|
34
34
|
)
|
|
35
|
-
|
|
35
|
+
try:
|
|
36
|
+
cls = getattr(import_module(self.agent_module), self.agent_name)
|
|
37
|
+
except ModuleNotFoundError as exc:
|
|
38
|
+
raise ModuleNotFoundError(
|
|
39
|
+
f"{type(self).__name__} requires agent dependencies. "
|
|
40
|
+
"Install `use-computer[harbor,agents]`."
|
|
41
|
+
) from exc
|
|
36
42
|
self._agent = cls(
|
|
37
43
|
logs_dir=logs_dir,
|
|
38
44
|
model_name=model_name,
|
|
@@ -4769,28 +4769,9 @@ dependencies = [
|
|
|
4769
4769
|
|
|
4770
4770
|
[package.optional-dependencies]
|
|
4771
4771
|
agents = [
|
|
4772
|
-
{ name = "pillow" },
|
|
4773
|
-
]
|
|
4774
|
-
agents-all = [
|
|
4775
|
-
{ name = "anthropic" },
|
|
4776
|
-
{ name = "google-genai" },
|
|
4777
|
-
{ name = "litellm" },
|
|
4778
|
-
{ name = "openai" },
|
|
4779
|
-
{ name = "pillow" },
|
|
4780
|
-
]
|
|
4781
|
-
agents-anthropic = [
|
|
4782
4772
|
{ name = "anthropic" },
|
|
4783
|
-
{ name = "pillow" },
|
|
4784
|
-
]
|
|
4785
|
-
agents-gemini = [
|
|
4786
4773
|
{ name = "google-genai" },
|
|
4787
|
-
{ name = "pillow" },
|
|
4788
|
-
]
|
|
4789
|
-
agents-litellm = [
|
|
4790
4774
|
{ name = "litellm" },
|
|
4791
|
-
{ name = "pillow" },
|
|
4792
|
-
]
|
|
4793
|
-
agents-openai = [
|
|
4794
4775
|
{ name = "openai" },
|
|
4795
4776
|
{ name = "pillow" },
|
|
4796
4777
|
]
|
|
@@ -4819,26 +4800,17 @@ dev = [
|
|
|
4819
4800
|
|
|
4820
4801
|
[package.metadata]
|
|
4821
4802
|
requires-dist = [
|
|
4822
|
-
{ name = "anthropic", marker = "extra == 'agents
|
|
4823
|
-
{ name = "
|
|
4824
|
-
{ name = "google-genai", marker = "extra == 'agents-all'", specifier = ">=1" },
|
|
4825
|
-
{ name = "google-genai", marker = "extra == 'agents-gemini'", specifier = ">=1" },
|
|
4803
|
+
{ name = "anthropic", marker = "extra == 'agents'", specifier = ">=0.86" },
|
|
4804
|
+
{ name = "google-genai", marker = "extra == 'agents'", specifier = ">=1" },
|
|
4826
4805
|
{ name = "harbor", marker = "python_full_version >= '3.12' and extra == 'harbor'", specifier = ">=0.4.0" },
|
|
4827
4806
|
{ name = "httpx", specifier = ">=0.27" },
|
|
4828
|
-
{ name = "litellm", marker = "extra == 'agents
|
|
4829
|
-
{ name = "
|
|
4830
|
-
{ name = "openai", marker = "extra == 'agents-all'", specifier = ">=1" },
|
|
4831
|
-
{ name = "openai", marker = "extra == 'agents-openai'", specifier = ">=1" },
|
|
4807
|
+
{ name = "litellm", marker = "extra == 'agents'", specifier = ">=1" },
|
|
4808
|
+
{ name = "openai", marker = "extra == 'agents'", specifier = ">=1" },
|
|
4832
4809
|
{ name = "pillow", marker = "extra == 'agents'", specifier = ">=10" },
|
|
4833
|
-
{ name = "pillow", marker = "extra == 'agents-all'", specifier = ">=10" },
|
|
4834
|
-
{ name = "pillow", marker = "extra == 'agents-anthropic'", specifier = ">=10" },
|
|
4835
|
-
{ name = "pillow", marker = "extra == 'agents-gemini'", specifier = ">=10" },
|
|
4836
|
-
{ name = "pillow", marker = "extra == 'agents-litellm'", specifier = ">=10" },
|
|
4837
|
-
{ name = "pillow", marker = "extra == 'agents-openai'", specifier = ">=10" },
|
|
4838
4810
|
{ name = "pyyaml", marker = "extra == 'harbor'", specifier = ">=6" },
|
|
4839
4811
|
{ name = "tomli", marker = "extra == 'harbor'", specifier = ">=2" },
|
|
4840
4812
|
]
|
|
4841
|
-
provides-extras = ["agents", "
|
|
4813
|
+
provides-extras = ["agents", "harbor"]
|
|
4842
4814
|
|
|
4843
4815
|
[package.metadata.requires-dev]
|
|
4844
4816
|
dev = [
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{use_computer-0.0.31 → use_computer-0.0.32}/use_computer/harbor/environment/platforms/__init__.py
RENAMED
|
File without changes
|
{use_computer-0.0.31 → use_computer-0.0.32}/use_computer/harbor/environment/platforms/ios.py
RENAMED
|
File without changes
|
{use_computer-0.0.31 → use_computer-0.0.32}/use_computer/harbor/environment/platforms/macos.py
RENAMED
|
File without changes
|
{use_computer-0.0.31 → use_computer-0.0.32}/use_computer/harbor/environment/platforms/ubuntu.py
RENAMED
|
File without changes
|
{use_computer-0.0.31 → use_computer-0.0.32}/use_computer/harbor/environment/platforms/windows.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{use_computer-0.0.31 → use_computer-0.0.32}/use_computer/harbor/environment/utils/__init__.py
RENAMED
|
File without changes
|
{use_computer-0.0.31 → use_computer-0.0.32}/use_computer/harbor/environment/utils/verifier.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/templates/test_ios_nograder.sh
RENAMED
|
File without changes
|
|
File without changes
|
{use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/templates/test_macos_check.sh
RENAMED
|
File without changes
|
{use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/templates/test_macos_nograder.sh
RENAMED
|
File without changes
|
|
File without changes
|
{use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/templates/test_ubuntu_check.sh
RENAMED
|
File without changes
|
{use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/templates/test_ubuntu_nograder.sh
RENAMED
|
File without changes
|
|
File without changes
|
{use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/templates/test_windows_check.sh
RENAMED
|
File without changes
|
{use_computer-0.0.31 → use_computer-0.0.32}/use_computer/tasks/templates/test_windows_nograder.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|