Skip to main content

Modern, Intelligent Mobile Automation Framework (Compiled)

Project description

FlowPilot Mobile

FlowPilot Mobile is a high-performance, intelligent mobile automation framework built for speed, privacy, and simplicity. Unlike other frameworks that wrap heavy external engines, FlowPilot uses a custom-built, zero-dependency Intelligent ADB Runtime.

🌟 Why FlowPilot?

  • Lightweight & Fast: No Java, no Node.js, and no Maestro/Appium binaries required. It talks directly to your device via ADB, making it significantly faster and easier to set up.
  • Privacy-First: Designed for enterprise security. It features an anonymous licensing system with zero telemetry and no hardware/user data collection.
  • Intelligent Locators: A built-in scoring engine that handles distractors automatically. It finds what you want (e.g., "Search") and ignores what you don't (e.g., "Search History").
  • Zero-Sleep Synchronization: Built-in polling and smart-waits ensure elements are ready before interaction. No more manual sleep() calls.
  • Auto-Scroll Search: Automatically swipes and retries if an element is off-screen.

🚀 Quick Start

1. Install via pip

pip install flowpilot-mobile

2. Initialize your Project

Initialize a new project folder with all necessary configurations:

flowpilot setup --project_folder my_tests

3. Write your first test

Create a file tests/test_demo.py:

def test_google_search(mobile):
    mobile.launch_app()
    mobile.navigate("https://www.google.com")
    mobile.fill("Search", "FlowPilot Mobile")
    mobile.press_key("Enter")
    mobile.visible("github.com")

🤖 AI-Assisted Automation (TEST_GEN_PROMPT)

FlowPilot supports Instant Test Generation via AI. Every project initialized with flowpilot setup includes a TEST_GEN_PROMPT.md file.

  1. Copy the content of TEST_GEN_PROMPT.md.
  2. Paste it into Gemini or ChatGPT.
  3. Provide your manual test steps or describe a screen recording.
  4. Result: The AI will generate a complete FlowPilot Python test script for you.

🖥️ Live Monitoring & Evidence

Live Desktop Mirroring

See your phone's screen in a window on your desktop (Mac/Windows) during execution using the integrated scrcpy support.

  • Enable: Set mirror_screen: true in your flowpilot.yaml.

Automated Evidence

  • Hardware-Accelerated Recording (MP4): Every test is recorded with hardware encoding (zero performance drop). Includes professional 1s padding.
  • Smart Screenshots: Captures specific UI states into .flowpilot/screenshots/.
  • Retention Policy: Automatically purges recordings older than 5 days (configurable) to save disk space.

📖 Public API Reference

Category Method Description Example
Lifecycle launch_app(pkg) Opens a specific app (defaults to Chrome). mobile.launch_app()
home() Returns to the device Home Screen. mobile.home()
back() Simulates the hardware Back button. mobile.back()
navigate(url) Opens a specific URL in the browser. mobile.navigate("https://google.com")
Interactions tap(target) Smart Tap: Auto-scrolls and waits for visibility. mobile.tap("Settings")
fill(target, val) Smart Fill: Finds nearest input to a label. mobile.fill("Username", "admin")
fill_focused(val) Active Field: Types into currently focused input. mobile.fill_focused("secret")
press_key(key) Presses hardware keys (Enter, Home, Back). mobile.press_key("Enter")
Gestures open_notifications() Pulls down the notification shade (Left). mobile.open_notifications()
open_quick_settings() Pulls down full Quick Settings (Center). mobile.open_quick_settings()
scroll_down() Performs a smart downward scroll. mobile.scroll_down()
Relational below(anchor) Maestro-style relational selection. mobile.below("Login").tap()
Discovery get_text(target) Data Extraction: Gets text/ID value. mobile.get_text("login_id")
get_screen_text() Gets all visible text on screen. mobile.get_screen_text()

Configuration (flowpilot.yaml)

project_name: "My Custom App"

# Manual Tool Paths
tools:
  adb_path: ""
  # Supports both folder path OR full .exe path
  scrcpy_path: "C:\\path\\to\\scrcpy_folder" 

🛡 Engineering Principles

  1. WHAT, not HOW: Focus on test intent; FlowPilot handles the low-level ADB coordination.
  2. Privacy-First: Anonymous licensing, zero telemetry, no system fingerprinting.
  3. Nuitka Protected: Core logic is compiled into high-performance binaries for security.
  4. Resilient Reset: Automated pre/post Home screen logic for clean repeatable baselines.

Built for engineers who value speed, privacy, and clean code.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flowpilot_mobile-1.2.13-cp313-cp313-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.13Windows x86-64

File details

Details for the file flowpilot_mobile-1.2.13-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for flowpilot_mobile-1.2.13-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 eae32b022285842ca737634fc05d3eed3ec8dad7dc90927f16b01ca1f98af099
MD5 b02f06b89bfb4d5bc38c8224a308cb37
BLAKE2b-256 0e3ea17edef63dd99ffdb4625e5976f6ea96dd0487d4009aaffa97590cf9553f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page