{"id":13502123,"url":"https://github.com/kivy/plyer","last_synced_at":"2025-05-13T00:12:30.442Z","repository":{"id":6523596,"uuid":"7764556","full_name":"kivy/plyer","owner":"kivy","description":"Plyer is a platform-independent Python wrapper for platform-dependent APIs","archived":false,"fork":false,"pushed_at":"2025-02-27T06:43:04.000Z","size":1647,"stargazers_count":1705,"open_issues_count":185,"forks_count":434,"subscribers_count":91,"default_branch":"master","last_synced_at":"2025-05-13T00:12:20.380Z","etag":null,"topics":["android","api-wrapper","ios","linux","macos","python","windows"],"latest_commit_sha":null,"homepage":"https://plyer.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kivy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2013-01-23T00:27:33.000Z","updated_at":"2025-05-09T19:14:06.000Z","dependencies_parsed_at":"2023-02-18T23:01:54.723Z","dependency_job_id":"e805899e-effd-4f1e-9bd8-0ab48e01f4d5","html_url":"https://github.com/kivy/plyer","commit_stats":{"total_commits":830,"total_committers":98,"mean_commits":8.46938775510204,"dds":0.7963855421686747,"last_synced_commit":"c9e73f395e2b51d46ada68119abfae2973591c00"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kivy%2Fplyer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kivy%2Fplyer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kivy%2Fplyer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kivy%2Fplyer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kivy","download_url":"https://codeload.github.com/kivy/plyer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253843219,"owners_count":21972874,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","api-wrapper","ios","linux","macos","python","windows"],"created_at":"2024-07-31T22:02:02.725Z","updated_at":"2025-05-13T00:12:30.408Z","avatar_url":"https://github.com/kivy.png","language":"Python","funding_links":["https://opencollective.com/kivy)!","https://opencollective.com/kivy"],"categories":["Python"],"sub_categories":[],"readme":"# Plyer\n\nPlyer is a platform-independent Python API for accessing hardware features\nof various platforms (Android, iOS, macOS, Linux and Windows).\n\nPlyer is managed by the [Kivy Team](https://kivy.org/about.html). It is suitable for\nuse with Kivy apps, but can be used independently.\n\n[![Backers on Open Collective](https://opencollective.com/kivy/backers/badge.svg)](#backers)\n[![Sponsors on Open Collective](https://opencollective.com/kivy/sponsors/badge.svg)](#sponsors)\n[![GitHub contributors](https://img.shields.io/github/contributors-anon/kivy/plyer)](https://github.com/kivy/plyer/graphs/contributors)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](code_of_conduct.md)\n\n\n![PyPI - Version](https://img.shields.io/pypi/v/plyer)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/plyer)\n\n\n[![coverage](https://coveralls.io/repos/kivy/plyer/badge.svg?branch=master)](https://coveralls.io/r/kivy/plyer?branch=master)\n![Continuous Integration with Ubuntu](https://github.com/kivy/plyer/workflows/Continuous%20Integration%20with%20Ubuntu/badge.svg) \n![Continuous Integration with OSX](https://github.com/kivy/plyer/workflows/Continuous%20Integration%20with%20OSX/badge.svg)\n![Continuous Integration with Windows](https://github.com/kivy/plyer/workflows/Continuous%20Integration%20with%20Windows/badge.svg)\n![Deploy to PyPI](https://github.com/kivy/plyer/workflows/Deploy%20to%20PyPI/badge.svg)\n\n## How plyer works?\n\nPlyer tries not to reinvent the wheel, and will call external libraries to\nimplement the API in the easiest way, depending on the current platform.\n\n- On Android ([python-for-android](https://python-for-android.readthedocs.io/)), [PyJNIus](https://pypi.org/project/pyjnius/) is used.\n- On iOS ([kivy-ios](https://pypi.org/project/kivy-ios/)) and macOS,\n  [pyobjus](https://pypi.org/project/pyobjus/) is used. \n- On Windows, macOS and Linux, other commonly found libraries and programs \n  are used.\n\n\n## Supported APIs\n\n| Platform                       | Android | iOS | Windows | macOS | Linux |\n| ------------------------------ |:-------:|:---:|:-------:|:-----:|:-----:|\n| Accelerometer                  | ✔       |  ✔ |         | ✔     |   ✔   |\n| Audio recording                | ✔       |     |    ✔    | ✔     |       |\n| Barometer                      | ✔       |  ✔  |         |       |       |\n| Battery                        | ✔       |  ✔  |    ✔    | ✔     |   ✔   |\n| Bluetooth                      | ✔       |     |         | ✔     |       |\n| Brightness                     | ✔       |  ✔  |         |       |   ✔   |\n| Call                           | ✔       |  ✔  |         |       |       |\n| Camera (taking picture)        | ✔       |  ✔  |         |       |       |\n| Compass                        | ✔       |  ✔  |         |       |       |\n| CPU count                      |         |     |    ✔    | ✔     |   ✔   |\n| Devicename                     | ✔       |     |    ✔    | ✔     |   ✔   |\n| Email (open mail client)       | ✔       |  ✔  |    ✔    | ✔     |   ✔   |\n| Flash                          | ✔       |  ✔  |         |       |       |\n| GPS                            | ✔       |  ✔  |         |       |       |\n| Gravity                        | ✔       |  ✔  |         |       |       |\n| Gyroscope                      | ✔       |  ✔  |         |       |       |\n| Humidity                       | ✔       |     |         |       |       |\n| IR Blaster                     | ✔       |     |         |       |       |\n| Keystore                       | ✔       |  ✔  |    ✔    | ✔     |   ✔   |\n| Light                          | ✔       |     |         |       |       |\n| Maps                           |         |  ✔  |         | ✔     |       |\n| Native file chooser            | ✔       |  ✔  |    ✔    | ✔     |   ✔   |\n| Notifications                  | ✔       |     |    ✔    | ✔     |   ✔   |\n| Orientation                    | ✔       |     |         |       |   ✔   |\n| Proximity                      | ✔       |     |         |       |       |\n| Screenshot                     |         |     |    ✔    | ✔     |   ✔   |\n| SMS (send messages)            | ✔       |  ✔  |         | ✔     |       |\n| Spatial Orientation            | ✔       |  ✔  |         |       |       |\n| Speech to text                 | ✔       |     |         |       |       |\n| Storage Path                   | ✔       |  ✔  |    ✔    | ✔     |   ✔   |\n| Temperature                    | ✔       |     |         |       |       |\n| Text to speech                 | ✔       |  ✔  |    ✔    | ✔     |   ✔   |\n| Unique ID                      | ✔       |  ✔  |    ✔    | ✔     |   ✔   |\n| Vibrator                       | ✔       |  ✔  |         |       |       |\n| Voip                           | ✔       |  ✔  |         |       |       |\n| Wifi                           |         |     |    ✔    | ✔     |   ✔   |\n\n## Documentation\n\nFull documentation, including details about the API, is available \n[online](https://plyer.readthedocs.io/en/latest/). If you are not using the\nlatest version of Plyer, earlier versions of the documentations are linked\nfrom there.\n\n## Installation\n\nTo use on desktop: `pip install plyer`\nTo use in python-for-android and Kivy for iOS, add `plyer` to your requirements\nif needed.\n\n## License\n\nPlyer is [MIT licensed](LICENSE), actively developed by a great\ncommunity and is supported by many projects managed by the \n[Kivy Organization](https://www.kivy.org/about.html).\n\n## Support\n\nAre you having trouble using Plyer or any of its related projects in the Kivy\necosystem?\nIs there an error you don’t understand? Are you trying to figure out how to use \nit? We have volunteers who can help!\n\nThe best channels to contact us for support are listed in the latest \n[Contact Us](https://github.com/kivy/plyer/blob/master/CONTACT.md) document.\n\n## Contributing\n\nPlyer is part of the [Kivy](https://kivy.org) ecosystem - a large group of\nproducts used by many thousands of developers for free, but it\nis built entirely by the contributions of volunteers. We welcome (and rely on) \nusers who want to give back to the community by contributing to the project.\n\nContributions can come in many forms. See the latest \n[Contribution Guidelines](https://github.com/kivy/plyer/blob/master/CONTRIBUTING.md)\nfor how you can help us.\n\n## Code of Conduct\n\nIn the interest of fostering an open and welcoming community, we as \ncontributors and maintainers need to ensure participation in our project and \nour sister projects is a harassment-free and positive experience for everyone. \nIt is vital that all interaction is conducted in a manner conveying respect, \nopen-mindedness and gratitude.\n\nPlease consult the [latest Code of Conduct](https://github.com/kivy/plyer/blob/master/CODE_OF_CONDUCT.md).\n\n## Contributors\n\nThis project exists thanks to \n[all the people who contribute](https://github.com/kivy/plyer/graphs/contributors).\n[[Become a contributor](CONTRIBUTING.md)].\n\n\u003cimg src=\"https://contrib.nn.ci/api?repo=kivy/plyer\u0026pages=5\u0026no_bot=true\u0026radius=22\u0026cols=18\"\u003e\n\n## Backers\n\nThank you to [all of our backers](https://opencollective.com/kivy)! \n🙏 [[Become a backer](https://opencollective.com/kivy#backer)]\n\n\u003cimg src=\"https://opencollective.com/kivy/backers.svg?width=890\u0026avatarHeight=44\u0026button=false\"\u003e\n\n## Sponsors\n\nSpecial thanks to \n[all of our sponsors, past and present](https://opencollective.com/kivy).\nSupport this project by \n[[becoming a sponsor](https://opencollective.com/kivy#sponsor)].\n\nHere are our top current sponsors. Please click through to see their websites,\nand support them as they support us. \n\n\u003c!--- See https://github.com/orgs/kivy/discussions/15 for explanation of this code. --\u003e\n\u003ca href=\"https://opencollective.com/kivy/sponsor/0/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/kivy/sponsor/0/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/kivy/sponsor/1/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/kivy/sponsor/1/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/kivy/sponsor/2/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/kivy/sponsor/2/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/kivy/sponsor/3/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/kivy/sponsor/3/avatar.svg\"\u003e\u003c/a\u003e\n\n\u003ca href=\"https://opencollective.com/kivy/sponsor/4/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/kivy/sponsor/4/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/kivy/sponsor/5/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/kivy/sponsor/5/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/kivy/sponsor/6/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/kivy/sponsor/6/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/kivy/sponsor/7/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/kivy/sponsor/7/avatar.svg\"\u003e\u003c/a\u003e\n\n\u003ca href=\"https://opencollective.com/kivy/sponsor/8/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/kivy/sponsor/8/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/kivy/sponsor/9/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/kivy/sponsor/9/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/kivy/sponsor/10/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/kivy/sponsor/10/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/kivy/sponsor/11/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/kivy/sponsor/11/avatar.svg\"\u003e\u003c/a\u003e\n\n\u003ca href=\"https://opencollective.com/kivy/sponsor/12/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/kivy/sponsor/12/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/kivy/sponsor/13/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/kivy/sponsor/13/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/kivy/sponsor/14/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/kivy/sponsor/14/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/kivy/sponsor/15/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/kivy/sponsor/15/avatar.svg\"\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkivy%2Fplyer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkivy%2Fplyer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkivy%2Fplyer/lists"}