Package: plyer
PlyerPlyer is a platform-independent api to use features commonly found on various
platforms, notably mobile ones, in Python.How plyer works?Plyer tries not to reinvent the wheel, and will call for external libraries to
implement the api in the easiest way, depending on the current platform.On Android(python-for-android), pyjnius is usedOn iOS(kivy-ios), pyobjus is usedOn windows/mac/linux, commonly found libraries and programs will be usedSupported APIsPlatformAndroidiOSWindowsOS XLinuxAccelerometer✔✔✔✔Audio recording✔✔✔Barometer✔✔Battery✔✔✔✔✔Bluetooth✔✔Brightness✔✔✔Call✔✔Camera (taking picture)✔✔Compass✔✔CPU count✔✔✔Devicename✔✔✔✔Email (open mail client)✔✔✔✔✔Flash✔✔GPS✔✔Gravity✔✔Gyroscope✔✔Humidity✔IR Blaster✔Keystore✔✔✔✔✔Light✔Native file chooser✔✔✔✔✔Notifications✔✔✔✔Orientation✔✔Proximity✔Screenshot✔✔✔SMS (send messages)✔✔Spatial Orientation✔✔Speech to text✔Storage Path✔✔✔✔✔Temperature✔Text to speech✔✔✔✔✔Unique ID✔✔✔✔✔Vibrator✔✔Wifi✔✔✔InstallationTo use on desktop:pip install plyerTo use in python-for-android/kivy-ios: addplyerto your requirements if needed.SupportIf you need assistance, you can ask for help on our mailing list:User Group :https://groups.google.com/group/kivy-usersEmail      :kivy-users@googlegroups.comDiscord channel:Server     :https://chat.kivy.orgChannel    : #devContributingWe love pull requests and discussing novel ideas. Check out ourcontribution guideand
feel free to improve Plyer.The following mailing list and IRC channel are used exclusively for
discussions about developing the Kivy framework and its sister projects:Dev Group :https://groups.google.com/group/kivy-devEmail     :kivy-dev@googlegroups.comIRC channel:Server  : irc.freenode.netPort    : 6667, 6697 (SSL only)Channel : #kivy-devLicensePlyer is released under the terms of the MIT License. Please refer to the
LICENSE file.ContributorsThis project exists thanks to all the people who contribute. [Contribute].BackersThank you to all our backers! 🙏 [Become a backer]SponsorsSupport this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]Change Log2.1.0(2022-11-12)Full ChangelogImplemented enhancements:Use xdg-desktop-portal for Notification inside Flatpak#680(JakobDev)Closed issues:Exception is thrown on try to play recorded audio clip#713iOS: filechooser - multiple files selection is not working#707Speech to text is not working with api 30 or more#693Traceback (most recent call last):
File "jnius/jnius_proxy.pxi", line 50, in jnius.jnius.PythonJavaClass.invoke
File "jnius/jnius_proxy.pxi", line 74, in jnius.jnius.PythonJavaClass._invoke
NotImplementedError: The method ('onLocationChanged', ('V', ('Ljava/util/List;',))) is not implemented#687Notify on Windows but without archiving notifications#684Notification icon as base64 instead of path#679plyer's last release was ~2 years ago, the number of open PRs is absurd, and the last meaningful commit was months ago#674iOS Filechooser that picks all document types (UIDocumentPickerViewController)#673Python dbus error on Linux when sending notification#658Is that project dead?#650Notification for android not working [ Drawable.icon ]#647audio don't work on android#644Unittests are failing on new clone#637Proposing a PR to fix a few small typos#622Remove python2 mentions from setup.py#608vibrator on android 10 java.lang.SecurityException#606How to change prompt input to upper or lower case in JS?#603Does this repo is maintained?#592Plyer notification not working on android#591Feature Request: Add Intent to Android Gallery(for Pictures)#588plyer.filechooser.save_file doesn't work on macOS X Catalina#578macOS notification NSUserNotificationCenter is deprecated + missing Info.plist#449Merged pull requests:action-gh-release now usesgithub.token#724(misl6)Bump version to 2.1.0 for release#723(misl6)Bump action-gh-release to a newer version#721(misl6)Update supported Python versions#720(misl6)Fixes some E275. + other minor PEP8 fixes#711(misl6)Document linux support for orientation#709(rshah713)Document supported platforms for humidity#704(rshah713)Keyword should only hold name of license#701(rshah713)Document supported platforms in native filechooser#700(rshah713)Fix Keystore comment to point at correct class#697(rshah713)Add missing platform for barometer#695(rshah713)Add missing platforms in audio#694(rshah713)Fixes a failing test for notification#692(misl6)Fixes style check#691(misl6)Clear documentation for Processors#689(rshah713)Create clear documentation for Keystore#688(rshah713)Added tick in ios native file chooser row#685(Neizvestnyj):zap: Fix pep8 violations#678(Zen-CODE):hammer: Fix pep 8 failure for CICD#677(Zen-CODE)fix some errors in readme file#676(AdamMusa)android 11+ compatibility Documents folder#672(moonpyx)Use sys.getandroidapilevel for more robust Android detection#670(rdb)More robust way to get application icon on Android for notification#669(rdb)Added the ability to track the closure of the file manager without selecting content#667(Neizvestnyj)Fix bug, when user canceled filechooser,on_selectiondoes not dispatched#666(Neizvestnyj)Bigger buffer, allows large selection#655(akshayaurora)fix: fix filechooser save dialog for the KDE#652(psyrykh)Change R$drawable to R$mipmap in notification.py for android platform#648(masterjoseph914)linux/storagepath: fixup a host of issues#646(rski)ChangePythonActivityjava class#642(Neizvestnyj)Enabled transient notifications on Linux#639(olumidesan)updated-device-name-implementation-for-backward-compatibility#634(ljnath)Added contributors in readme.md file#633(ljnath)Fixed pep8 errors#632(ljnath)Removed python2.6|7 reference and added reference for python 3.6|7|8#631(ljnath)Support to get android device name or hostname for linux and windows#630(ljnath)#611 add filters for file chooser on android#624(akshayaurora)docs: fix a few simple typos#623(akshayaurora)Add check for Trinity Desktop Environment#620(akshayaurora)FileChooser: MacOS: Use objectAtIndex_ to get multiple items#618(akshayaurora)add installation section in README.md#563(tshirtman)2.0.0(2020-11-09)Full ChangelogClosed issues:Macox notification - AttributeError: 'NoneType' object has no attribute 'setDelegate_'#586Can't display notifications with Plyer#582Unable to set app orientation#579Does plyer allow you to open another app?#577Calling notification.notify() raises "No Usable Implementation Found!" Error on Android#575tts is not working#572bluetooth for Android#571raise NotImplementedError()  NotImplementedError when I use tts#567Filter variable may be uninitialized in MacOSX filechooser#566Plyer camera cannot save image to the IOS phone#561How to turn on gps  ??#556How to disable mock location (fake gps) in kivy#555Release notes for v 1.4.3?#550battery.status isCharging always shows false in WINDOWS#541Filechooser on mac: using path, crashes python#524Android Filechooser not working#512Merged pull requests:Some APIs are only available for open panels.#590(matham)Fix uninitialized variable in MacOSX filechooser.#568(Mulugruntz)Fixing crash on MacOSX filechooser#565(Mulugruntz)Uses Python 3 syntax#554(AndreMiras)Feature/drop python2#553(AndreMiras)Fixes linter errors#552(AndreMiras)Remove unused linters#548(ghost)Fix linter warnings#547(ghost)Modification of Status isCharging in windows#546(irm19)1.4.3(2020-03-27)Full ChangelogClosed issues:IOS - GPS : 'IosGPS' object has no attribute '_location_manager'#538Android FileChooser crashes when back button pressed#534Notification not working on android#533FileChooser on Android: "on selection" fires multiple times.#530KIVY cannot access the android camera..#521No notification icons on Linux (Gnome)#514Vibrator is not working on Android#509notification.notify crashes Android Pie devices#504Vibrate revision in api 26#501Merged pull requests:Fix linter warnings in examples/gps/main.py#545(ghost)Switch to GitHub actions#544(ghost)Fix crash in Android Notification (SDK_INT >= 26)#543(ghost)Add native iOS FileBrowser#542(Zen-CODE)Prevent crash when cancelling filechooser#536(Zen-CODE)Make win filechooser use modern windows browser and fix small issues.#535(matham)Prevent re-binding of callback on each call#532(Zen-CODE)Add permission request to plyer GPS example#529(Zen-CODE)Handle absence of LinuxFileChooser backend#526(Cheaterman)Fix vibrator, which was not working on Android devices.#523(ghost)Added logic to support theon_statusmethod of the gps facade for i…#519(Dirk-Sandberg)Fix default audio file_path assignment error, file_path change for Py3#518(Nephyx)Add Windows applications storage path#517(magnusvmt)fix typo in supported API list#516(holdbar)fix the issue that tts.speak() crashes on android#511(Chao-Jen)Addresses plyer issue #240.#502(Dirk-Sandberg)Update README.md to add opencollective#499(tito)Bump to 1.4.0 for release#496(KeyWeeUsr)1.4.2(2019-09-05)Full Changelog1.4.1(2019-09-05)Full ChangelogClosed issues:I'll be Working on Linux audio#497Notification and service#494Windows notification - NotImplementedError: No usable implementation found!#485macOS notification NSUserNotificationCenter is deprecated + missing Info.plist#4491.4.0(2018-12-31)Full ChangelogImplemented enhancements:Windows microphone support#179Closed issues:jnius.jnius.JavaException: Class not found 'android/content/INTENT'#479macOS storagepath uses non-standard path for get_home_dir()#450Example Applications break down on a real device#338Feature request: Accelerometer on Linux (computers)#9Linux wifi implementation via rockymeza/wifi is broken#487Hardcoded 'wlan0' does not work on all devices#477GNU/Linux wifi disconnect() not working on Ubuntu 15.04+#452Plyer Email#420notification not working on android#402plyer.accelerometer not working with Kivy Launcher#401New PyPI release after 1.3.0#400plyer.notify.notification doesn't show ticker in Android#378plyer.uniqueid.id causes crash on Android with sdl2#245audio: JVM exception occurred: setAudioSource failed.#210Something wrong with encoding in AndroidNotification#175Merged pull requests:Implement WiFi for Linux with nmcli#495(KeyWeeUsr)Enhance Android notifications with toast and big icons#493(KeyWeeUsr)Fix android notifications missing channel on Oreo and later#492(KeyWeeUsr)Add Android Native filechooser and external SD card path to StoragePath#491(KeyWeeUsr)Fix OSX builds on Travis#490(KeyWeeUsr)Add audio recording and playing for Windows#489(KeyWeeUsr)Add support for interfaces in Linux WiFi#488(KeyWeeUsr)macOS tests - audio, battery, bluetooth, storagepath#482(Nephyx)Change 'Speech' to 'STT'#484(KeyWeeUsr)New extended CPU details implementation#483(KeyWeeUsr)Fix uniqueid for linux platform#481(KeyWeeUsr)Fix CI jobs reporting wrong coverage (non-imported modules ignored)#480(KeyWeeUsr)thegrymek: Android speech recognition#471(KeyWeeUsr)1.3.2(2018-11-16)Full ChangelogImplemented enhancements:[Feature Request] Termux support#360storage path support#152unicode broken in notifications on windows 8.#17Feature Request: Add adjustable tooltip text to Windows notification#14Closed issues:plyer notifications raising NotImplementedError on android#467TypeError when running examples in Python 3#392when i use buildozer and python3crystax to build apk  it not work ?#380Windows filechooser crash#375Using the camera crashes the app#369after calling an plyer audio function from an accelerometer function, App crashes.#361uniqueid.id fails under android and windows7 32bit python2.7#277Strange string returned by filechooser on Windows#177Email Support for OSX#32GPS Support for iOS#22Camera Support for iOS#21Example app for Camera facade#16Merged pull requests:Move TODO item to a separate issue#478(KeyWeeUsr)Add @deprecated decorator#476(KeyWeeUsr)Fixed macOS using non-standard path for get_home_dir()#475(Nephyx)Removed unnecessary grep dependency#474(Nephyx)Add enable & disable WiFi for Linux and MacOS#473(KeyWeeUsr)Cleaning the plyer root directory and CI scripts#468(KeyWeeUsr)Add more distros via Docker images#466(KeyWeeUsr)Add Linux Screenshot with X11's X Window Dump#463(KeyWeeUsr)Revert uppercase on autoclass values#462(KeyWeeUsr)Fixing Java class name#461(clevermindgames)Increase timeout for notification test#460(KeyWeeUsr)Add Windows Screenshot with ctypes+pywin32#459(KeyWeeUsr)Add screenshot test for OSX#458(KeyWeeUsr)OSX Screenshot (Rebased PR #324)#457(KeyWeeUsr)Rebased PR #239 + fixes#455(KeyWeeUsr)Bump to 1.3.2.dev0#446(KeyWeeUsr)Bump to 1.3.1#445(KeyWeeUsr)Add extra options for installation via setuptools#438(KeyWeeUsr)1.3.1(2018-10-14)Full ChangelogImplemented enhancements:Audio recording for macOS#428(Nephyx)Closed issues:plyer.wifi.is_enabled() always return false running in python3#436kivy-ios fails to build plyer#417Python 3 TabError#398is there a way of using the front camera instead of back#391storagepath.py  _get_application_dir: NotImplementedError#389plyer app crashes on android#387Can't pip install plyer through git#385speech to text#382text2speech doesn't work on platform Linux#372Changing file_path in audio.py example is not working#356How to change file_path of audio in plyer?#355Accelerometer in plyer#354iOS Gyroscope crashes#352Need keystore for storing user credentials#350plyer examples app always crashes in android phones, It says "Unfortunately "Name of app" has stopped working."#349Notification not working on Windows#333Accelerometer not working on linux#3271.3.0 broke notifications on Windows#318No encoding and °C causes SyntaxError#312GPS double output on output return value#302Cannot import wifi module in windows#272Merged pull requests:Add note about Windows icon format#444(KeyWeeUsr)Mark new audio recording feature in README.rst#443(KeyWeeUsr)Fix not decoding bytes in Linux orientation.py#442(KeyWeeUsr)Fix b' embedded in the path string for Windows' choose_dir()#441(KeyWeeUsr)Add missing parameter for Windows' WlanCloseHandle()#440(KeyWeeUsr)Revert facades/wifi.py change from PR #301#439(KeyWeeUsr)Update wifi.py#437(Vibhu-Agarwal)Remove notification webhook from travis#434(dessant)Fix Travis build for pull requests#432(KeyWeeUsr)Changed OSX storage path from ctypes to pyobjus#431(Nephyx)Fix Pylint errors W0150, W0511, W0601, W0603, W0610#430(KeyWeeUsr)Fix Pylint errors W0611, W0612, W0622, W0702, W0703#427(KeyWeeUsr)Disable all Pylint errors to fix red jobs#426(KeyWeeUsr)Downgrade Travis due to missing docker service on Ubuntu Bionic#425(KeyWeeUsr)Switch from Ubuntu Trusty to Ubuntu Bionic LTS#424(KeyWeeUsr)Fix style issues in utils, compat and setup.py#423(KeyWeeUsr)Clickable notifications, fixes #154#422(AndreMiras)Fix style in test_facade.py#418(KeyWeeUsr)Fix pep8 issues in files#416(KeyWeeUsr)Add script for CI deployment to PyPI#413(KeyWeeUsr)Fix travis to use real branch instead of detached HEAD#412(KeyWeeUsr)Add linux battery from sysclass#411(KeyWeeUsr)Switch to unicode in macosx battery.py#410(KeyWeeUsr)Fix test_facade failing for Py3 by switching to Mocks#409(KeyWeeUsr)Add Dockerfiles for testing, fix tests and style#408(KeyWeeUsr)Implemented storagepath in linux#407(Sires0)Improve messages for missing dependencies#406(dolang)Updates README.rst, removes dup in supported API#403(AndreMiras)why should decode 'l' again and again#396(xhimanshuz)Correcting issuehttps://github.com/kivy/plyer/issues/392for linux p…#395(ghost)Number Of Processors for Linux Platform#394(salil-gtm)enhancement: bluetooth status#388(kapilnayar)Show that bluetooth is not supported#379(zerox1212)Arrange APIs table in alphabetical order#377(sumitmadhwani)Add list of supported platforms to facade#376(sumitmadhwani)Add iOS api for storage path#374(sumitmadhwani)update readme#373(sandeepsajan0)Update buildozer.spec#370(sandeepsajan0)Warn instead stder.write for linux notif errors#368(sametmax)Add coveralls.io report#367(KeyWeeUsr)Fix pep8 in plyer#366(KeyWeeUsr)iOS Barometer API#363(sumitmadhwani)Fix iOS Gyroscope crash issue#353(sumitmadhwani)Keystore implementation.#351(brentpicasso)iOS Spatial orientation#348(sumitmadhwani)iOS Gravity sensor#347(sumitmadhwani)Linux Brightness API#346(sumitmadhwani)Brightness API#344(sumitmadhwani)Fix bug in WindowsBalloonTip#343(Chronial)Storage path API#342(sumitmadhwani)Compass uncalibrated#341(sumitmadhwani)Gyroscope uncalibrated sensor#337(sumitmadhwani)Spatial Orientation for android#336(sumitmadhwani)Update win_api_defs.py#335(sumitmadhwani)Add some tests + Appveyor#329(KeyWeeUsr)Fix notification ticker error + pep8#328(KeyWeeUsr)Pep8 fix in temperature.py#322(sumitmadhwani)Example for Unique ID facade#321(sumitmadhwani)Android Humidity#301(bhaveshAn)fix handling of notifications' timeout on Linux#297(benoit-pierre)Facade Wifi#290(bhaveshAn)orientation feature for linux#273(susmit)Fix wifi module.#244(account-login)1.3.0(2017-03-23)Full ChangelogImplemented enhancements:Feature Request: Alarms#8Closed issues:Notification.notify crashes android app#296GPS android crash on launch#288Send SMS feature not working#261gps.configure() results in exception#257v1.2.4 archive not available via github#234SyntaxError in wifi.py for Linux#230New PyPi release please, to fix static jfieldID not valid for class java.lang.Class<org.renpy.android.PythonActivity>#229Drag-and-drop: originate in Kivy, drop in some external app#228GPS Issue after in iOS after last changes in plyer#224battery.status isCharging always shows false#221GPS example only updating location once#217uniqueid.id raises exception on Windows#212Redundant libs folder#209accelerometer on Android with Kivy Launcher 1.9.0 not working#206Camera on android doesn't return to app#200android compass suggestion#195more example code to the docs#166Mail API on linux raises error NameError: name 'Email' is not defined#131native gui widgets#124android: using gps app cannot resume from pause#112Please upgrade pypi !#94UniqueID using OpenID#83Display the notification in the right places#78Python3 All The Plyer!#12Merged pull requests:Modify readme#308(malverick)Add version tags in light and temperature facade#307(malverick)Android ambient temperature sensor#293(malverick)Android light sensor#292(malverick)Plyer android proximity sensor#287(malverick)Plyer android pressure sensor#286(malverick)Update readme and plyer/__init__.py#285(malverick)Plyer android gravity sensor#283(malverick)Add on_pause function#274(malverick)uniqueid_facade#270(bhaveshAn)add bin and .buildozer directory to .gitignore#259(malverick)pep8 fixes#250(malverick)update code#249(kiok46)Adding small examples in facade files#237(kiok46)Fix TypeError ifLANGis not set in on osx#232(ForeverWintr)fix #230#231(kiok46)fix gps issue for ios#225(kiok46)Fixed issue #221#223(Warlord77)Add flash example#219(kiok46)Make gps request parameters configurable#218(kiok46)Wifi Facade. OSX, Windows, Linux#213(kiok46)add sms for ios#203(kiok46)check android for namespace, otherwise use renpy#199(kived)fix p4a revamp#198(kived)Rewrite notification on Mac using PyOBJus#192(andong777)Call for ios#191(kiok46)Note on requirements for iOS#187(doratoa)Adding battery example, notification ticker and gps example update#183(kiok46)Call and dial for android#181(kiok46)Dial or Call for android#180(kiok46)Added accuracy argument to on_location call.#174(lipi)Introduce camera access for ios and a example.#167(akshayaurora)macosx: fix incorrect method name in filechooser#165(kived)linux email import fix#151(thegrymek)Merge android columns#148(dessant)Camera example#41(trivedigaurav)v1.2.4(2015-06-01)Full ChangelogImplemented enhancements:Update platform check code#109Closed issues:webhook test#142Sync style check updates from the Kivy repo#141GPS on android doesn't work (a strange error)#136Create toast notification facade for Android and iOS#126uniqueid.id empty on linux.#114Gyroscope Support for iOS#111AndroidUniqueID doesn't use Android ID#107OverflowError: Python int too large to convert to C long [android lollipop]#103Feature request: ability to open browser to a particular page#98AndroidGPS list GPS Provider but use hardcoded "gps"#54Email Support for Android < 4.0#42Merged pull requests:style fixes#147(dessant)add pydev files to gitignore#146(dessant)Plyer style guide update#145(thegrymek)Plyer audio for android with facade and example#144(thegrymek)fix versionchanged tag#143(dessant)update info about support email for android<4.0#140(thegrymek)added plyer.facade to setuptools package#139(thegrymek)splitted facades#138(thegrymek)Inclement orientation#135(thegrymek)remove unused variables#134(thegrymek)fix #107 - Use Android_ID instead of IMEI#133(aron-bordin)vibrator for android v < 4.0#129(thegrymek)PEP8 and typo fixes in MacOS X file chooser.#123(robertjerovsek)pep8 - removed unused imports and variables#122(thegrymek)Pep8 fix#121(laltin)add video recoding to Camera facade and camera.py#120(pspchucky)Use environ to change LANG to 'C' while calling shell processes#119(trivedigaurav)add IrBlaster facade and Android implementation#118(kived)Android gps.py: fixed location provider cycling#117(JimmyStavros)iOS GPS support#116(laltin)use environ to change LANG to 'C' while calling lshw#115(tshirtman)responds to issue 109https://github.com/kivy/plyer/issues/109#110(AlbericC)Add file chooser facade and support for Linux and Windows#106(Depaulicious)1.2.3(2015-01-27)Full Changelog1.2.2(2015-01-27)Full ChangelogClosed issues:NotImplementedError: No usable implementation found! whith usable implementations on the system.#108Gyro example#101Notification is not working in android#93plyer.notification.notfy() raises NotImplementedError under Python 3.3 in Linux but not Python 2.7#58Merged pull requests:Linux platform check made compatible with python 3.3+ (Fixes #58)#102(helenst)1.2.1(2014-08-19)Full ChangelogImplemented enhancements:Feature Request: codec-independent sound player#2Closed issues:Battery status connected is actually isCharging#84Email Support for Windows#36Accelerometer Support for OSX#29Email Support for Linux#28Email Support for iOS#25TextToSpeech Support for iOS#24Merged pull requests:fix print statement#92(dessant)iOS UUID facade#90(trivedigaurav)Removing build_ext from plyer#89(trivedigaurav)iOS Email Facade#88(trivedigaurav)iOS Battery#86(trivedigaurav)Change connected to isCharging#85(trivedigaurav)Return None until sensor data is available#82(trivedigaurav)Update compass.py#80(ChrisCole42)Use whereis_exe to check for binaries#79(trivedigaurav)Update compass.py#77(ChrisCole42)Maintenance#75(trivedigaurav)facade docstring revision#74(dessant)Query Battery info/status#73(trivedigaurav)Revert "Activity was imported twice"#71(trivedigaurav)Fix tabbing#70(trivedigaurav)Gyroscope facade proxy declarations#69(trivedigaurav)Linux accelerometer facade#68(trivedigaurav)Update README.rst#67(trivedigaurav)1.2.0(2014-06-24)Implemented enhancements:Feature Request: Add adjustable timeout option to Windows notification#13Changes notify to use ctypes instead of win32gui so we could use unicode.#18(matham)User-specified icon support for Windows notifications#11(brousch)Added Vibrator facade and android implementation#6(inclement)Closed issues:GPS example crashes#40TextToSpeech Example App#20Accelerometer Example App#19Merged pull requests:Plyer Unique ID facade#66(trivedigaurav)Switched to pyjnius#63(trivedigaurav)Update README#62(trivedigaurav)Gyroscope Facades#60(trivedigaurav)Ios compass#59(trivedigaurav)Plyer compass facade#57(trivedigaurav)Update README#56(trivedigaurav)Using sudden motion sensor as accelerometer on OSX#55(trivedigaurav)Added sms facade, example and android implementation#52(mihaineacsu)add Mac OS X email support#49(Depaulicious)add Windows email support#48(Depaulicious)added Linux email support#47(Depaulicious)Add compat module, remove decoding of strings in notification#46(matham)Created an accelerometer example. Uses garden graph to plot the values#39(trivedigaurav)Shows an error popup if there is no TTS#38(trivedigaurav)Text to Speech Example#37(trivedigaurav)readme typo corrected#15(ghost)Introduce dbus notification#10(akshayaurora)Added an email facade and basic android implementation#5(inclement)Tts#1(brousch)*This Change Log was automatically generated bygithub_changelog_generator