Kivy 1.10.0 released

Skip to first unread message

Mathieu Virbel

May 7, 2017, 7:00:45 PM5/7/17
to,, kivy-org

Hi everyone,

We are finally pleased to announce Kivy 1.10.0. It took much more time

than expected, but we finally managed to get this release done. We

apologize for the delay!

Kivy is a full featured framework for creating novel and performant

user interfaces, such as multitouch applications, released under the

MIT license. The framework works on Windows, macOS, Linux, Android,

iOS and Raspberry Pi.

This is the first release of Kivy with Python 3.5 and 3.6 support on


Downloads and installation instructions are available on the Kivy website::



Python 3.5/3.6+ support on Windows


Python 3.5+ support is finally here for Windows using the same codebase! These versions are currently only supported with Visual Studio 2015. We also provide self-contained wheels for them. See

Kivy Clock


The Kivy Clock has been moved to cython to improve performance [#4412]. Even better, scheduling is now deterministic and will always execute callbacks in the order they were scheduled. Finally, all Clock scheduling and unscheduling is now thread-safe. To get the best out of this, the recommended pattern is to save Clock events and later call their cancel method instead of calling the inefficient Clock.unschedule() method. We also added multiple new Clock types for advanced users [#4436].



[#4343, #4385, #3906] The graphics backends have been refactored. Graphics modules now call the central `` subpackage for all OpenGL calls instead of direct API calls. The `cgl` package can switch between multiple GL backends on each platform at startup-time based on the `KIVY_GL_BACKEND` variable (

Available backends are (gl, sdl2) on unix and (glew, sdl2, angle_sdl2) on windows. When no GL is available, the mock backend which is a NOOP backend can be used to when compiling Kivy e.g. to run tests. Further, `KIVY_GL_DEBUG=1` is used to force all GL calls to be logged.

With the addition of the angle_sdl2 backend for windows, Kivy now supports environments with no or old OpenGL drivers as long as they have Direct3D 9+ support.

New Widgets


 - [#4108] RecycleView has been merged from garden and with new and improved API. It's now fully integrated with layouts and can be used in place of e.g. BoxLayout or GridLayout. See and the PR for examples.

 - [#3900] CoverBehavior, similar to CSS cover, has been added to be used with images. It ensures that the image is sized so that it is as small as possible while ensuring that both dimensions are greater than or equal to the corresponding size of the widget.

New features


 - [#4617] Add size_hint_min/max to widgets. Widgets that use size hints can now specify the maximum and minimum size of the widget and it'll be respected by the layouts (

 - Many new Window features for sdl2, see that section below.



In light of RecycleView being added, ListView and its associated adaptors are being deprecated and slated to be removed in the next release:

- AbstractView (kivy.uix.abstractview)

- Adapters (kivy.adapters)

- DictAdapter (kivy.adapters.dictadapter)

- ListAdapter (kivy.adapters.listadapter)

- List Item View Argument Converters (kivy.adapters.args_converter)

- ListView (kivy.uix.listview)

- SelectableDataItem (kivy.adapters.models)

- SelectableView (kivy.uix.selectableview)

- SimpleListAdapter (kivy.adapters.simplelistadapter)


- Interactive launcher (kivy.interactive)

Breaking changes


- [#3891] ButtonBehavior.always_release defaults to False, so by default a release outside the button is ignored.

- [#4132] ButtonBehavior.MIN_STATE_TIME was removed and instead has been added to the config. Each button and dropdown now has their own configurable min_state_time property that defaults to the config value.

- [#4168] kivy.metrics.metrics was removed, use kivy.metrics.Metrics instead.

- [#4211] TextInput.background_disabled_active was removed, the normal background is used instead.

- [#4254] kivy.utils.platform is now a string describing the platform and not a callable.

- [#4603] Made App.on_pause default to return True.

- [#4819] Remove kivy module extension support - it wasn't used.

- [#4224] Remove pygst (audio, video, camera), gi (audio, video) and videocapture (camera) providers. Use gstplayer or ffpyplayer instead (

- [#5011, #4828] added support for opencv 2 and 3 (camera)

- [#5033] Clock trigger call doesn’t return True (or anything) anymore, use `is_triggered` instead.

- [#5088] Change the auto scale option in BorderImage from bool to string with multiple scaling options.



- To reduce the Kivy install size, the Kivy examples have been split from the main Windows wheels and should now be installed manually if desired using `pip install kivy_examples`.

- [#4392] Fallback with pkg-config to search both for gstreamer and sdl2 if frameworks are not installed on macOS.

Changelog - 1.10.0





 - Add FLAC to GstPlayer extensions

 - [#4372] Added pitch shifting to audio using sdl2

 - [#4853] Add 'mp4' support to audio with gstplayer

 - [#4875] Added note that to seek, sound must be playing


 - Detect correct Activity regardless of bootstrap (android)

 - [#3990] Store clipboard contents for gtk3 (ClipboardManager spec)

 - [#4093] Make clipboard_android work for both old and new toolchain

 - [#4371] Fix version warning for clipboard_gtk3

 - Fix Python 3.5-x64 Windows clipboard, see asweigart/pyperclip#25

 - [#5152] Fixed crash on python3, due to items not being subscriptable


 - Add JPE to supported sdl2 image extensions

 - [#3971] Fix stopping an image animation with value of -1 for anim_delay

 - [#4186] Accept data URIs for image filename

 - [#4708] Get actual image format instead of extension (imghdr)

 - [#4728] Use PILImage.frombytes when PILImage.fromstring gives an exception

 - [#4753, #4727] Image saving using 'save()' throws error

 - [#5155] Fix unicode image source in Python 2


 - [#3888] Fix PIL deprecated tostring() scrambling the text

 - [#3896] Add font rendering options - hinting, kerning, blending (sdl2)

 - [#3914] Add underline and strikethrough styling for Label and MarkupLabel

 - [#4265, #3816] Implement text outline for sdl2

 - [#4012] Fix label color handling

 - [#4047, #4043] Fix alpha rendering of text color for pygame

 - [#4063] Performance improved for comparing an entire string for Label

   halign and valign

 - Add 'center' as an alias of 'middle' for Label.valign

 - Register all /usr/share/fonts subfolders

 - [#4625] Add ellipsis styling for markup label

 - [#4813, #2412] Change default font to core.text.DEFAULT_FONT

 - [#4846] Allow skipping italic, bold and bolditalic for the default_font

   config option

 - [#4858, #4589, #3753] Add is_shortened to Label


 - [#4345] ffpyplayer provider was updated to work with the latest FFPyPlayer codebase.

 - [#5052] Fix ffpyplayer img.to_memoryview returning None


 - [#3890] turn Window.focus into a read-only property

 - set Window.focus to false when the window is started in a hidden state

 - [#3919] SDL2/Android: fixes pause/resume crash using sdl2 bootstrap on


 - sdl2/android: redo fix on_pause/on_resume for SDL2 bootstrap. No more

   freeze on resume.

 - [#3947] release gil when polling for sdl events

 - [#4104] window_sdl2: fix title and icon_filename to accept bytes or str

 - [#4207] add map_key/unmap_key, automatically map android back key

 - [#4209] Add SDL2 window events

 - [#4217] Fix Window resizing for X11

 - [#4239] X11: honor borderless configuration

 - [#4310] X11: implement on_title

 - [#4316] Animate the window content based on `softinput_mode`, introducing

   keyboard_padding and keyboard_anim_args

 - [#4403, #4377] Take care to account for `density` for mouse_pos

 - [#4468] Prevent buffer crash on RPi if window was closed

 - [#4631, #4423] Fixes keycode typo

 - [#4665] Add softinput_mode handling for SDL2

 - [#4707] Add grab mouse in sdl2 window

 - [#4851] Add Window position manipulation

 - [#4919] Disable SDL2's accelerometer-as-joystick behaviour

 - [#4921] Add an allow_screensaver property for Window

 - [#4952] Add multiple joysticks support

 - [#5019] Add note for elevated use of on_dropfile

 - [#5048] Fix missing sys.stdout.encoding when piped or frozen




 - [#4334] Add German keyboard layout


 - Fix disabled_color for markup

 - [#3925, #3922] Fix FileListEntry text alignment

 - [#3864] Avoid end-dev setting ColorWheel internal values

 - [#4176] Change TextInput images for selection handles

 - [#4364] Fix missing sp() in style.kv

 - [#4447, #4416] Fix filechooser size text align

 - Filechooser: Align size labels with the table header

 - [#4558] Separate image and button in Switch

 - [#4732] Hide Image if no app_icon in ActionPrevious



 - [#3955] Deprecate the interactive launcher

 - [#4427, #4361] Fix multiprocessing.freeze_support()

 - [#4449] Store kivy_home_dir as a unicode string in python 2

 - Make gif loader last (Gif loader is slow and should be used if PIL or FFPY

   providers don't work)

 - Gst should be imported first since it cannot use sdl2's zlib but sdl2 can

   use gst's zlib

 - [#4737] Remove sdl2 presplash after initialised (needs android package)

 - [#4874] Add Include folder to get_includes()

 - [#4949] Normalize version


 - [#4223, #4222] Implement cancel_property on animation's Sequence

 - [#4494] Update ClutterAlpha URL in AnimationTransition

 - [#4563] Draw animation every frame by default, use step=0 instead of

   1 / 60.0

 - [#4643] Animation object is passed with the event docs <<< REMOVE?

 - [#4696, #4695] Remove sequential animations from Animation._instances when



 - [#4075] Fix missing path separator

 - [#4636, #4634] App.stop() clear window children only if window exists


 - [#4617] Add isclose to compat based on py3.5 function


 - [#3603] Add clock to compat

 - Include clock changes for freebsd

 - [#4531] Bump max_iteration to 20


 - [#4813] Add variable for default_font

 - [#4921] Add variable for allow_screensaver


 - [#3736, #3118] Make widget kwargs passing higher priority than kv


 - [#3975] Remove duplicate definition of SelectableView

 - [#4046] Register missing properties in factory

 - [#4108] Update factory registers (RecycleView, RecycleBoxLayout)


 - [#3866] Allow Line.points definition to be a mix of lists/tuples

 - [#3970] Fix upload uniform without calling useprogram

 - [#4208] Fix error in Line.rectangle documentation

 - [#4554] Allow requesting graphics instruction update

 - [#4556] Segmenats is 180 everywhere and in the docs

 - what is that? -> a37c8dd, 6dd8c5e

 - [#4700, #4683] Reactivate free calls in smoothline

 - [#4837] Restore gl/gles selection at compile-time

 - [#4873] path changes for config.pxi

 - [#4913, #4912] Fix missing 'return' in get method for Mesh `mode` property

 - [#5030] Fix BorderImage border ordering description

 - [#5091] Fix get_pixel_color for py3



 - [#3909] Add apply_rules to BuilderBase

 - [#3984] Refactored - moved into its own module

 - Fix missing global_idmap in new kivy.lang refactor

 - [#4013] New ColorProperty and rgba function

 - [#4015] More robust kv string detection

 - [#4073, #4072] Split imports on all whitespace

 - [#4187] Fix Parser.execute_directive() not using resource_find() for

   including directive

 - [#4301] Fix parser not continuing after warning

 - [#4358] Allow spaces before colons for classes, properties

 - [#4583] Use consistent 'Lang' for logs instead of 'Warning'

 - [#4615] Fix profiling tool HTML output generation

 - Catch TypeError in dump_builder_stats

 - [#5054] Fix inconistent naming if kv files are not unloaded

 - [#5068] Unload matching rules

 - [#5153] Fix KV include for quoted paths


 - [#4122] Add 'with oscLock' in sendBundle to always release lock

 - Correctly use oscLock in sendMsg

 - [#3695] Extend OSC library

 - Fix py2 print in OSC

 - [#4433] OSC - convert to bytes for python3

 - Ctypes supported on Android


 - [#4359] Fix Exception on remote image

 - [#4545, #4366] Fix Asyncimage on error


 - [#4057, #4039] Properly format log text

 - [#4375] Fix handling of PermissionError for logger.purge_logs

 - [#4400] Recognize {rxvt,rxvt-unicode}-256color as color capable

 - [#4404] Use a shorter field width for non-colored output

 - [#4538] Fix "no isatty() method" errors

 - [#5067] Replace hardcoded value `maxfiles` with config setting


 - [#4803] Fix a silly multistroke crash


 - [#2772] Handle proxy servers in UrlRequest

 - [#4297] Fix py3 returning wrong results

 - [#4448] Fix url in UrlRequest


 - [#4011] List supported input formats for parse_color

 - [#4021] Append alpha for 3 digit hex colors


 - [#4013] New ColorProperty and rgba function

 - [#4304] AliasProperty should update when underlying prop changes even if

   cache is True

 - [#4314] Don't cache until first dispatch, otherwise it's never dispatched

   if read before the dispatch

 - [#4623] Fix grammar in exceptions

 - [#4627] Allow conversion from strings without trailing units

 - [#5135] Add py3 object.__init__() reference to properties


 - [#4490] Return `abspath` in `resource_find`.



 - [#3915, #2701] Don't offset WM_TOUCH with caption size when fullscreen

 - [#4045, #4040] Late import window for wm_touch

 - [#4318, #4309] Fix touch scaling for WM_TOUCH

 - [#4468] Fix HIDinput to dispatch events from main thread and don't eat


 - [#4501] Add on_stop to recorder

 - [#4621] Fix mtdev provider max_touch_minor option

 - Fix MTDev crashing if 'x' and 'y' are not in args

 - Fix MTDev crashing if touch not in last_touches

 - [#4725, #4413, #4682] Catch permission errors in MTDev

 - [#4923] Prevent an attempt to import AndroidJoystick with SDL2  



 - [#5143] Fix listing modules via `-m list`


 - [#4567] Fix monitor drawing issues after window resize

 - Code cleanup


 - [#4396] Add a lot of new devices

 Touchring, Cursor

 - [#4721, #3097] Touchring and Cursor are now two modules


 - Use events size function instead of list comprehension


 - [#5094] Add JoyCursor module



 - [#4269] Fix clear() not syncing the storage file

 - [#4722] Add JSON dump indention and sort_keys option to JSONStorage



 - Deprecate ListView

 - [#4944] Deprecate modules pertaining to ListView (AbstractView, Adapters)

 - [#4108] Integrate Recycleview into Kivy

 - Add warnings about RecycleView being experimental

 - [#4617] Adds size_hint_min/max to widgets


 - [#3128] Introduce ActionGroup.dropdown_width property

 - [#4347, #4119] Fix ActionView layout more dense/packed after increase of


 - [#4441] Fix dismiss in ActionGroup

 - [#4891, #4867] Fix Actionview window maximize/minimize bug

 - [#5049] Fix ActionDropDown.on_touch_down


 - [#4628] Fix asymmetric padding list


 - [#3900] Add CoverBehavior

 - [#4258] Allow keeping direct ref in knspace, fix crash when child knspace

   attr is None but parent doesn't have attr

 - [#4509] Fix CompoundSelectionBehavior example

 - [#4598, #4593] Fix ToggleButton released with allow_no_selection=False in


 - [#4599] Add text_entry_timeout to CompoundSelection

 - [#4600] Allow all chars that are not e.g. arrow, and fix holding down key

   in CompoundSelection

 - Don't return true when already selected in CompoundSelection

 - [#4782, #4484] Allow unselect an item when multiselect is False in


 - [#4850, #4817] Add CompoundSelectionBehavior.touch_deselect_last property

 - [#4897, #4816] Make _get_focus_* methods public in FocusBehavior

 - [#4981, #4979] Fix typo in CompoundSelection


 - [#4081, #2087] Fix repeating addition of widget

 - Use is operator for identity comparison

 - [#4522] Fix carousel scrollview children touch_move



 - [#4266] Add checkbox color


 - [#3806] Add EmacsBehavior to CodeInput

 - [#3894] Rename active_key_bindings to key_bindings

 - [#3898] Remove CodeInput.key_binding


 - [#4112, #4092] Convert absolute coordinates of the touch.pos to relative

   coordinates of self.attach_to(dropdown's button)

 - [#4511] Fix dropdown and spinner dismissing issue

 - [#4550, #4353] Rework of #4353 DropDown.max_height

 - [#4805, #4730] Fix first click in ActionGroup


 - [#3710] Fix directory selection double-selecting

 - [#4200] Handle children's size_hints equal to zero

 - [#5010] Fix a crash when using a file as the path


 - [#3945] Remove line_width

 - [#4779] Fix collision check for on_touch_move

 - [#4034] Don't limit size to cols/rows_minimum, but treat it as real min.

 - [#4035] Respect size_hint in gridlayout


 - [#4510] Fix py2 ASCII error

 - [#4534] Removed long tracebacks

 - [#4545, #4549] Asyncimage on error


 - [#3946] Fix label rendering options

 - [#3963, #3959] Show disabled_color when disabled=True for markup label


 - Include ListItemReprMixin

 - Add note about possible deprecation of ListView

 - [#2729] Don't require a text argument for CompositeListItems


 - [#4136] Fix model center not syncing with window center

 - [#4149, #4148] Fix modal background not resizing

 - [#4156] Fix incorrect ModalView position after window resize

 - [#4261] Don't return ModalView instance in open and dismiss methods


 - [#4042] Fixed bug if zero or one widgets are in pagelayout

 - Code style improvement


 - [#4107] Fix Screen removal leaving screen.parent property != None

 - [#3924] Don't generate a new screen name for existing screens

 - [#4111, #4107, #2655] Remove the last screen and leave ScreenManager in

   a valid state

 - Don't check the Screen parent type, it can only be a ScreenManager

 - [#4464] Fix SwapTransition not scaling

 - Add missing import of Scale

 - [#5032] Add CardTransition to ScreenManager


 - [#3926, #3783] Fix scroll distance bug

 - [#4014] Revert accidental non-pep8 scrollview changes

 - [#4032] Fix ScrollView not properly ignoring touch_up

 - [#4067] All touches that don't scroll should be skipped in touch move

 - [#4180] Scroll to touch pos if the touch is within the scrollbar but does

   not collide with the handle

 - [#4235] Make sure import does not load a window

 - [#4455, #4399] Focused widget inside ScrollView should unfocus on tap

 - [#4508, #4477] Always pop the touch

 - [#4565, #4564] Fix scrollview click registering on PC

 - [#4633] Postpone scroll_to if the viewport has pending layout operation

 - [#4646] Fix on_scroll_move to obey scroll_distance

 - [#4653] Add checks to start scroll if do_scroll enabled for axis

 - Add size_hint_min/max support to ScrollView

 - Use viewport's size_hint

 - Fix ScrollView ignoring scroll_y, scroll_x being set from outside


 - Fix string_types double import

 - [#3625] Add show_hidden and dirselect to SettingPath


 - [#4028] Fix Slider.value exceeding Slider.max

 - [#4127, #4124, #4125] Change use of dimension conversion in Slider

 - Add styling properties for Slider widget

 - Added value_track* properties


 - Ensure Spinner text is updated when text_autoupdate changes

 - Autoupdate spinner text only if the current text is not between the new


 - [#4022] Add option to sync Spinner dropdown children heights

 - Update Spinner.text if empty, without comparing values

 - [#4511] Don't re add all widgets upon resize, it just lead to infinite size


 - Fix type and don't used children directly since it could be modified

 - [#4547] Fixes opening for empty values


 - [#4236] Fix stacklayout not sizing if children is empty

 - [#4579, #4504] Fix stackLayout children rearranging themselves unexpectedly

   when their parent's size changes


 - [#4559] Fix scrolling in TabbedPanel

 - [#4601] Remove tab limit



 - [#3935] Altered get_cursor_from_xy to intuitively place cursor

 - [#3962] Add TextInput.password_mask to customize the password placeholder

 - [#4009] hint_text in TextInput shows when focused and no text entered

 - [#4024] Always show the textinput cursor at the moment of touch

 - [#4048] Use a trigger when resetting the textinput cursor state

 - [#4055] Implement wrapping of continuous text in textinput

 - [#4088, #4069] Fix disabled backspace

 - Fix infinite loop when width is negative

 - Don't reset focus when focus changes

 - [#4204] hint_text decode text by default

 - [#4227, #4169] Push flags correctly for linebreak in _split_smart

 - [#4367, #4244] Don't try to split lines shorter than 1px

 - [#4445] Prevent an infinite loop when trying to fit an overlong word

 - [#4453] Fix text going off-screen while wrapping

 - [#4560, #3765] Fix app crashing on do_cursor_movement('cursor_end') on

   empty text

 - [#4632, #4331] Clear selection_text directly

 - [#4712] Fixed space input under SDL2 for some Android keyboards

 - [#4745] Add cursor_width to TextInput

 - [#4762, #4736] Prevent setting suggestion_text crashes if text is empty

   string and canvas is not setup yet

 - [#4784] Made sure Selector gets on_touch_down only once

 - [#4836] Fix Bubble not reachable on Android when touch in textinput is near

   the borders

 - [#4844, #3961] Fix not working BubbleButton on_touch_up

 - [#5100] Fix TextInput crash when text, focus is set and enter pressed at same time


 - [#4561] Add TreeView.deselect_node()


 - [#4961] Fix on_duration_change typo


 - [#4920] Replace old video with CC0 licensed video


 - [#4900] Add font_size for key text size

 - [#5020] Fix file/kblayout opening


 - [#4121, #3589] Check if canvas was found in parent canvas for export_to_png

 - [#3529] Rebind Widget.parent by default

 - [#4584, #4497] Avoid being behind parent's canvas when inserting a widget

   at last index




 - Update Emacs mode to modern way of enabling newline and indent


 - [#4840, #4811] Fixed get_deps_minimal crash in Python3


 - Add shebang again

 - [#4798] Update to version 2.2.0

 - Add E402 to pep8 ignore list

 - Normalize paths excluded from style checks

 - Match start of folder paths during pep8 check

 - Ignore E741 and E731

 - Exclude dir kivy/tools/pep8checker

 - Delete

 - Remove stylereport target from Makefile

 - Print error count during style check instead of passing it as exit code

 - Ignore style issues in kivy/deps


 - Fix StringIO for py2, raw_input/input, crash if GL not available. Add more

   detailed platform checking. Warn the user the gist is pasted anonymously.

 - Made ConfigParser py2/3 compatible



 - [#4271, #2596] Fix docs build on Windows

 - [#4237] Add screenshots for widgets

 + Tons of doc fixes thanks to the awesome community

 + Special Thanks to ZenCODE for his awesome work on improving the doc



 - [#3806] Add EmacsBehavior example

 - [#3866] Fix examples/canvas/ example

 - [#4268] Fix takepicture requirements, use android.mActivity instead of autoclass

 - Add RecycleView example

 - [#4573] Add clipboard example

 - [#4513] Add an examples for Window.on_dropfile

 - [#4807] Add example for various color input

 - [#4862] Add joystick example

 - [#4883] Fix attribution in examples/widgets/lists

 - [#4925] Replace images with CC0

 - Fix KVrun example

 - Fix Settings example

 - Fix tabbed showcase example

 - [#5022] Revert SmoothLine in example

 - [#5027] Fix unicode error in KeyboardListener example

 - [#5035] Added KV example for CoverBehavior

 - Fix camera example - save image with extension

 - [#5079] Add shape collision example

 - Fix examples gallery

 - Fix SVG example - scale with only one value

 + [#5075, #4987] Split examples into separate wheel for windows

Unit Tests


 - Adapt ListView selection test to new behavior

 - Add test for TextInput focused while being disabled

 - [#4223, #4222] Add a test for issue #4222

 - [#4227] Add test case for word break

 - [#4321, #4314] Internal alias property details should not be assumed and


 - [#4624] Fix test_wordbreak fail on Retina Mac

 - Add simple tests for JsonStore options

 - [#4821] Fix test_fonts file deleting

 - Use almost equal for float assert

 - Clipboard should only accept unicode

 - [#5115] Replace Pygame with SDL2 for image comparing test

 - [#5111] Add test for Fbo.get_pixel_color



Tons of more fixes that weren’t mentioned here, details of which can be

gathered from



 - [#3594] Remove KEX (extension) support

 - [#3891, #3312] ButtonBehavior.always_release default to False

 - [#4132] Include a min delay before dismissing

 - [#4168] Remove deprecated kivy.metrics.metrics

 - [#4211] Remove TextInput.background_disabled_active

 - [#4224] Remove deprecated video and audio providers: pygst, pyglet and pygi

 - [#4254] kivy.utils.platform is a string and it's not callable anymore

 - [#4603, #4796] Made on_pause default to True



The new stable branch is now derived from the 1.10.0 tag. The oldest stable

branch has been renamed to stable-1.9.1. If you still want to compile on

android with this branch, use "kivy==stable-1.9.1" as requirement. We do not

support previous versions, so if things doesn't work anymore due to changes in python-for-android, please take time to update your application.



A big thanks to all of the Contributors, especially those github

usernames mentioned here:

Alan-FGR, Albert Kurucz, AndiEcker, Andy Doucette, Bakterija, Cheaterman, Clarvel, DerThorsten, EdwardBetts, ErwinRieger, Fabian Schuetz, Fak3, FeralBytes, FermiParadox, FluxIX, Gagaro, JackAnderson5, JanMalte, John Mercouris, KeyWeeUsr, Kovak, Laspimon, Leva7, LogicalDash, RevengeComing, SynedraAcus, Zachary Spector, Zen-CODE, ZingBallyhoo, akshayaurora, ali65, amateusz, andong777, bhaveshAn, bionoid, bthyreau, cbenhagen, darkopevec, denys-duchier, dessant, devkral, doratoa, doriclazar, duelafn, ecdsa, eeue56, el-ethan, ericatkin, funnisimo, gebart, germn, gfyoung, gkanarek, ignus2, inclement, ismailof, janssen, jdla, jegger, kived, kwadrat, learnleapfly, llfkj, mahomahomaho, matham, nadaz, ngoonee, overfl0, phunsukwangdu, pptime, pythonic64, quobit, rafalo1333, rnixx, rogererens, rolfschr, russellb, saqib1707, saurabhiiit, sirpercival, souravbadami, thijstriemstra, tito, tony, toomanybrians, tshirtman, udiboy1209, vitorio, weihuang0908, werton, wsmith-nwfsc, wvlia5, xg-wang, yaki29, yashsharan, zeeMonkeez

Hope we mentioned them all.


Kivy Team

Bill Janssen

May 7, 2017, 9:08:14 PM5/7/17
to Kivy users support,,
Congrats!  Thanks for all your hard work!

Looking forward to playing with RecycleView and testing TextInput.


Jerry Asher

May 8, 2017, 12:06:19 AM5/8/17
to Kivy users support,,
Congrats and thanks!

So, I've spent the better part of a week being beaten up by kivy and buildozer installs on both Windows and Ubuntu (and in the VM, and using the unofficial docker image, ...)

Can you suggest a distribution and version of python that your installations were tested on, and are most likely to work on? 

Python XX for Ubuntu ZZ or?

Dave McCormick

May 8, 2017, 1:02:44 AM5/8/17
Will the new version work with an Anaconda install ?

You received this message because you are subscribed to the Google Groups "Kivy users support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
For more options, visit

Cyril Coelho

May 10, 2017, 11:36:52 AM5/10/17
to Kivy users support,,
Hello, I come to report a problem:
The SoundLoader of kivy is too long to process a mp3 file of 300Mo ie 20 hours.


Gabriel Pettier

May 11, 2017, 7:58:48 AM5/11/17

Thanks for reporting, but this is not the right place for that.

Please go to and open the issue

Make sure to give informations such as platform (hardware and software),
and if possible, to give an example file to test with.

Best regards.
>You received this message because you are subscribed to the Google Groups "Kivy users support" group.
>To unsubscribe from this group and stop receiving emails from it, send an email to

Marcelo Pereira

May 14, 2017, 12:43:16 PM5/14/17
to Kivy users support,,
How to solve this:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pip/", line 215, in main
    status =, args)
  File "/usr/local/lib/python2.7/dist-packages/pip/commands/", line 342, in run
  File "/usr/local/lib/python2.7/dist-packages/pip/req/", line 784, in install
  File "/usr/local/lib/python2.7/dist-packages/pip/req/", line 851, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "/usr/local/lib/python2.7/dist-packages/pip/req/", line 1064, in move_wheel_files
  File "/usr/local/lib/python2.7/dist-packages/pip/", line 345, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/usr/local/lib/python2.7/dist-packages/pip/", line 323, in clobber
    shutil.copyfile(srcfile, destfile)
  File "/usr/lib/python2.7/", line 83, in copyfile
    with open(dst, 'wb') as fdst:
IOError: [Errno 13] Permissão negada: '/usr/local/lib/python2.7/dist-packages/cython.pyc'
 kivyinstall/bin/activate: Permissão negada

Mathieu Virbel

May 14, 2017, 1:19:49 PM5/14/17
to,, kivy-org
Permission denied = use "sudo pip ..."

You received this message because you are subscribed to the Google Groups "Kivy users support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to

Tyler Liu

May 15, 2017, 11:54:35 PM5/15/17
to Kivy development,,

Awesome,thanks for all your hard work!

Joey daniel darko

May 18, 2017, 11:43:53 PM5/18/17
to Kivy users support,,
thanks devs for this amazing upgrade

Tais Reis

May 20, 2017, 1:08:32 PM5/20/17
Hello, congratulations...
I have an question about the suport to Direct 3D 9+. The Direct3d 9Ex is also support? Because I trying test in an computer that the DDI is 9Ex and I get the error OpenGL.

Matthew Einhorn

May 21, 2017, 6:17:52 PM5/21/17
You can see the supported versions here:

We need es 2.0 support for kivy.

On May 20, 2017 1:08 PM, "Tais Reis" <> wrote:
Hello, congratulations...
I have an question about the suport to Direct 3D 9+. The Direct3d 9Ex is also support? Because I trying test in an computer that the DDI is 9Ex and I get the error OpenGL.
Em domingo, 7 de maio de 2017 20:00:45 UTC-3, Mathieu Virbel escreveu:

Brent Picasso

May 22, 2017, 8:28:58 PM5/22/17
to Kivy users support,,
This is incredible. Congratulations on getting this done!

On Sunday, May 7, 2017 at 4:00:45 PM UTC-7, Mathieu Virbel wrote:

Jotham B

May 23, 2017, 2:22:01 AM5/23/17
to Kivy users support,,
It says get the lastest from right?

I followed the instructions for ubuntu, added the repo, apt-get updated but 1.9.2 is the latest in the repo. Guess I'll have to get the latest version from github?

Matthew Einhorn

May 23, 2017, 1:26:12 PM5/23/17
I believe the ubuntu ppa has not been updated, so yes, you'd need to get it from github.

On Tue, May 23, 2017 at 2:22 AM, Jotham B <> wrote:
It says get the lastest from right?

I followed the instructions for ubuntu, added the repo, apt-get updated but 1.9.2 is the latest in the repo. Guess I'll have to get the latest version from github?

You received this message because you are subscribed to the Google Groups "Kivy users support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to

Dave McCormick

May 23, 2017, 1:49:35 PM5/23/17
I did a pip install and received the latest.

Tais Reis

May 24, 2017, 10:39:50 AM5/24/17
to Kivy users support
Sorry but i don't understand so much about hardware and APIs, so how I know that the machine have support the OpenGL ES 2? I though that the machine only needed the Direct3D 9+ how described here "Kivy now supports environments with no or old OpenGL drivers as long as they have Direct3D 9+ support", so I though that worked with Direct3D 9Ex with OpenGL 1.1. What I needed do to it to work?

Matthew Einhorn

May 25, 2017, 12:04:24 PM5/25/17
I'm not sure either. That table tells you what your Direct3D requirements are. We need opengl es2, so you can see from that table what Direct3D would need to be to support that.

But the real test is if kivy.deps.angle doesn't work for you and you still get the opengl1.1 error then it means it's not supported. Just make sure kivy used the angle backend (KIVY_GL_BACKEND=angle_sdl2) when you test.

Mohammad javad Nikookar

Jun 3, 2017, 7:06:40 AM6/3/17
to Kivy users support,,

i'm new in Kivy and pycharm

when i run my project i take this error

C:\python\python.exe E:/untitled/heloWorld/
[INFO   ] [Logger      ] Record log in C:\Users\Sizan-co\.kivy\logs\kivy_17-06-03_8.txt
[INFO   ] [Kivy        ] v1.10.0
[INFO   ] [Python      ] v3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 17:54:52) [MSC v.1900 32 bit (Intel)]
[INFO   ] [Factory     ] 194 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_gif (img_sdl2, img_pil, img_ffpyplayer ignored)
[CRITICAL] [Text        ] Unable to find any valuable Text provider.
sdl2 - ImportError: DLL load failed: The specified module could not be found.
  File "C:\python\lib\site-packages\kivy\core\", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "C:\python\lib\site-packages\kivy\core\text\", line 12, in <module>
    from kivy.core.text._text_sdl2 import (_SurfaceContainer, _get_extents,

pil - ModuleNotFoundError: No module named 'PIL'
  File "C:\python\lib\site-packages\kivy\core\", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "C:\python\lib\site-packages\kivy\core\text\", line 7, in <module>
    from PIL import Image, ImageFont, ImageDraw

[CRITICAL] [App         ] Unable to get a Text provider, abort.

Process finished with exit code 1

my kivy version is  1.10
my pycharm version 2017.1.1

anybody ca help me?

Matthew Einhorn

Jun 4, 2017, 1:30:49 AM6/4/17
Seems like you need to install pillow (that how you get PIL). You can do it with `pip install pillow`.


Gabriel Pettier

Jun 22, 2017, 7:32:29 AM6/22/17
Hello, just to announce that the kivy-stable ppa for ubuntu has been
updated with the 1.10.0 release, for technical reasons, packages have
been build for Xenial, Yakkety and Zesty only.

The kivy-daily ppa should come back soonish, after some issues with
required cython version are solved.

Thanks for your patience.
>You received this message because you are subscribed to the Google Groups "Kivy organisation" group.
>To unsubscribe from this group and stop receiving emails from it, send an email to
>For more options, visit


dakun skye

Jun 28, 2017, 1:51:15 AM6/28/17
to Kivy users support,,
Do we have an idea of when the Kivy launcher for android will be updated? 

Clemo Clemo

Jul 2, 2017, 3:00:25 AM7/2/17
hello virbel can we now create android app on windows using kivy?

Clemo Clemo

Jul 2, 2017, 3:52:40 AM7/2/17
pls is buildozer recomended for windows or kivy virtual machine?

On Sun, Jul 2, 2017 at 12:00 AM, Clemo Clemo <> wrote:
hello virbel can we now create android app on windows using kivy?

On Sunday, May 7, 2017 at 4:00:45 PM UTC-7, Mathieu Virbel wrote:

You received this message because you are subscribed to the Google Groups "Kivy users support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to

Cyril Coelho

Jul 6, 2017, 8:10:50 AM7/6/17
Hello, how to disable corrector automatic in app kivy ?

You received this message because you are subscribed to a topic in the Google Groups "Kivy users support" group.
To unsubscribe from this topic, visit
To unsubscribe from this group and all its topics, send an email to

Karla Muguerza

Jul 26, 2017, 1:28:37 PM7/26/17
to Kivy users support,,

Are there any plans tu support TUIO 2.0?? Does this version supports it?

Jos Neelen

Nov 15, 2017, 3:53:44 PM11/15/17
to Kivy users support
Please look at my Post regarding Clock !

Op maandag 8 mei 2017 01:00:45 UTC+2 schreef Mathieu Virbel:


Feb 5, 2018, 5:19:35 PM2/5/18
to Kivy users support
Amazing work, thanks all

Feb 9, 2018, 8:25:01 PM2/9/18
to Kivy users support
Jerry, have you found a recommendation yet?  I've only spent a day on this and I'm lost.  I tried first installing Kivy on a full fresh Raspbian install on an RPI but although time consuming I'm not even sure where the files even installed to.  Then I tried on Mac OS High Sierra and after installing HomeBrew and PIP, I got a bunch of errors installing Kivy.  The example python files threw errors.  I would love to see a tutorial on how to get this all working with specifics and a clear start to finish.  I want to code for a touchscreen on the RPI and the features of Kivy look amazing for those who've gotten it to work on YouTube.

I'm a dummy in search of Kivy for Dummies.

Jerry Asher

Feb 9, 2018, 8:33:23 PM2/9/18
Sorry, no. It's been on a back burner for me, while I hope smarter more industrious people figure it out.

re: "where the files go", you probably already know this, but I rely heavily on running /etc/cron.daily/mlocate as su, and then using locate to find files.


bachi mjavanadze

Feb 12, 2018, 12:17:22 PM2/12/18
to Kivy users support
How about kivy designer? Are you going to launch a beta version?


Apr 1, 2018, 8:25:41 AM4/1/18
to Kivy users support
hi every one i  love kivy and i want to ask this question :
does kivy dev will continuous  ? 


Apr 12, 2018, 10:45:36 PM4/12/18
to Kivy users support
lin @ Lin:〜$ sudo pip3安裝Kivy == 1.10.0
收集Kivy == 1.10.0
    100%|████████████████████████████████| 24.3MB 54kB / s 
    完整的輸出從命令python egg_info:
命令“python egg_info”失敗,錯誤代碼1在/ tmp / pip-build-cak18ul3 / Kivy /
林@林:〜$ cython -V

安裝Kivy == 1.10.0

Thomas W Rackers

Apr 13, 2018, 10:40:08 AM4/13/18
to Kivy users support
Does this release fix the behaviors on Raspbian where (1) the app doesn't work in the Raspberry Pi desktop, (2) it goes unconditionally full-screen, and (3) there is no mouse cursor?
Message has been deleted

Quadri Ganiu

Apr 20, 2018, 8:25:25 AM4/20/18
to Kivy users support
Bugs issue on_keyboard EventLoop.
4 Observed bugs on kivy for Android.

Please help to solve it.

Main issue is on keyboard sample:

class KeyEvent(CodeInput):
def keyboard_on_key_down(self, window, keycode, text, modifiers):
print keycode, text, modifiers

When the above code is applied and run on android. When a key is pressed, I observed:
1) It invoke the on_key_down event as many as 53 times as if it's a loop.

2) keycode did not really match the pressed key.

3) keyboard_on_key_down is not invoke when volume keys are press.

4) when I touch on the CodeInput widget on_key_down is invoked.

M Dammer

May 26, 2018, 12:31:30 PM5/26/18
to Kivy users support
Are there any plans to provide stable packages for Ubuntu 18.04 "Bionic" soon ? I notice packages provided with Bionic are still 1.9 and the Kivy 'stable' PPA does not provide packages for 18.04. 

qua non

May 26, 2018, 3:18:58 PM5/26/18
bionic is supported with the daily ppa 

On Sat, May 26, 2018 at 10:01 PM, 'M Dammer' via Kivy users support <> wrote:
Are there any plans to provide stable packages for Ubuntu 18.04 "Bionic" soon ? I notice packages provided with Bionic are still 1.9 and the Kivy 'stable' PPA does not provide packages for 18.04. 

You received this message because you are subscribed to the Google Groups "Kivy users support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
Reply all
Reply to author
0 new messages