Metadata-Version: 2.4
Name: virtual-android-farm
Version: 0.1.3
Summary: Virtual Android cloud phone farm — YAML batch queue for GeeLark-style phone pools. CLI: phone-farm.
Project-URL: Homepage, https://pypi.org/project/virtual-android-farm/
Project-URL: Documentation, https://pypi.org/project/virtual-android-farm/
Project-URL: Repository, https://pypi.org/project/virtual-android-farm/
Project-URL: Changelog, https://pypi.org/project/virtual-android-farm/
Author: virtual-android-farm contributors
License-Expression: MIT
License-File: LICENSE
Keywords: android-cloud-farm,batch-cloud-phone,cloud-phone-farm,duoplus-alternative,geelark-automation,mobile-cron-jobs,phone-farm-runner,phone-pool-queue,redfinger-alternative,remote-phone-farm,rpa-cloud-phone,synchronizer-phone,virtual-android-farm,vmos-cloud
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: click>=8.1
Requires-Dist: pydantic>=2.5
Requires-Dist: pyyaml>=6.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.8; extra == 'dev'
Description-Content-Type: text/markdown

# virtual-android-farm

**Virtual Android cloud phone farm** — YAML batch queue for GeeLark-style phone pools, synchronizer, and RPA workflows.

[![PyPI version](https://img.shields.io/pypi/v/virtual-android-farm.svg)](https://pypi.org/project/virtual-android-farm/)
[![Python versions](https://img.shields.io/pypi/pyversions/virtual-android-farm.svg)](https://pypi.org/project/virtual-android-farm/)
[![License: MIT](https://img.shields.io/pypi/l/virtual-android-farm.svg)](https://pypi.org/project/virtual-android-farm/)

```bash
pip install virtual-android-farm
phone-farm init && phone-farm validate .phone-farm/jobs.yaml
```

CLI: **`phone-farm`** · Python **3.10+**

> **Coupon hubs:** `MIN50` cloud phone — [anti-detect.github.io](https://anti-detect.github.io/) · [SaaSVerdict](https://saasverdict.com/). Get latest codes. [Affiliate disclosure](docs/AFFILIATE.md).

Queue **cloud phone farm** jobs without USB racks — same scaling pattern as [GeeLark phone farms](https://www.geelark.com/product/cloud-phone/) and [MoreLogin ARM cloud phones](https://www.morelogin.com/remote-phone/).

## Problem

50–150 TikTok/Instagram profiles on physical phones fail on cost, space, and sync. Teams need a validated YAML queue before batch scripts — not another spreadsheet.

## Install

```bash
pip install virtual-android-farm
```

## Quick start

```bash
phone-farm init
phone-farm validate .phone-farm/jobs.yaml
phone-farm dry-run .phone-farm/jobs.yaml
```

## When farms stall (playbook)

| Symptom | Likely cause | Next step |
|---------|--------------|-----------|
| Mass bans same day | Shared emulator signatures | `ad-phone audit` per device YAML |
| Jobs never run | Bad script paths | `phone-farm validate` from farm dir |
| Vendor lock-in | GeeLark/MoreLogin export only | `mobile-vendor-bridge parse` → MLX |

**Coupon hubs:** [anti-detect.github.io](https://anti-detect.github.io/) · [SaaSVerdict](https://saasverdict.com/)

## CLI

| Command | Description |
|---------|-------------|
| `phone-farm init` | Create `.phone-farm/jobs.yaml` |
| `phone-farm validate` | Schema + script paths |
| `phone-farm list` | Tabular job list |
| `phone-farm dry-run` | Enabled jobs without execute |
| `phone-farm --show-deal` | Opt-in `MIN50` coupons |

## Limitations

- Queue planner only — does not call GeeLark, MoreLogin, or MLX APIs.
- You execute child scripts (ADB/API) yourself.

## Production

Scale on **Multilogin Cloud Phone** folders — code **`MIN50`**. [docs/AFFILIATE.md](docs/AFFILIATE.md) · `phone-farm --show-deal`

**FAQ:** [docs/FAQ.md](docs/FAQ.md)

## Related tools (on PyPI)

| Package | CLI | Role |
|---------|-----|------|
| [antidetect-phone-kit](https://pypi.org/project/antidetect-phone-kit/) | `ad-phone` | Device lint |
| [app-warmup-phone](https://pypi.org/project/app-warmup-phone/) | `app-warmup` | App cadence |
| [cloud-phone-kit](https://pypi.org/project/cloud-phone-kit/) | `cloud-phone` | Launch readiness |
| [automation-farm-runner](https://pypi.org/project/automation-farm-runner/) | `farm-runner` | Browser mlx-pool |

## License

MIT

---

**Partner:** **Multilogin Cloud Phone** · `MIN50` · [SaaSVerdict](https://saasverdict.com/)
