plyer
Platform-independent wrapper for platform-dependent APIs
Decision gist · record as of 2026-08-14
No. Plyer is abandoned (last release 1371 days ago) with unresolved issues on modern OS versions. While it has no install friction and a permissive license, the lack of maintenance means platform-specific backends are likely broken or incompatible with current Android, iOS, Windows, and macOS APIs. Use only if you are maintaining legacy code or willing to fork and patch it yourself; for new projects, prefer actively maintained alternatives.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Platform-specific backends (pyjnius for Android, pyobjus for iOS, system libraries for desktop) must be available; not all APIs are supported on all platforms—check the supported APIs table in the documentation.
- Installation is straightforward with no runtime dependencies, but the project is abandoned as of 1371 days since its last release (2022-11-12).
- Active maintenance has stalled; many open issues and pull requests remain unresolved, and platform-specific implementations may be outdated or broken on current OS versions.
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions, requiring only attribution and inclusion of the license text.
last release 2022-11-12 (1371 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 287,715 downloads/mo, #8,029 on PyPI
Alternatives
Verify before relying
pip install plyer
from plyer import accelerometer
accel = accelerometer.acceleration- Current compatibility with Python 3.10+ and 3.11+ on modern OS versions (last tested in 2022)
- Whether platform-specific backends (pyjnius, pyobjus) remain functional with current versions
- Status of known issues documented in the changelog (e.g., Android 10+ vibrator permissions, macOS deprecated APIs)
What it is and what it does
Plyer is a Python wrapper that abstracts platform-specific APIs into a single, cross-platform interface. Instead of writing separate code for Android, iOS, Windows, macOS, and Linux, you call Plyer's unified API and it delegates to the appropriate backend—pyjnius on Android, pyobjus on iOS, and native system libraries on desktop platforms. It covers a broad range of device capabilities: motion sensors (accelerometer, gyroscope, compass), environmental sensors (barometer, temperature, humidity), hardware controls (vibrator, brightness, flash), communication (SMS, email, calls), location (GPS), storage, notifications, file choosers, and more.
The package has no runtime dependencies and installs easily, but it is no longer actively maintained. The last release was in November 2022, and the project shows signs of abandonment with many unresolved issues and pull requests. Platform-specific implementations may be outdated or incompatible with current OS versions, particularly on Android (API 30+), iOS, and macOS where APIs have evolved. If you need to access device features in a cross-platform Python application, Plyer can still work for basic use cases, but you should expect to encounter platform-specific bugs and may need to fork or patch the code for modern OS support.
Use it for
- Build a cross-platform mobile app using Kivy that reads accelerometer and GPS data without platform-specific code branches.
- Send notifications and access file choosers from a desktop Python application on Windows, macOS, and Linux with a single API.
- Access device sensors (battery, brightness, orientation) in a Python-for-Android or Kivy-iOS application.
- Implement text-to-speech or speech-to-text features across multiple platforms with a unified interface.
- Retrieve device metadata (unique ID, device name, CPU count) in a platform-agnostic way.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
No.
Plyer is abandoned (last release 1371 days ago) with unresolved issues on modern OS versions. While it has no install friction and a permissive license, the lack of maintenance means platform-specific backends are likely broken or incompatible with current Android, iOS, Windows, and macOS APIs. Use only if you are maintaining legacy code or willing to fork and patch it yourself; for new projects, prefer actively maintained alternatives.
Install
plyer on PyPI
Before you install
Installation is straightforward with no runtime dependencies, but the project is abandoned as of 1371 days since its last release (2022-11-12). Active maintenance has stalled; many open issues and pull requests remain unresolved, and platform-specific implementations may be outdated or broken on current OS versions.
Platform-specific backends (pyjnius for Android, pyobjus for iOS, system libraries for desktop) must be available; not all APIs are supported on all platforms—check the supported APIs table in the documentation.
License in practice
MIT license permits commercial and private use with minimal restrictions, requiring only attribution and inclusion of the license text.
Quickstart
pip install plyer
from plyer import accelerometer
accel = accelerometer.acceleration
Verify before relying
- Current compatibility with Python 3.10+ and 3.11+ on modern OS versions (last tested in 2022)
- Whether platform-specific backends (pyjnius, pyobjus) remain functional with current versions
- Status of known issues documented in the changelog (e.g., Android 10+ vibrator permissions, macOS deprecated APIs)
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Abandoned 1,371 days since the last release |
| First released | |
| Downloads | 287,715 / month, #8,029 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9 |
Evidence: plyer-2.1.0-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “cross-platform device api”
- plyerPlyer provides a platform-independent Python API to access device…
- serialxSerialx provides synchronous and native asynchronous APIs for serial…
- pyusbPyUSB provides Python access to USB devices on the host machine…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
See also buildozer · Kivy · desktop-notifier · pyapns-client · apns2-up · pyjnius · robotframework-appiumlibrary · notify_py · aioapns · pyobjc-framework-CoreMotion