Metadata-Version: 2.4
Name: revyl
Version: 0.1.21
Summary: Revyl CLI - AI-powered mobile app testing
Project-URL: Homepage, https://revyl.com
Project-URL: Documentation, https://docs.revyl.ai
Project-URL: Repository, https://github.com/RevylAI/revyl-cli
Author-email: Revyl <support@revyl.ai>
License-Expression: MIT
Keywords: android,automation,e2e,ios,mobile,revyl,testing
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.9
Provides-Extra: sdk
Description-Content-Type: text/markdown

# Revyl

AI-powered mobile app testing. Cloud devices, natural-language tests, and a Python SDK for programmatic control.

## Install the CLI

```bash
brew install RevylAI/tap/revyl          # Homebrew (macOS)
pipx install revyl                      # pipx (cross-platform)
uv tool install revyl                   # uv
pip install revyl                       # pip
```

All methods give you the `revyl` command. The CLI binary auto-downloads on first use when installed via pip/pipx/uv.

## Python SDK

```bash
pip install revyl[sdk]                  # Python SDK (includes CLI)
```

```python
from revyl import DeviceClient

with DeviceClient.start(platform="ios") as device:
    device.tap(target="Login button")
    device.type_text(target="Email", text="user@example.com")
    device.screenshot(out="after-login.png")
```

The `[sdk]` extra signals that you want the Python SDK. The SDK is included in the base package, so `pip install revyl` also works.

## Authenticate

```bash
revyl auth login                        # Browser-based login
export REVYL_API_KEY="rev_..."          # Or set an API key
```

## Documentation

- [CLI Command Reference](https://docs.revyl.ai/cli)
- [Python SDK Reference](https://docs.revyl.ai/device/sdk-reference)
- [Device Scripting Guide](https://docs.revyl.ai/device/scripting-guide)
- [CI/CD Pipeline Guide](https://docs.revyl.ai/ci-cd/pipeline-guide)
