Open Source · Core
Script devices directly. No LLM.
mobilerun-core is the deterministic layer under the agents. A single, synchronous interface drives a real device from your own code, so every step runs the same way twice. Open source, Apache-2.0, one pip install away.
install pip install mobilerun-core
control no LLM, you script it
runs cloud or local
safety human-in-the-loop gate
Write the script
You write the steps. They repeat.
One synchronous interface, the same code for a hosted phone or a local one. No model deciding what happens next.
script.py
from mobilerun_core import Mobilerun
m = Mobilerun(base_url="https://api.mobilerun.ai/v1") # key: MOBILERUN_CLOUD_API_KEY
device = m.connect("dev_...", backend="cloud") # or a local phone
device.start_app("com.example.shop")
device.tap_text("Sign in")
device.scroll_until(text="Checkout")
device.tap_text("Checkout") One interface, cloud or local
- A single, synchronous Mobilerun() object drives every device
- Connect by cloud id, a local Android over ADB, or a Portal HTTP URL
- The same script runs against a real device in the cloud or on your desk
- High-level actions: tap_text, scroll_until, wait_for_app, screenshot
Deterministic, and safe
- No model in the loop, you write the steps and they repeat exactly
- High-level actions sit on lower-level verbs you can reach for directly
- Destructive actions route through a callback you control, denied by default
- Structured errors: UnsupportedOperation names the verb, the backend and an alternative
FAQ
Core, common questions.
What is mobilerun-core?+
An open-source Python library for driving real devices from code. Install it with pip install mobilerun-core (Python 3.11 to 3.13). It is Apache-2.0, runs no LLM, and you write the script yourself.
How is Core different from the framework?+
The framework runs LLM agents that decide what to do. Core is the deterministic layer under it: you write the exact steps and they run the same way every time. The same script targets a device in the cloud or on your desk, with no model in the loop.
What stops a script from doing damage?+
A human-in-the-loop gate. Destructive actions like uninstall_app route through a callback you control and are denied by default, so nothing irreversible happens without your say.
More of the platform: the agent framework · hosted agents · Core on PyPI
One install. Script the phone.
mobilerun-core is open source and Apache-2.0. Install it with pip install mobilerun-core on Python 3.11 to 3.13, then write your first script.