kivy / plyer Goto Github PK
View Code? Open in Web Editor NEWPlyer is a platform-independent Python wrapper for platform-dependent APIs
Home Page: https://plyer.readthedocs.io
License: MIT License
Plyer is a platform-independent Python wrapper for platform-dependent APIs
Home Page: https://plyer.readthedocs.io
License: MIT License
An interface to play a sound no matter what codecs are supported on a particular platform. The user will probably have to provide the sound in a few formats, but the user should not have to manually check codecs and platforms to play the sound.
With android lollipop and the gps example, i get the following error when i try to start the gps service (from the gui) :
I/python ( 9571): Android kivy bootstrap done. name is main
I/python ( 9571): Run user program, change dir and execute main.py
I/python ( 9571): [INFO ] Kivy v1.8.0
I/python ( 9571): [INFO ] [Logger ] Record log in /data/data/org.test.gpsexample/files/.kivy/logs/kivy_14-12-22_2.txt
I/python ( 9571): [INFO ] [Factory ] 157 symbols loaded
I/python ( 9571): [DEBUG ] [Cache ] register <kv.lang> with limit=None, timeout=Nones
I/python ( 9571): [DEBUG ] [Cache ] register <kv.image> with limit=None, timeout=60s
I/python ( 9571): [DEBUG ] [Cache ] register <kv.atlas> with limit=None, timeout=Nones
I/python ( 9571): /data/data/org.test.gpsexample/files/lib/python2.7/site-packages/kivy/core/image/img_pygame.py:12: RuntimeWarning: import cdrom: No module named cdrom
I/python ( 9571): (ImportError: No module named cdrom)
I/python ( 9571): [INFO ] [Image ] Providers: img_tex, img_dds, img_pygame, img_gif (img_pil ignored)
I/python ( 9571): [DEBUG ] [Cache ] register <kv.texture> with limit=1000, timeout=60s
I/python ( 9571): [DEBUG ] [Cache ] register <kv.shader> with limit=1000, timeout=3600s
I/python ( 9571): [DEBUG ] [App ] Loading kv <./gpstest.kv>
I/python ( 9571): [DEBUG ] [App ] kv <./gpstest.kv> not found
I/python ( 9571): [DEBUG ] [Window ] Ignored <egl_rpi> (import error)
I/python ( 9571): [INFO ] [Window ] Provider: pygame(['window_egl_rpi'] ignored)
I/python ( 9571): [DEBUG ] [WinPygame ] Set window to fullscreen mode
I/libSDL ( 9571): SDL_SetVideoMode(): application requested mode 1080x1701
I/python ( 9571): [DEBUG ] [Window ] Display driver android
I/python ( 9571): [DEBUG ] [Window ] Actual window size: 1080x1701
I/python ( 9571): [INFO ] [GL ] OpenGL version <OpenGL ES 3.0 [email protected] AU@ (GIT@I68fa98814b)>
I/python ( 9571): [INFO ] [GL ] OpenGL vendor
I/python ( 9571): [INFO ] [GL ] OpenGL renderer <Adreno (TM) 330>
I/python ( 9571): [INFO ] [GL ] OpenGL parsed version: 3, 0
I/python ( 9571): [INFO ] [GL ] Texture max size <4096>
I/python ( 9571): [INFO ] [GL ] Texture max units <16>
I/python ( 9571): [DEBUG ] [Shader ] Fragment compiled successfully
I/python ( 9571): [DEBUG ] [Shader ] Vertex compiled successfully
I/python ( 9571): [DEBUG ] [ImagePygame ] Load </data/data/org.test.gpsexample/files/lib/python2.7/site-packages/kivy/data/glsl/default.png>
I/python ( 9571): [INFO ] [Support ] Android install hooks
I/python ( 9571): [INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
I/python ( 9571): [INFO ] [Text ] Provider: pygame
I/python ( 9571): [INFO ] [OSC ] using for socket
I/python ( 9571): [DEBUG ] [Base ] Create provider from android
I/python ( 9571): [INFO ] [Base ] Start application main loop
I/python ( 9571): [INFO ] [Android ] found 17 joystick
I/python ( 9571): [INFO ] [Android ] create joystick <0>
I/python ( 9571): [INFO ] [Android ] discard joystick <0> cause no button
I/python ( 9571): [INFO ] [Android ] create joystick <1>
I/python ( 9571): [INFO ] [Android ] create joystick <2>
I/python ( 9571): [INFO ] [Android ] create joystick <3>
I/python ( 9571): [INFO ] [Android ] create joystick <4>
I/python ( 9571): [INFO ] [Android ] create joystick <5>
I/python ( 9571): [INFO ] [Android ] create joystick <6>
I/python ( 9571): [INFO ] [Android ] create joystick <7>
I/python ( 9571): [INFO ] [Android ] create joystick <8>
I/python ( 9571): [INFO ] [Android ] create joystick <9>
I/python ( 9571): [INFO ] [Android ] create joystick <10>
I/python ( 9571): [INFO ] [Android ] create joystick <11>
I/python ( 9571): [INFO ] [Android ] create joystick <12>
I/python ( 9571): [INFO ] [Android ] create joystick <13>
I/python ( 9571): [INFO ] [Android ] create joystick <14>
I/python ( 9571): [INFO ] [Android ] create joystick <15>
I/python ( 9571): [INFO ] [Android ] create joystick <16>
I/python ( 9571): [INFO ] [GL ] NPOT texture support is available
I/python ( 9571): [DEBUG ] [Atlas ] Load </data/data/org.test.gpsexample/files/lib/python2.7/site-packages/kivy/data/../data/images/defaulttheme.atlas>
I/python ( 9571): [DEBUG ] [Atlas ] Need to load 1 images
I/python ( 9571): [DEBUG ] [Atlas ] Load </data/data/org.test.gpsexample/files/lib/python2.7/site-packages/kivy/data/../data/images/defaulttheme-0.png>
I/python ( 9571): [DEBUG ] [ImagePygame ] Load </data/data/org.test.gpsexample/files/lib/python2.7/site-packages/kivy/data/../data/images/defaulttheme-0.png>
D/audio_hw_primary( 183): disable_audio_route: reset and update mixer path: low-latency-playback
D/audio_hw_primary( 183): disable_snd_device: snd_device(2: speaker)
I/python ( 9571): Traceback (most recent call last):
I/python ( 9571): File "jnius_proxy.pxi", line 143, in jnius.jnius.py_invoke0 (jnius/jnius.c:23653)
I/python ( 9571): File "jnius_conversion.pxi", line 368, in jnius.jnius.convert_python_to_jobject (jnius/jnius.c:8386)
I/python ( 9571): OverflowError: Python int too large to convert to C long
W/System.err( 9571): java.lang.NullPointerException: Expected to unbox a 'int' primitive type but was returned null
W/System.err( 9571): at $Proxy0.hashCode(Unknown Source)
W/System.err( 9571): at java.util.Collections.secondaryHash(Collections.java:3405)
W/System.err( 9571): at java.util.HashMap.get(HashMap.java:300)
W/System.err( 9571): at android.location.LocationManager.wrapListener(LocationManager.java:849)
W/System.err( 9571): at android.location.LocationManager.requestLocationUpdates(LocationManager.java:864)
W/System.err( 9571): at android.location.LocationManager.requestLocationUpdates(LocationManager.java:490)
W/System.err( 9571): at org.renpy.android.SDLSurfaceView.nativeInit(Native Method)
W/System.err( 9571): at org.renpy.android.SDLSurfaceView.run(SDLSurfaceView.java:726)
W/System.err( 9571): at java.lang.Thread.run(Thread.java:818)
I/python ( 9571): [INFO ] [Base ] Leaving application in progress...
I/python ( 9571): Traceback (most recent call last):
I/python ( 9571): File "/home/pla/Dev/gpstest/.buildozer/android/app/main.py", line 63, in
I/python ( 9571): File "/home/pla/Dev/gpstest/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/app.py", line 792, in run
I/python ( 9571): File "/home/pla/Dev/gpstest/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/base.py", line 481, in runTouchApp
I/python ( 9571): File "/home/pla/Dev/gpstest/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/core/window/window_pygame.py", line 381, in mainloop
I/python ( 9571): File "/home/pla/Dev/gpstest/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/core/window/window_pygame.py", line 287, in _mainloop
I/python ( 9571): File "/home/pla/Dev/gpstest/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/base.py", line 324, in idle
I/python ( 9571): File "/home/pla/Dev/gpstest/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/base.py", line 309, in dispatch_input
I/python ( 9571): File "/home/pla/Dev/gpstest/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/base.py", line 220, in post_dispatch_input
I/python ( 9571): File "_event.pyx", line 316, in kivy._event.EventDispatcher.dispatch (kivy/_event.c:4552)
I/python ( 9571): File "/home/pla/Dev/gpstest/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/core/window/init.py", line 648, in on_motion
I/python ( 9571): File "_event.pyx", line 316, in kivy._event.EventDispatcher.dispatch (kivy/_event.c:4552)
I/python ( 9571): File "/home/pla/Dev/gpstest/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/core/window/init.py", line 660, in on_touch_down
I/python ( 9571): File "_event.pyx", line 316, in kivy._event.EventDispatcher.dispatch (kivy/_event.c:4552)
I/python ( 9571): File "/home/pla/Dev/gpstest/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/uix/widget.py", line 284, in on_touch_down
I/python ( 9571): File "_event.pyx", line 316, in kivy._event.EventDispatcher.dispatch (kivy/_event.c:4552)
I/python ( 9571): File "/home/pla/Dev/gpstest/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/uix/widget.py", line 284, in on_touch_down
I/python ( 9571): File "_event.pyx", line 316, in kivy._event.EventDispatcher.dispatch (kivy/_event.c:4552)
I/python ( 9571): File "/home/pla/Dev/gpstest/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/uix/behaviors.py", line 92, in on_touch_down
I/python ( 9571): File "/home/pla/Dev/gpstest/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/uix/behaviors.py", line 191, in _do_press
I/python ( 9571): File "properties.pyx", line 345, in kivy.properties.Property.set (kivy/properties.c:3591)
I/python ( 9571): File "properties.pyx", line 377, in kivy.properties.Property.set (kivy/properties.c:4066)
I/python ( 9571): File "properties.pyx", line 431, in kivy.properties.Property.dispatch (kivy/properties.c:4659)
I/python ( 9571): File "/home/pla/Dev/gpstest/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/lang.py", line 1299, in custom_callback
I/python ( 9571): File "", line 18, in
I/python ( 9571): File "/home/pla/Dev/gpstest/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/plyer/facades.py", line 199, in start
I/python ( 9571): File "/home/pla/Dev/gpstest/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/plyer/platforms/android/gps.py", line 84, in _start
I/python ( 9571): File "jnius_export_class.pxi", line 830, in jnius.jnius.JavaMultipleMethod.call (jnius/jnius.c:21138)
I/python ( 9571): File "jnius_export_class.pxi", line 562, in jnius.jnius.JavaMethod.call (jnius/jnius.c:17919)
I/python ( 9571): File "jnius_export_class.pxi", line 656, in jnius.jnius.JavaMethod.call_method (jnius/jnius.c:19004)
I/python ( 9571): File "jnius_utils.pxi", line 43, in jnius.jnius.check_exception (jnius/jnius.c:3237)
I/python ( 9571): jnius.jnius.JavaException: JVM exception occured
I/python ( 9571): Python for android ended.
I/art ( 9571): System.exit called, status: 0
platform in linux mint17.1 mate (ubuntu-based) with an almost fresh install.
import plyer
plyer.notification
plyer.notification.notify()
raises NotImplementedError: No usable implementation found!
with this traceback.
----> 1 plyer.notification.notify()
/usr/local/lib/python3.4/dist-packages/plyer/facades.py in notify(self, title, message, app_name, app_icon, timeout)
96 '''
97 self._notify(title=title, message=message, app_icon=app_icon,
---> 98 app_name=app_name, timeout=timeout)
99
100 # private
/usr/local/lib/python3.4/dist-packages/plyer/facades.py in _notify(self, **kwargs)
101
102 def _notify(self, **kwargs):
--> 103 raise NotImplementedError("No usable implementation found!")
104
105
trying to corner the malfunction and to determine whetther my setup is wrong, I tried this :
Python 3.4.0 (default, Apr 11 2014, 13:05:11)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import plyer
>>> plyer.utils.platform
'unknown'
>>> plyer.utils._determine_platform()
'unknown'
>>> plyer.utils._sys_platform
'linux'
>>> plyer.utils._sys_platform.startswith("linux") # mimics test on utils.py L38
True
so according to utils.py, plyer.utils.platform
should be 'linux'
... but apparently _determine_platform()
does not return what seems straightforward.
it can be worked around for testing purposes with
from sys import platform
if platform == 'linux':
plyer.utils.platform = 'linux' # only for testing purposes !!!
but for obvious reasons, this is does not look like a good idea.
List all Location Providers but only use gps:
providers = self._location_manager.getProviders(False).toArray()
for provider in providers:
self._location_manager.requestLocationUpdates(
"gps",
1000, # minTime, in milliseconds
1, # minDistance, in meters
self._location_listener,
it should be
self._location_manager.requestLocationUpdates(
provider,
if I use gps the app is stalled every times android go to sleep mode.
If I put gps.stop() in on_pause method the app is stalled too.
I/python (29483): [INFO ] [Android ] Must go into sleep mode, check the app
I/python (29483): >>>>>>>>> called on appication pause
I/python (29483): going to save status
I/python (29483): [INFO ] [Android ] App paused, now wait for resume.
I/WindowManager( 2038): Input event dispatching timed out sending to org.test.rmap/org.renpy.android.PythonActivity
E/ActivityManager( 2038): ANR in org.test.rmap:python (org.test.rmap/org.renpy.android.PythonActivity)
E/ActivityManager( 2038): 0.3% 26952/org.test.rmap:PythonService: 0.1% user + 0.2% kernel / faults: 54 minor
Add support for the email facade to iOS
We could use the one from kivy:
https://github.com/kivy/kivy/blob/master/kivy/utils.py#L237
Tested with 1.1.2 under Linux.
from kivy.app import App
from plyer import notification
class LinuxApp(App):
def build(self):
notification.notify("Title", "Notification")
app = LinuxApp()
app.run()
Traceback (most recent call last):
File "/usr/lib/python3.3/site-packages/plyer/utils.py", line 66, in _ensure_obj
mod = __import__(module, fromlist='.')
ImportError: No module named 'plyer.platforms.unknown'
Traceback (most recent call last):
File "notify.py", line 9, in <module>
app.run()
File "/usr/lib64/python3.3/site-packages/kivy/app.py", line 766, in run
root = self.build()
File "notify.py", line 6, in build
notification.notify("Title", "Notification")
File "/usr/lib/python3.3/site-packages/plyer/facades.py", line 85, in notify
self._notify(title=title, message=message)
File "/usr/lib/python3.3/site-packages/plyer/facades.py", line 90, in _notify
raise NotImplementedError()
NotImplementedError
Linux (ubuntu 14.04)
Android 4.0.4 (Samsung GALAXY Note)
$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
$ pip freeze
Kivy==1.8.0
Kivy-Garden==0.1.1
plyer==1.1.2
pyjnius==1.3.0
buildozer==0.15
Cython==0.20.2
PyOpenGL==3.0.2
pyOpenSSL==0.13
pygame==1.9.1release
I posted
On the main Kivy issue page
But I realized this is the place I should post.
There are quite a few libraries that create accessible widgets for Linux Windows and OS X:
WXPython
PyGUI
Easy GUI
What they do is use pywin32, pyatspi and I believe coco for IOS.
The native designation is what we are after. If an app can be run through automation scripts, then only labeling needs to be done to make it completely accessible.
Kivy seems to be very much based off of pointer access and on mobile platforms this is OK (Although being able to flick from object to object is optimal), but on Windows, Linux and Mac, the mouse is almost never used. In the current Kivy setup, I can't even click a button with the enter key. So along with native widget support, Kivy will need to add keyboard handling to their desktop apps.
The two libraries above that seem to be the best are WXPython and pyGUI.
WXPython is quite an active library, but it is quite a large library and is perhaps a little over-kill for what is needed here. It is, however, the most accessible of all the options above. (There are not that many bugs and it is much more stable).
pyGUI is a lot smaller and I have not really played too much with it, but the examples I ran were kind of buggy, but they worked to some extent. Elements like labels were not the nicest I have ever seen and the buttons were bouncing my screen reader around, but I think that is more the way the key events are being processed.
It is possible to build a wrapper around the system accessibility frameworks directly, but if pywin32 is already included to Kivy and the linux accessibility is in python, there is only OS X and the two mobile platforms to deal with.
I have no experience with IOS or Android, but here are their respective accessibility modules:
Here is the OS X accessibility API for apple
iOS accessibility API
Android
Add support for the email facade to OSX
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
When running on an iPhone 4s with iOS 7.1.1, the gyroscope fails with a NotImplementedError.
Add support for the GPS facade to Linux. Some options: GPs dongle support, location via network (like browsers).
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/4431060-gps-support-for-linux?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github).An API for setting an alarm and triggering an event sometime in the future.
Android: AlarmManager
Linux: cron
OSX: cron
Windows: Task Scheduler
Add support for the camera facade to Windows
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/4431056-camera-support-for-windows?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github).Add support for the email facade to Linux.
Check Python3 compatibility for all parts of Plyer. The biggest hurdles will be a Python3 python-for-android, pyjnius, kivy-ios, and pyobjus.
Add support for the GPS facade to Windows
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
On my android (Sony Xperia Z), I have sensors that would be cool to have in plyer
The sensors are :
Trying to run the following code (from the docs):
from time import sleep
from plyer import gps
def print_locations(**kwargs):
print 'lat: {lat}, lon: {lon}'.format(**kwargs)
gps.configure(on_location=print_locations)
gps.start()
sleep(5)
gps.stop()
However it crashes:
I/python (29941): Initialize Python for Android
I/python (29941): ['/data/data/org.test.gps/files/lib/python2.7/site-packages', '/data/data/org.test.gps/files/lib/site-python']
I/python (29941): Android path ['/data/data/org.test.gps/files/lib/python27.zip', '/data/data/org.test.gps/files/lib/python2.7', '/data/data/org.test.gps/files/lib/python2.7/lib-dynload', '/data/data/org.test.gps/files/lib/python2.7/site-packages', '/data/data/org.test.gps/files']
I/python (29941): Android kivy bootstrap done. __name__ is __main__
I/python (29941): Run user program, change dir and execute main.py
I/python (29941): Traceback (most recent call last):
I/python (29941): File "/home/lipi/git/repka2/android/main.py", line 7, in <module>
I/python (29941): File "/home/lipi/git/p4a/build/python-install/lib/python2.7/site-packages/plyer/facades.py", line 189, in configure
I/python (29941): File "/home/lipi/git/p4a/build/python-install/lib/python2.7/site-packages/plyer/platforms/android/gps.py", line 72, in _configure
I/python (29941): File "/home/lipi/git/p4a/build/python-install/lib/python2.7/site-packages/plyer/platforms/android/gps.py", line 20, in __init__
I/python (29941): File "jnius_proxy.pxi", line 31, in jnius.jnius.PythonJavaClass.__init__ (jnius/jnius.c:21301)
I/python (29941): File "jnius_proxy.pxi", line 182, in jnius.jnius.create_proxy_instance (jnius/jnius.c:23496)
I/python (29941): File "jnius_export_class.pxi", line 556, in jnius.jnius.JavaMethod.__call__ (jnius/jnius.c:17318)
I/python (29941): File "jnius_conversion.pxi", line 57, in jnius.jnius.populate_args (jnius/jnius.c:5405)
I/python (29941): File "jnius_utils.pxi", line 74, in jnius.jnius.check_assignable_from (jnius/jnius.c:3449)
I/python (29941): jnius.jnius.JavaException: Invalid instance of 'org/jnius/NativeInvocationHandler' passed for a 'java/lang/reflect/InvocationHandler'
I/python (29941): Python for android ended.
Create a TTS example app. Probably easy to base it on https://github.com/brousch/saythis
can i get contact list
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/5873793-can-i-get-contact-list?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github).On Pypi, the latest plyer is 1.1.2 but this release doesn't include compass and many others.
Could you upgrade the pypi package to the latest release ?
Add support for the GPS facade to OSX.
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/4009724-gps-support-for-osx?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github).Make uniqueid facade work with the OpenID implementations for Mac / iOS / Android: https://github.com/ylechelle/OpenUDID
Add support for the camera facade to OSX
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/4431059-camera-support-for-osx?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github).The implementation returns the IMEI and therefore only works on phones, not tablets. Android provides an Android ID via Secure Settings which works for all devices and does not require any extra permissions (the current implementation requires READ_PHONE_STATE).
Example:
PythonActivity = autoclass('org.renpy.android.PythonActivity')
Secure = autoclass('android.provider.Settings$Secure')
android_id = Secure.getString(PythonActivity.mActivity.getContentResolver(),
Secure.ANDROID_ID)
Opening a notifications on windows 8.1 works, but unicode characters ("éàùç" and their friends) are displayed improperly, probably using a bad encoding (i would suspect a latin-1 or similar encoding).
(that's running the provided example)
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/4431062-unicode-broken-in-notifications-on-windows-8?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github).We need a camera example app
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/4122697-example-app-for-camera-facade?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github).Add support for the camera facade to Linux
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/4431061-camera-support-for-linux?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github).I had closed the playsound pr (#65) without merging giving a reason that the user was better off including the external libs themselves. For example, if the app developer is using Kivy as the main framework to build their apps, it already has libs to play sounds.
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/3243379-re-opening-playsound-facade?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github).Windows notification currently has a hard-coded 10s time out. Make that timeout adjustable. Line ~51 of notifications/win/libs/balloontip.py
Add support for the TTS facade to iOS
It would be great to be able to open the default system's browser to a particular page (passed in as an argument).
In an answer to a stackoverflow question about adding hyperlinks to Kivy, someone said that this functionality would be added to plyer at some point in the future. Is it on the agenda officially? If not, this is a request that it be added.
The stack overflow: http://stackoverflow.com/questions/22385963/how-can-i-make-a-hyperlink-in-kivy
Thanks!
Add support for the email facade to Windows.
Add email support (open mail client) for android < 4.0.
Add support for the camera facade to iOS
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/3772096-camera-support-for-ios?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github).Add support for the GPS facade to iOS
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/3944586-gps-support-for-ios?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github).Create an accelerometer example app.
Add support for the accelerometer facade to OSX. This may be done via the hard drive drop detection feature.
Hi
Why plyer doesn't contain any gyro example?
I found tito's example for reading sensors data but it seems it doesnt used plyer and written from base.
Battery should return status containing bool value isCharging instead of connected (bool). At this point we return connected: False
if the battery is full. So it misrepresents the value in this case.
A possible solution for cross-platform (desktops) Speech to Text http://cmusphinx.sourceforge.net/
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/2977842-speech-to-text?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github).There's no way to detect if it is a joystick or an accelerometer other than reading the name, but AFAIK on Ubuntu accelerometers and some joysticks follow this glob:
/sys/devices/platform/*/position
The position file contains the value of the axes. I'm pretty sure though that there's a better way to read it than reading the position file. I think jstest-gtk is written in python.
Need to add a check in the GPS example for Android devices which don't have GPS capabilities. There is a platform check, but no device check.
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/1834888-gps-example-crashes-on-android-if-no-gps-capabilities-are-present?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github).Add support for the notification facade to iOS
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/3010694-notification-support-for-ios?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github).Add support for the accelerometer facade to Windows
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/4431057-accelerometer-support-for-windows?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F77151&utm_medium=issues&utm_source=github).I propose the addition of the USSD feature.
For those who don't know what an USSD command is: it's a particular kind of network request where you type in a command (e.g. _123#, *123_45#, 123, etc...) and the network responds with some text (e.g. credit information). Sometimes the network keeps the session open waiting for the user to respond back: in that case you can either cancel or respond.
The facade should provide three methods: initiate (accepts a string with the command, returns network's response), respond (accepts a string with the response, returns network's response), cancel, and some way to see if a session is open or not.
See this for more details: http://www.freedesktop.org/software/ModemManager/api/latest/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html
Tooltip text is currently hard-coded to "Balloon tooltip" in windows notifications. Make this value adjustable by the user. Line ~42 in balloontip.py
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.