droidrun 0.3.8__tar.gz → 0.3.10.dev2__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 (122) hide show
  1. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/.github/workflows/publish.yml +18 -22
  2. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/.gitignore +0 -3
  3. droidrun-0.3.10.dev2/.python-version +1 -0
  4. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/PKG-INFO +13 -7
  5. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/README.md +1 -1
  6. droidrun-0.3.10.dev2/config.yaml +91 -0
  7. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/docs.json +1 -1
  8. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v3/guides/cli.mdx +1 -1
  9. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v3/guides/gemini.mdx +1 -1
  10. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v3/guides/ollama.mdx +1 -1
  11. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v3/guides/openailike.mdx +1 -1
  12. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v3/overview.mdx +1 -1
  13. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v3/quickstart.mdx +1 -1
  14. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/__init__.py +2 -3
  15. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/__main__.py +1 -1
  16. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/__init__.py +1 -1
  17. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/codeact/__init__.py +1 -4
  18. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/codeact/codeact_agent.py +112 -48
  19. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/codeact/events.py +6 -3
  20. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/codeact/prompts.py +2 -2
  21. droidrun-0.3.10.dev2/droidrun/agent/common/constants.py +2 -0
  22. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/common/events.py +5 -3
  23. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/context/__init__.py +1 -3
  24. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/context/agent_persona.py +2 -1
  25. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/context/context_injection_manager.py +6 -6
  26. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/context/episodic_memory.py +5 -3
  27. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/context/personas/__init__.py +3 -3
  28. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/context/personas/app_starter.py +3 -3
  29. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/context/personas/big_agent.py +3 -3
  30. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/context/personas/default.py +3 -3
  31. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/context/personas/ui_expert.py +5 -5
  32. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/context/task_manager.py +15 -17
  33. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/droid/__init__.py +1 -1
  34. droidrun-0.3.10.dev2/droidrun/agent/droid/droid_agent.py +637 -0
  35. droidrun-0.3.10.dev2/droidrun/agent/droid/events.py +115 -0
  36. droidrun-0.3.10.dev2/droidrun/agent/executor/__init__.py +13 -0
  37. droidrun-0.3.10.dev2/droidrun/agent/executor/events.py +24 -0
  38. droidrun-0.3.10.dev2/droidrun/agent/executor/executor_agent.py +327 -0
  39. droidrun-0.3.10.dev2/droidrun/agent/executor/prompts.py +136 -0
  40. droidrun-0.3.10.dev2/droidrun/agent/manager/__init__.py +18 -0
  41. droidrun-0.3.10.dev2/droidrun/agent/manager/events.py +20 -0
  42. droidrun-0.3.10.dev2/droidrun/agent/manager/manager_agent.py +459 -0
  43. droidrun-0.3.10.dev2/droidrun/agent/manager/prompts.py +223 -0
  44. droidrun-0.3.10.dev2/droidrun/agent/oneflows/app_starter_workflow.py +118 -0
  45. droidrun-0.3.10.dev2/droidrun/agent/oneflows/text_manipulator.py +204 -0
  46. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/planner/__init__.py +3 -3
  47. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/planner/events.py +6 -3
  48. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/planner/planner_agent.py +60 -53
  49. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/planner/prompts.py +2 -2
  50. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/usage.py +15 -13
  51. droidrun-0.3.10.dev2/droidrun/agent/utils/__init__.py +13 -0
  52. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/utils/async_utils.py +2 -1
  53. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/utils/chat_utils.py +48 -60
  54. droidrun-0.3.10.dev2/droidrun/agent/utils/device_state_formatter.py +177 -0
  55. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/utils/executer.py +13 -12
  56. droidrun-0.3.10.dev2/droidrun/agent/utils/inference.py +114 -0
  57. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/utils/llm_picker.py +2 -0
  58. droidrun-0.3.10.dev2/droidrun/agent/utils/message_utils.py +85 -0
  59. droidrun-0.3.10.dev2/droidrun/agent/utils/tools.py +220 -0
  60. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/agent/utils/trajectory.py +8 -7
  61. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/cli/__init__.py +1 -1
  62. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/cli/logs.py +29 -28
  63. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/cli/main.py +279 -143
  64. droidrun-0.3.10.dev2/droidrun/config_manager/__init__.py +25 -0
  65. droidrun-0.3.10.dev2/droidrun/config_manager/config_manager.py +583 -0
  66. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/macro/__init__.py +2 -2
  67. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/macro/__main__.py +1 -1
  68. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/macro/cli.py +36 -34
  69. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/macro/replay.py +7 -9
  70. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/portal.py +1 -1
  71. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/telemetry/__init__.py +2 -2
  72. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/telemetry/events.py +3 -4
  73. droidrun-0.3.10.dev2/droidrun/telemetry/phoenix.py +173 -0
  74. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/telemetry/tracker.py +7 -5
  75. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/tools/adb.py +210 -82
  76. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/tools/ios.py +7 -5
  77. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/tools/tools.py +25 -8
  78. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/pyproject.toml +16 -7
  79. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/setup.py +1 -1
  80. droidrun-0.3.10.dev2/uv.lock +3441 -0
  81. droidrun-0.3.8/droidrun/agent/common/default.py +0 -5
  82. droidrun-0.3.8/droidrun/agent/context/reflection.py +0 -20
  83. droidrun-0.3.8/droidrun/agent/droid/droid_agent.py +0 -492
  84. droidrun-0.3.8/droidrun/agent/droid/events.py +0 -33
  85. droidrun-0.3.8/droidrun/agent/oneflows/reflector.py +0 -265
  86. droidrun-0.3.8/droidrun/agent/utils/__init__.py +0 -3
  87. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/.github/workflows/bounty.yml +0 -0
  88. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/CHANGELOG.md +0 -0
  89. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/CONTRIBUTING.md +0 -0
  90. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/LICENSE +0 -0
  91. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/MANIFEST.in +0 -0
  92. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/.generated-files.txt +0 -0
  93. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/favicon.png +0 -0
  94. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/logo/dark.svg +0 -0
  95. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/logo/light.svg +0 -0
  96. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v1/concepts/agent.mdx +0 -0
  97. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v1/concepts/android-control.mdx +0 -0
  98. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v1/concepts/portal-app.mdx +0 -0
  99. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v1/overview.mdx +0 -0
  100. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v1/quickstart.mdx +0 -0
  101. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v2/concepts/agent.mdx +0 -0
  102. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v2/concepts/android-control.mdx +0 -0
  103. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v2/concepts/planning.mdx +0 -0
  104. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v2/concepts/portal-app.mdx +0 -0
  105. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v2/concepts/tracing.mdx +0 -0
  106. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v2/overview.mdx +0 -0
  107. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v2/quickstart.mdx +0 -0
  108. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v3/concepts/agent.mdx +0 -0
  109. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v3/concepts/android-tools.mdx +0 -0
  110. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v3/concepts/models.mdx +0 -0
  111. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v3/concepts/portal-app.mdx +0 -0
  112. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v3/guides/overview.mdx +0 -0
  113. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v3/guides/telemetry.mdx +0 -0
  114. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v3/images/portal_apk.png +0 -0
  115. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v3/sdk/adb-tools.mdx +0 -0
  116. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v3/sdk/base-tools.mdx +0 -0
  117. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v3/sdk/droid-agent.mdx +0 -0
  118. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/docs/v3/sdk/ios-tools.mdx +0 -0
  119. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/droidrun/tools/__init__.py +1 -1
  120. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/gen-docs-sdk-ref.sh +0 -0
  121. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/static/droidrun-dark.png +0 -0
  122. {droidrun-0.3.8 → droidrun-0.3.10.dev2}/static/droidrun.png +0 -0
@@ -1,12 +1,10 @@
1
1
  name: Publish Python 🐍 distribution 📦 to PyPI and TestPyPI
2
-
3
2
  on: push
4
3
 
5
4
  jobs:
6
5
  build:
7
6
  name: Build distribution 📦
8
7
  runs-on: ubuntu-latest
9
-
10
8
  steps:
11
9
  - uses: actions/checkout@v4
12
10
  with:
@@ -29,49 +27,47 @@ jobs:
29
27
  name: python-package-distributions
30
28
  path: dist/
31
29
 
32
- publish-to-pypi:
33
- name: >-
34
- Publish Python 🐍 distribution 📦 to PyPI
35
- if: startsWith(github.ref, 'refs/tags/')
30
+ publish-to-testpypi:
31
+ name: Publish Python 🐍 distribution 📦 to TestPyPI
32
+ # Only runs on dev branch
33
+ if: github.ref == 'refs/heads/dev'
36
34
  needs:
37
35
  - build
38
36
  runs-on: ubuntu-latest
39
37
  environment:
40
- name: pypi
41
- url: https://pypi.org/p/droidrun
38
+ name: testpypi
39
+ url: https://test.pypi.org/p/droidrun
42
40
  permissions:
43
41
  id-token: write
44
-
45
42
  steps:
46
43
  - name: Download all the dists
47
44
  uses: actions/download-artifact@v4
48
45
  with:
49
46
  name: python-package-distributions
50
47
  path: dist/
51
- - name: Publish distribution 📦 to PyPI
48
+ - name: Publish distribution 📦 to TestPyPI
52
49
  uses: pypa/gh-action-pypi-publish@release/v1
50
+ with:
51
+ repository-url: https://test.pypi.org/legacy/
53
52
 
54
- publish-to-testpypi:
55
- name: Publish Python 🐍 distribution 📦 to TestPyPI
56
- if: startsWith(github.ref, 'refs/tags/')
53
+ publish-to-pypi:
54
+ name: >-
55
+ Publish Python 🐍 distribution 📦 to PyPI
56
+ # Only runs on production tags (v*)
57
+ if: startsWith(github.ref, 'refs/tags/v')
57
58
  needs:
58
59
  - build
59
60
  runs-on: ubuntu-latest
60
-
61
61
  environment:
62
- name: testpypi
63
- url: https://test.pypi.org/p/droidrun
64
-
62
+ name: pypi
63
+ url: https://pypi.org/p/droidrun
65
64
  permissions:
66
65
  id-token: write
67
-
68
66
  steps:
69
67
  - name: Download all the dists
70
68
  uses: actions/download-artifact@v4
71
69
  with:
72
70
  name: python-package-distributions
73
71
  path: dist/
74
- - name: Publish distribution 📦 to TestPyPI
75
- uses: pypa/gh-action-pypi-publish@release/v1
76
- with:
77
- repository-url: https://test.pypi.org/legacy/
72
+ - name: Publish distribution 📦 to PyPI
73
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -23,7 +23,4 @@ patch_apis.py
23
23
  .git
24
24
  .arize-phoenix
25
25
 
26
-
27
- uv.lock
28
-
29
26
  todo.txt
@@ -0,0 +1 @@
1
+ 3.13.7
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: droidrun
3
- Version: 0.3.8
3
+ Version: 0.3.10.dev2
4
4
  Summary: A framework for controlling Android devices through LLM agents
5
5
  Project-URL: Homepage, https://github.com/droidrun/droidrun
6
6
  Project-URL: Bug Tracker, https://github.com/droidrun/droidrun/issues
@@ -16,6 +16,8 @@ Classifier: License :: OSI Approved :: MIT License
16
16
  Classifier: Programming Language :: Python :: 3
17
17
  Classifier: Programming Language :: Python :: 3.10
18
18
  Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
19
21
  Classifier: Topic :: Communications :: Chat
20
22
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
21
23
  Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
@@ -25,16 +27,16 @@ Classifier: Topic :: Software Development :: Testing
25
27
  Classifier: Topic :: Software Development :: Testing :: Acceptance
26
28
  Classifier: Topic :: System :: Emulators
27
29
  Classifier: Topic :: Utilities
28
- Requires-Python: >=3.11
30
+ Requires-Python: >=3.13
29
31
  Requires-Dist: adbutils>=2.10.2
30
32
  Requires-Dist: apkutils==2.0.0
31
- Requires-Dist: llama-index==0.13.6
32
- Requires-Dist: posthog>=6.7.4
33
- Requires-Dist: pydantic>=2.11.7
33
+ Requires-Dist: llama-index==0.14.4
34
+ Requires-Dist: posthog>=6.7.6
35
+ Requires-Dist: pydantic>=2.11.10
34
36
  Requires-Dist: rich>=14.1.0
35
37
  Provides-Extra: anthropic
36
38
  Requires-Dist: anthropic>=0.67.0; extra == 'anthropic'
37
- Requires-Dist: llama-index-llms-anthropic>=0.8.6; extra == 'anthropic'
39
+ Requires-Dist: llama-index-llms-anthropic<0.9.0,>=0.8.6; extra == 'anthropic'
38
40
  Provides-Extra: deepseek
39
41
  Requires-Dist: llama-index-llms-deepseek>=0.2.1; extra == 'deepseek'
40
42
  Provides-Extra: dev
@@ -51,6 +53,10 @@ Provides-Extra: openai
51
53
  Requires-Dist: llama-index-llms-openai-like>=0.5.1; extra == 'openai'
52
54
  Requires-Dist: llama-index-llms-openai>=0.5.6; extra == 'openai'
53
55
  Requires-Dist: openai>=1.99.1; extra == 'openai'
56
+ Provides-Extra: openrouter
57
+ Requires-Dist: llama-index-llms-openrouter>=0.4.2; extra == 'openrouter'
58
+ Provides-Extra: phoenix
59
+ Requires-Dist: arize-phoenix>=12.3.0; extra == 'phoenix'
54
60
  Description-Content-Type: text/markdown
55
61
 
56
62
  <picture>
@@ -88,7 +94,7 @@ DroidRun is a powerful framework for controlling Android and iOS devices through
88
94
  ## 📦 Installation
89
95
 
90
96
  ```bash
91
- pip install droidrun[google,anthropic,openai,deepseek,ollama,dev]
97
+ pip install 'droidrun[google,anthropic,openai,deepseek,ollama,dev]'
92
98
  ```
93
99
 
94
100
  ## 🚀 Quickstart
@@ -33,7 +33,7 @@ DroidRun is a powerful framework for controlling Android and iOS devices through
33
33
  ## 📦 Installation
34
34
 
35
35
  ```bash
36
- pip install droidrun[google,anthropic,openai,deepseek,ollama,dev]
36
+ pip install 'droidrun[google,anthropic,openai,deepseek,ollama,dev]'
37
37
  ```
38
38
 
39
39
  ## 🚀 Quickstart
@@ -0,0 +1,91 @@
1
+ # DroidRun Configuration File
2
+ # This file is auto-generated. Edit values as needed.
3
+
4
+ # === Agent Settings ===
5
+ agent:
6
+ # Maximum number of steps per task
7
+ max_steps: 15
8
+ # Enable vision capabilities per agent (screenshots)
9
+ vision:
10
+ manager: true
11
+ executor: true
12
+ codeact: true
13
+ # Enable planning with reasoning mode
14
+ reasoning: true
15
+ # Sleep duration after each action, waits for ui state to be updated (seconds)
16
+ after_sleep_action: 1.0
17
+
18
+
19
+ wait_for_stable_ui: 0.3 # TODO: doesn't do anything now
20
+
21
+ # === LLM Profiles ===
22
+ # Define LLM configurations for each agent type
23
+ llm_profiles:
24
+ # Manager: Plans and reasons about task progress
25
+ manager:
26
+ provider: GoogleGenAI
27
+ model: models/gemini-2.5-pro
28
+ temperature: 0.2
29
+ # kwargs: # optional kwargs, add api_key in kwargs if not already in .env
30
+ # max_tokens: 8192
31
+
32
+ # Executor: Selects and executes atomic actions
33
+ executor:
34
+ provider: GoogleGenAI
35
+ model: models/gemini-2.5-pro
36
+ temperature: 0.1
37
+ # kwargs:
38
+ # max_tokens: 4096
39
+
40
+ # CodeAct: Generates and executes code actions
41
+ codeact:
42
+ provider: GoogleGenAI
43
+ model: models/gemini-2.5-pro
44
+ temperature: 0.2
45
+ # kwargs:
46
+ # max_tokens: 8192
47
+
48
+ # Text Manipulator: Edits text in input fields
49
+ text_manipulator:
50
+ provider: GoogleGenAI
51
+ model: models/gemini-2.5-flash
52
+ temperature: 0.3
53
+ # kwargs:
54
+ # max_tokens: 4096
55
+
56
+ # App Opener: Opens apps by name/description
57
+ app_opener:
58
+ provider: GoogleGenAI
59
+ model: models/gemini-2.5-flash
60
+ temperature: 0.0
61
+ # kwargs:
62
+ # max_tokens: 512
63
+
64
+ # === Device Settings ===
65
+ device:
66
+ # Default device serial (null = auto-detect)
67
+ serial: null
68
+ # Use TCP communication instead of usb
69
+ use_tcp: false
70
+
71
+ # === Telemetry Settings ===
72
+ telemetry:
73
+ # Enable anonymous telemetry
74
+ enabled: false
75
+
76
+ # === Tracing Settings ===
77
+ tracing:
78
+ # Enable Arize Phoenix tracing
79
+ enabled: false
80
+
81
+ # === Logging Settings ===
82
+ logging:
83
+ # Enable debug logging
84
+ debug: true
85
+ # Trajectory saving level (none, step, action)
86
+ save_trajectory: none
87
+
88
+ # === Tool Settings ===
89
+ tools:
90
+ # Enable drag tool
91
+ allow_drag: false # this does nothing now place holder for now
@@ -14,7 +14,7 @@
14
14
  "tab": "Framework",
15
15
  "versions": [
16
16
  {
17
- "version": "0.3.6",
17
+ "version": "0.3.8",
18
18
  "groups": [
19
19
  {
20
20
  "group": "Introduction",
@@ -13,7 +13,7 @@ DroidRun lets you control Android devices using natural language and LLM agents.
13
13
  <Steps>
14
14
  <Step title="Install DroidRun and its dependencies. Choose which ever provider you'd like to use.">
15
15
  ```sh
16
- pip install droidrun[google,anthropic,openai,deepseek,ollama,dev]
16
+ pip install 'droidrun[google,anthropic,openai,deepseek,ollama,dev]'
17
17
  ```
18
18
  </Step>
19
19
  <Step title="Ensure your Android device is connected and the DroidRun Portal is installed">
@@ -32,7 +32,7 @@ Make sure you've set up and enabled the Droidrun Portal.
32
32
  ## 2. Install Required Python Packages
33
33
 
34
34
  ```sh
35
- pip install droidrun[google]
35
+ pip install 'droidrun[google]'
36
36
  ```
37
37
 
38
38
  ## 3. Example: Using Droidrun with Gemini LLM
@@ -47,7 +47,7 @@ ollama pull llama4
47
47
  Make sure you have the required Python packages:
48
48
 
49
49
  ```sh
50
- pip install droidrun[ollama]
50
+ pip install 'droidrun[ollama]'
51
51
  ```
52
52
 
53
53
  ## 3. Example: Using Droidrun with Ollama LLM
@@ -36,7 +36,7 @@ Get your API key for the provider you've choosen
36
36
  ## 2. Install the required Python packages:
37
37
 
38
38
  ```sh
39
- pip install droidrun[openai]
39
+ pip install 'droidrun[openai]'
40
40
  ```
41
41
 
42
42
  ## 3. Example: Using Droidrun with OpenAI-like LLM
@@ -29,7 +29,7 @@ DroidRun empowers you to automate sophisticated mobile workflows through intelli
29
29
  <Card icon="mobile" title="Physical Device" href="/v3/quickstart" arrow>
30
30
  - Connect your own physical Android device for direct automation
31
31
  </Card>
32
- <Card icon="cloud" title="Cloud Environment" href="https://droidrun.ai/cloud">
32
+ <Card icon="cloud" title="Cloud Environment" href="https://cloud.droidrun.ai">
33
33
  - Access our managed cloud environment for instant mobile app automation without any setup.
34
34
  </Card>
35
35
  </CardGroup>
@@ -28,7 +28,7 @@ Before installing DroidRun, ensure you have:
28
28
  ### Install from PyPI
29
29
  Choose which ever provider you'd like to use. If you encounter dependency resolution issues use [`uv`](https://docs.astral.sh/uv/getting-started/installation/).
30
30
  ```bash
31
- pip install droidrun[google,anthropic,openai,deepseek,ollama,dev]
31
+ pip install 'droidrun[google,anthropic,openai,deepseek,ollama,dev]'
32
32
  ```
33
33
 
34
34
  ### Setup the Portal APK
@@ -5,13 +5,12 @@ DroidRun - A framework for controlling Android devices through LLM agents.
5
5
  __version__ = "0.3.0"
6
6
 
7
7
  # Import main classes for easier access
8
- from droidrun.agent.utils.llm_picker import load_llm
9
- from droidrun.tools import Tools, AdbTools, IOSTools
10
8
  from droidrun.agent.droid import DroidAgent
9
+ from droidrun.agent.utils.llm_picker import load_llm
11
10
 
12
11
  # Import macro functionality
13
12
  from droidrun.macro import MacroPlayer, replay_macro_file, replay_macro_folder
14
-
13
+ from droidrun.tools import AdbTools, IOSTools, Tools
15
14
 
16
15
  # Make main components available at package level
17
16
  __all__ = [
@@ -4,4 +4,4 @@ DroidRun main entry point
4
4
  from droidrun.cli.main import cli
5
5
 
6
6
  if __name__ == '__main__':
7
- cli()
7
+ cli()
@@ -3,4 +3,4 @@
3
3
  #logger = logging.getLogger("droidrun")
4
4
  #logger.propagate = False # Don't send to root logger
5
5
  #logger.handlers = [] # No handlers by default
6
- #logger.setLevel(logging.INFO) # Or WARNING
6
+ #logger.setLevel(logging.INFO) # Or WARNING
@@ -1,8 +1,5 @@
1
1
  from droidrun.agent.codeact.codeact_agent import CodeActAgent
2
- from droidrun.agent.codeact.prompts import (
3
- DEFAULT_CODE_ACT_USER_PROMPT,
4
- DEFAULT_NO_THOUGHTS_PROMPT
5
- )
2
+ from droidrun.agent.codeact.prompts import DEFAULT_CODE_ACT_USER_PROMPT, DEFAULT_NO_THOUGHTS_PROMPT
6
3
 
7
4
  __all__ = [
8
5
  "CodeActAgent",