use-computer 0.0.35__tar.gz → 0.0.36__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 (96) hide show
  1. {use_computer-0.0.35 → use_computer-0.0.36}/PKG-INFO +2 -1
  2. {use_computer-0.0.35 → use_computer-0.0.36}/README.md +1 -0
  3. {use_computer-0.0.35 → use_computer-0.0.36}/pyproject.toml +1 -1
  4. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/sandbox.py +16 -0
  5. {use_computer-0.0.35 → use_computer-0.0.36}/.env.example +0 -0
  6. {use_computer-0.0.35 → use_computer-0.0.36}/.gitignore +0 -0
  7. {use_computer-0.0.35 → use_computer-0.0.36}/.pre-commit-config.yaml +0 -0
  8. {use_computer-0.0.35 → use_computer-0.0.36}/scripts/smoke_wheel.py +0 -0
  9. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/__init__.py +0 -0
  10. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/accessibility.py +0 -0
  11. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/__init__.py +0 -0
  12. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/base/__init__.py +0 -0
  13. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/base/actions.py +0 -0
  14. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/base/agent.py +0 -0
  15. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/base/artifacts.py +0 -0
  16. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/base/desktop.py +0 -0
  17. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/base/final_state.py +0 -0
  18. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/base/prompts.py +0 -0
  19. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/base/recordings.py +0 -0
  20. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/base/sandbox.py +0 -0
  21. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/base/screenshots.py +0 -0
  22. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/base/trajectory.py +0 -0
  23. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/core.py +0 -0
  24. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/debug/README.md +0 -0
  25. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/debug/__init__.py +0 -0
  26. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/debug/actions.py +0 -0
  27. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/debug/agent.py +0 -0
  28. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/debug/models.py +0 -0
  29. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/ios/__init__.py +0 -0
  30. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/ios/agent.py +0 -0
  31. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/ios/tools.py +0 -0
  32. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/prompts/anthropic.txt +0 -0
  33. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/prompts/gemini.txt +0 -0
  34. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/prompts/ios.txt +0 -0
  35. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/prompts/openai.txt +0 -0
  36. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/prompts/pyautogui.txt +0 -0
  37. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/providers/__init__.py +0 -0
  38. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/providers/anthropic.py +0 -0
  39. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/providers/gemini.py +0 -0
  40. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/providers/generic.py +0 -0
  41. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/providers/openai.py +0 -0
  42. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/agents/types.py +0 -0
  43. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/ax_transpile.py +0 -0
  44. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/client.py +0 -0
  45. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/display.py +0 -0
  46. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/errors.py +0 -0
  47. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/harbor/__init__.py +0 -0
  48. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/harbor/agents.py +0 -0
  49. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/harbor/environment/__init__.py +0 -0
  50. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/harbor/environment/gateway.py +0 -0
  51. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/harbor/environment/platforms/__init__.py +0 -0
  52. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/harbor/environment/platforms/ios.py +0 -0
  53. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/harbor/environment/platforms/macos.py +0 -0
  54. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/harbor/environment/platforms/ubuntu.py +0 -0
  55. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/harbor/environment/platforms/windows.py +0 -0
  56. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/harbor/environment/setup_files.py +0 -0
  57. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/harbor/environment/use_computer.py +0 -0
  58. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/harbor/environment/utils/__init__.py +0 -0
  59. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/harbor/environment/utils/verifier.py +0 -0
  60. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/ios/__init__.py +0 -0
  61. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/ios/apps.py +0 -0
  62. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/ios/environment.py +0 -0
  63. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/ios/input.py +0 -0
  64. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/macos/__init__.py +0 -0
  65. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/macos/keyboard.py +0 -0
  66. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/macos/mouse.py +0 -0
  67. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/models.py +0 -0
  68. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/parsers.py +0 -0
  69. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/py.typed +0 -0
  70. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/recording.py +0 -0
  71. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/resources/__init__.py +0 -0
  72. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/resources/accessibility.py +0 -0
  73. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/resources/display.py +0 -0
  74. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/resources/recording.py +0 -0
  75. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/resources/screenshot.py +0 -0
  76. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/retry.py +0 -0
  77. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/screenshot.py +0 -0
  78. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/simulators.py +0 -0
  79. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/tasks/__init__.py +0 -0
  80. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/tasks/templates/pre_command.ps1 +0 -0
  81. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/tasks/templates/pre_command.sh +0 -0
  82. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/tasks/templates/task.toml +0 -0
  83. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/tasks/templates/test_ios.sh +0 -0
  84. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/tasks/templates/test_ios_nograder.sh +0 -0
  85. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/tasks/templates/test_macos.sh +0 -0
  86. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/tasks/templates/test_macos_check.sh +0 -0
  87. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/tasks/templates/test_macos_nograder.sh +0 -0
  88. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/tasks/templates/test_ubuntu.sh +0 -0
  89. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/tasks/templates/test_ubuntu_check.sh +0 -0
  90. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/tasks/templates/test_ubuntu_nograder.sh +0 -0
  91. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/tasks/templates/test_windows.sh +0 -0
  92. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/tasks/templates/test_windows_check.sh +0 -0
  93. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/tasks/templates/test_windows_nograder.sh +0 -0
  94. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/windows/__init__.py +0 -0
  95. {use_computer-0.0.35 → use_computer-0.0.36}/use_computer/windows/shell.py +0 -0
  96. {use_computer-0.0.35 → use_computer-0.0.36}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: use-computer
3
- Version: 0.0.35
3
+ Version: 0.0.36
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
@@ -82,6 +82,7 @@ with Computer().create(type=SandboxType.IOS, family=SimulatorFamily.TV) as tv:
82
82
 
83
83
  with Computer().create(type=SandboxType.IOS) as ios:
84
84
  ios.input.long_press(120, 300, duration=1.0)
85
+ print(ios.exec("simctl getenv $UDID HOME").stdout) # CoreSimulator exec, not SSH
85
86
  ```
86
87
 
87
88
  ### Windows (Beta)
@@ -50,6 +50,7 @@ with Computer().create(type=SandboxType.IOS, family=SimulatorFamily.TV) as tv:
50
50
 
51
51
  with Computer().create(type=SandboxType.IOS) as ios:
52
52
  ios.input.long_press(120, 300, duration=1.0)
53
+ print(ios.exec("simctl getenv $UDID HOME").stdout) # CoreSimulator exec, not SSH
53
54
  ```
54
55
 
55
56
  ### Windows (Beta)
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "use-computer"
7
- version = "0.0.35"
7
+ version = "0.0.36"
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"
@@ -292,6 +292,14 @@ class IOSSandbox(Sandbox):
292
292
  self.apps = Apps(http, self._prefix)
293
293
  self.environment = Environment(http, self._prefix)
294
294
 
295
+ def exec(self, command: str, timeout: int = 120) -> ExecResult:
296
+ """Run a non-interactive CoreSimulator command/script; this is not SSH."""
297
+ resp = self._http.post(
298
+ f"{self._prefix}/exec", json={"command": command, "timeout": timeout}, timeout=timeout
299
+ )
300
+ resp.raise_for_status()
301
+ return ExecResult.from_dict(resp.json())
302
+
295
303
 
296
304
  @dataclass
297
305
  class HostRedirect:
@@ -689,6 +697,14 @@ class AsyncIOSSandbox(AsyncSandbox):
689
697
  self.apps = AsyncApps(http, self._prefix)
690
698
  self.environment = AsyncEnvironment(http, self._prefix)
691
699
 
700
+ async def exec(self, command: str, timeout: int = 120) -> ExecResult:
701
+ """Run a non-interactive CoreSimulator command/script; this is not SSH."""
702
+ resp = await self._http.post(
703
+ f"{self._prefix}/exec", json={"command": command, "timeout": timeout}, timeout=timeout
704
+ )
705
+ resp.raise_for_status()
706
+ return ExecResult.from_dict(resp.json())
707
+
692
708
 
693
709
  class AsyncWindowsSandbox(_AsyncSeeding, _NoAxeAccessibility, AsyncSandbox):
694
710
  """Async Windows VM sandbox — see WindowsSandbox."""
File without changes
File without changes