Metadata-Version: 2.4
Name: appium-client-python
Version: 1.3.35
Summary: Modern, Intelligent Mobile Automation Framework (Compiled)
Description-Content-Type: text/markdown
Requires-Dist: pytest>=8.0.0
Requires-Dist: pytest-xdist>=3.5.0
Requires-Dist: rich>=13.0.0
Requires-Dist: loguru>=0.7.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: pyyaml>=6.0.0
Requires-Dist: jinja2>=3.1.0
Requires-Dist: cryptography>=41.0.0
Requires-Dist: requests>=2.31.0
Dynamic: description
Dynamic: description-content-type
Dynamic: requires-dist
Dynamic: summary

# 🚀 appium-client-python

[![PyPI version](https://img.shields.io/pypi/v/appium-client-python.svg)](https://pypi.org/project/appium-client-python/)
[![Python Versions](https://img.shields.io/pypi/pyversions/appium-client-python.svg)](https://pypi.org/project/appium-client-python/)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)

**appium-client-python** is a modern, high-level, human-readable mobile automation client for Python 3.11+. Built on top of Appium 2.x and PyTest, it delivers zero-boilerplate mobile testing with intelligent locator resolution, auto-healing, smart synchronization, and built-in failure diagnostics.

---

## ✨ Key Features

- **🎯 Zero Boilerplate**: Write clean, expressive mobile tests with fluent element APIs.
- **🧠 Intelligent Locators**: Automatic multi-tier scoring (Accessibility ID > Text > Resource ID > Relative position) with auto-scrolling.
- **📱 Device Auto-Resolution**: Automatic ADB / Simulator detection, port forwarding, and session management.
- **⚡ Screen Object Model (SOM)**: First-class support for state-verified screen transitions.
- **🛡️ Built-in Resilience**: Self-healing locators, auto-wait synchronization, and graceful error handling.
- **📸 Diagnostics & Evidence**: Automatic failure screenshots, screen recording, and ADB crash log capture.

---

## 📦 Installation

```bash
pip install appium-client-python
```

---

## 🚀 Quick Start

### 1. Initialize a New Project
```bash
appium_client setup --project_folder my_mobile_tests
cd my_mobile_tests
```

### 2. Write a Simple Test
```python
# tests/test_login.py
def test_user_login(mobile):
    mobile.launch_app("com.example.myapp")
    
    mobile.input("Username").fill("admin@example.com")
    mobile.input("Password").fill("Secret123!")
    mobile.button("Log In").tap()
    
    assert mobile.is_visible("Welcome, Admin!")
```

### 3. Run Tests with PyTest
```bash
pytest tests/ -v
```

---

## 📖 Comprehensive Documentation

For the full architectural guide, Screen Object Model patterns, relational locators, and complete API tables, refer to [README_original.md](README_original.md) or the [docs/](appium_client/boilerplate/docs/) folder.

---

## 📄 License

Distributed under the MIT License.
