A framework for controlling Android devices through LLM agents
Project description
DroidRun is a powerful framework for controlling Android and iOS devices through LLM agents. It allows you to automate device interactions using natural language commands. Checkout our benchmark results
Why Droidrun?
- 🤖 Control Android and iOS devices with natural language commands
- 🔀 Supports multiple LLM providers (OpenAI, Anthropic, Gemini, Ollama, DeepSeek)
- 🧠 Planning capabilities for complex multi-step tasks
- 💻 Easy to use CLI with enhanced debugging features
- 🐍 Extendable Python API for custom automations
- 📸 Screenshot analysis for visual understanding of the device
- Execution tracing with Arize Phoenix
📦 Installation
pip install 'droidrun[google,anthropic,openai,deepseek,ollama,dev]'
🚀 Quickstart
Read on how to get droidrun up and running within seconds in our docs!
🎬 Demo Videos
💡 Example Use Cases
- Automated UI testing of mobile applications
- Creating guided workflows for non-technical users
- Automating repetitive tasks on mobile devices
- Remote assistance for less technical users
- Exploring mobile UI with natural language commands
👥 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
Security Checks
To ensure the security of the codebase, we have integrated security checks using bandit and safety. These tools help identify potential security issues in the code and dependencies.
Running Security Checks
Before submitting any code, please run the following security checks:
-
Bandit: A tool to find common security issues in Python code.
bandit -r droidrun
-
Safety: A tool to check your installed dependencies for known security vulnerabilities.
safety scan
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file droidrun-0.4.26.tar.gz.
File metadata
- Download URL: droidrun-0.4.26.tar.gz
- Upload date:
- Size: 1.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9af09dc882fe4df3b66931b746b1d92928bc33a3b56e53f9fb1024c40a2dc204
|
|
| MD5 |
9c2f05994d49ee4be85fc78a56b15cb4
|
|
| BLAKE2b-256 |
3784ffe46d908b84026edf3cdd30c0978291ccde8265effebff5423f356e89d5
|
Provenance
The following attestation bundles were made for droidrun-0.4.26.tar.gz:
Publisher:
publish.yml on droidrun/droidrun
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
droidrun-0.4.26.tar.gz -
Subject digest:
9af09dc882fe4df3b66931b746b1d92928bc33a3b56e53f9fb1024c40a2dc204 - Sigstore transparency entry: 905864280
- Sigstore integration time:
-
Permalink:
droidrun/droidrun@960973124d72f99c3cacff7afe512692a1995584 -
Branch / Tag:
refs/tags/v0.4.26 - Owner: https://github.com/droidrun
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@960973124d72f99c3cacff7afe512692a1995584 -
Trigger Event:
push
-
Statement type:
File details
Details for the file droidrun-0.4.26-py3-none-any.whl.
File metadata
- Download URL: droidrun-0.4.26-py3-none-any.whl
- Upload date:
- Size: 261.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f0919de88b364d17930bde3950acaf30f2f860c954515b1dce8839270550b68
|
|
| MD5 |
5b1fe48d329d62106ade4bd0fbf72933
|
|
| BLAKE2b-256 |
d2733aad417bb2f6c20e9828a05f004eb0c612ccf5af136170fa50e63d08f793
|
Provenance
The following attestation bundles were made for droidrun-0.4.26-py3-none-any.whl:
Publisher:
publish.yml on droidrun/droidrun
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
droidrun-0.4.26-py3-none-any.whl -
Subject digest:
6f0919de88b364d17930bde3950acaf30f2f860c954515b1dce8839270550b68 - Sigstore transparency entry: 905864345
- Sigstore integration time:
-
Permalink:
droidrun/droidrun@960973124d72f99c3cacff7afe512692a1995584 -
Branch / Tag:
refs/tags/v0.4.26 - Owner: https://github.com/droidrun
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@960973124d72f99c3cacff7afe512692a1995584 -
Trigger Event:
push
-
Statement type: