{"library":"mozdevice","title":"Mozdevice (Mozilla Device Management)","description":"Mozdevice is a Python library developed by Mozilla for managing and interacting with mobile devices (Android, Firefox OS/B2G) via ADB, as well as desktop browsers. It provides functionalities for device introspection, application management, and remote command execution, primarily used in automated testing and development workflows. The current version is 4.2.0, with an active release cadence driven by Mozilla's mobile testing needs. It requires Python 3.6 or newer.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install mozdevice"],"cli":null},"imports":["from mozdevice.devicemanager import DeviceManager"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom mozdevice.devicemanager import DeviceManager\n\ntry:\n    # Connect to a locally available ADB device\n    # If multiple devices are connected, you might need to specify 'serial'\n    dm = DeviceManager()\n    print(f\"Connected to device: {dm.name}\")\n    print(f\"Device type: {dm.device_type}\")\n    print(f\"Device OS: {dm.os}\")\n\n    # Example: Get a list of installed packages (Android)\n    if dm.os == 'android':\n        packages = dm.list_packages()\n        print(f\"Number of installed packages: {len(packages)}\")\n        # print(f\"Sample packages: {packages[:5]}\")\n\nexcept Exception as e:\n    print(f\"Error connecting or interacting with device: {e}\")\n    print(\"Please ensure ADB is installed and a device is connected and authorized.\")","lang":"python","description":"This quickstart connects to a locally available Android device via ADB, retrieves basic device information, and lists installed packages. Ensure ADB (Android Debug Bridge) is installed and configured in your system's PATH, and a device is connected and authorized.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"4.2.0","pypi_latest":"4.2.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":2.2,"avg_import_s":null,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"mozdevice","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"21.3M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"mozdevice","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2.3,"import_time_s":null,"mem_mb":null,"disk_size":"22M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"mozdevice","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"23.8M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"mozdevice","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2.3,"import_time_s":null,"mem_mb":null,"disk_size":"24M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"mozdevice","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"15.5M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"mozdevice","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2,"import_time_s":null,"mem_mb":null,"disk_size":"16M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"mozdevice","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"15.2M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"mozdevice","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2.1,"import_time_s":null,"mem_mb":null,"disk_size":"16M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"mozdevice","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"20.8M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"mozdevice","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2.5,"import_time_s":null,"mem_mb":null,"disk_size":"21M"}]}}