Appium-Python-Client
Python client for Appium
What it is and what it does
Appium Python Client is a Selenium-based library that adds mobile-specific automation capabilities to Python test scripts. It wraps the WebDriver Protocol and Appium server commands, allowing developers to write tests that control iOS, Android, and other mobile platforms using familiar Selenium syntax. The library depends on selenium and typing-extensions, and is designed to work alongside an Appium server instance that communicates with actual devices or emulators.
The package is production-ready (Development Status 5) and actively maintained, with recent releases addressing API changes and migration paths from older versions. It supports modern Python versions (3.10–3.14) and provides helper classes for platform-specific options (e.g., UiAutomator2Options for Android, XCUITestOptions for iOS). Users typically instantiate a webdriver.Remote connection to an Appium server, then use standard WebDriver actions and Appium-specific mobile extensions to interact with app elements.
Use it for:
- Automate functional testing of native Android apps using UiAutomator2 or other Appium drivers.
- Write cross-platform mobile test suites that run on both iOS and Android with shared test logic.
- Perform UI automation and regression testing on mobile applications as part of CI/CD pipelines.
- Validate app behavior under touch interactions, swipes, and other mobile-specific gestures using W3C WebDriver actions.
- Test hybrid mobile apps (web views embedded in native apps) by combining Appium's mobile context switching with Selenium's web automation.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Extends Selenium Python bindings with Appium-specific commands and WebDriver Protocol support for automated mobile app testing on iOS, Android, and other platforms.
Yes. The package is actively maintained, has low install friction, carries a permissive Apache-2.0 license, and is the standard Python client for Appium mobile testing. It has no known vulnerabilities and integrates seamlessly with selenium. Install it if you need to automate mobile app testing; it is the expected tool for this purpose in Python.
Install
appium-python-client on PyPI
pip
pip install appium-python-clientuv
uv add appium-python-clientpoetry
poetry add appium-python-clientInstalling Appium-Python-Client
Before you install
Low friction install with only two runtime dependencies (selenium and typing-extensions). Actively maintained with a recent release; repository shows 1839 stars and last commit on 2026-08-14. Requires Python 3.10 or later.
License in practice
Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions—suitable for most development and testing scenarios.
Quickstart
pip install Appium-Python-Client
from appium import webdriver
from appium.options.android import UiAutomator2Options
options = UiAutomator2Options().load_capabilities({'platformName': 'Android'})
driver = webdriver.Remote('http://127.0.0.1:4723', options=options)
Requires a running Appium server (typically at http://127.0.0.1:4723) and a connected mobile device or emulator configured for testing.
Verify before relying
- Whether the package works with Python 3.14 in practice (listed in classifiers but relatively new).
- Specific version compatibility with selenium versions beyond 4.26.0 and the behavior of recent Selenium updates on Appium client stability.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — selenium, typing-extensions |
| Maintenance | actively maintained — 6 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 4,681,559/month — #2,255 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: appium_python_client-6.0.0-py3-none-any.whl
Keywords: appium, mobile automation, python client, selenium
Tags
More Testing packages
Pluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
virtualenvvirtualenv creates isolated Python environments…
permissive · top 100 on PyPI
coverageCoverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
pytest-asynciopytest-asyncio is a pytest plugin that enables…
permissive · top 1,000 on PyPI
pytest-json-ctrfA pytest plugin that generates test reports in…
permissive · top 1,000 on PyPI
robotframework-appiumlibraryAppiumLibrary is a Robot Framework library that…
permissive · top 15,000 on PyPI
selenium-page-factoryImplements a page factory pattern for Selenium…
permissive · top 15,000 on PyPI
eyes-seleniumVisual testing SDK for Selenium and Appium…
unclear · top 15,000 on PyPI
seleniumSelenium provides Python bindings to automate…
permissive · top 1,000 on PyPI
facebook-wdaPython client library for controlling iOS…
permissive · top 15,000 on PyPI
percy-appium-appIntegrates Percy visual testing into Python…
permissive · top 15,000 on PyPI
selenium-wireExtends Selenium's Python bindings to…
permissive · top 5,000 on PyPI
webdriver-managerAutomatically downloads, caches, and manages…
permissive · top 5,000 on PyPI
browserstack-sdkA Python SDK for running Selenium WebDriver…
unclear · top 15,000 on PyPI
lambdatest-sdk-utilsProvides Python SDK utilities for integrating…
permissive · top 15,000 on PyPI