Kivy 2.3.1.dev0__cp313-cp313-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (552) hide show
  1. Kivy-2.3.1.dev0.dist-info/AUTHORS +66 -0
  2. Kivy-2.3.1.dev0.dist-info/LICENSE +21 -0
  3. Kivy-2.3.1.dev0.dist-info/METADATA +417 -0
  4. Kivy-2.3.1.dev0.dist-info/RECORD +552 -0
  5. Kivy-2.3.1.dev0.dist-info/WHEEL +5 -0
  6. Kivy-2.3.1.dev0.dist-info/dependency_links.txt +1 -0
  7. Kivy-2.3.1.dev0.dist-info/top_level.txt +1 -0
  8. kivy/__init__.py +519 -0
  9. kivy/_clock.cp313-win_amd64.pyd +0 -0
  10. kivy/_clock.pxd +131 -0
  11. kivy/_event.cp313-win_amd64.pyd +0 -0
  12. kivy/_event.pxd +68 -0
  13. kivy/_metrics.cp313-win_amd64.pyd +0 -0
  14. kivy/_metrics.pxd +5 -0
  15. kivy/_version.py +18 -0
  16. kivy/animation.py +831 -0
  17. kivy/app.py +1213 -0
  18. kivy/atlas.py +456 -0
  19. kivy/base.py +617 -0
  20. kivy/cache.py +262 -0
  21. kivy/clock.py +1172 -0
  22. kivy/compat.py +82 -0
  23. kivy/config.py +1004 -0
  24. kivy/context.py +102 -0
  25. kivy/core/__init__.py +247 -0
  26. kivy/core/audio/__init__.py +223 -0
  27. kivy/core/audio/audio_android.py +104 -0
  28. kivy/core/audio/audio_avplayer.py +82 -0
  29. kivy/core/audio/audio_ffpyplayer.py +185 -0
  30. kivy/core/audio/audio_gstplayer.py +101 -0
  31. kivy/core/audio/audio_pygame.py +127 -0
  32. kivy/core/audio/audio_sdl2.cp313-win_amd64.pyd +0 -0
  33. kivy/core/camera/__init__.py +151 -0
  34. kivy/core/camera/camera_android.py +206 -0
  35. kivy/core/camera/camera_gi.py +170 -0
  36. kivy/core/camera/camera_opencv.py +163 -0
  37. kivy/core/camera/camera_picamera.py +96 -0
  38. kivy/core/clipboard/__init__.py +157 -0
  39. kivy/core/clipboard/_clipboard_ext.py +36 -0
  40. kivy/core/clipboard/_clipboard_sdl2.cp313-win_amd64.pyd +0 -0
  41. kivy/core/clipboard/clipboard_android.py +91 -0
  42. kivy/core/clipboard/clipboard_dbusklipper.py +41 -0
  43. kivy/core/clipboard/clipboard_dummy.py +26 -0
  44. kivy/core/clipboard/clipboard_gtk3.py +47 -0
  45. kivy/core/clipboard/clipboard_nspaste.py +44 -0
  46. kivy/core/clipboard/clipboard_pygame.py +67 -0
  47. kivy/core/clipboard/clipboard_sdl2.py +36 -0
  48. kivy/core/clipboard/clipboard_winctypes.py +107 -0
  49. kivy/core/clipboard/clipboard_xclip.py +29 -0
  50. kivy/core/clipboard/clipboard_xsel.py +26 -0
  51. kivy/core/gl/__init__.py +90 -0
  52. kivy/core/image/__init__.py +996 -0
  53. kivy/core/image/_img_sdl2.cp313-win_amd64.pyd +0 -0
  54. kivy/core/image/img_dds.py +40 -0
  55. kivy/core/image/img_ffpyplayer.py +87 -0
  56. kivy/core/image/img_pil.py +123 -0
  57. kivy/core/image/img_pygame.py +119 -0
  58. kivy/core/image/img_sdl2.py +66 -0
  59. kivy/core/image/img_tex.py +58 -0
  60. kivy/core/spelling/__init__.py +135 -0
  61. kivy/core/spelling/spelling_enchant.py +50 -0
  62. kivy/core/spelling/spelling_osxappkit.py +64 -0
  63. kivy/core/text/__init__.py +1090 -0
  64. kivy/core/text/_text_sdl2.cp313-win_amd64.pyd +0 -0
  65. kivy/core/text/markup.py +893 -0
  66. kivy/core/text/text_layout.cp313-win_amd64.pyd +0 -0
  67. kivy/core/text/text_layout.pxd +13 -0
  68. kivy/core/text/text_pango.py +145 -0
  69. kivy/core/text/text_pil.py +84 -0
  70. kivy/core/text/text_pygame.py +117 -0
  71. kivy/core/text/text_sdl2.py +50 -0
  72. kivy/core/video/__init__.py +219 -0
  73. kivy/core/video/video_ffmpeg.py +106 -0
  74. kivy/core/video/video_ffpyplayer.py +449 -0
  75. kivy/core/video/video_gstplayer.py +140 -0
  76. kivy/core/video/video_null.py +12 -0
  77. kivy/core/window/__init__.py +2515 -0
  78. kivy/core/window/_window_sdl2.cp313-win_amd64.pyd +0 -0
  79. kivy/core/window/window_attrs.pxi +30 -0
  80. kivy/core/window/window_egl_rpi.py +86 -0
  81. kivy/core/window/window_info.cp313-win_amd64.pyd +0 -0
  82. kivy/core/window/window_info.pxd +19 -0
  83. kivy/core/window/window_pygame.py +441 -0
  84. kivy/core/window/window_sdl2.py +999 -0
  85. kivy/data/fonts/DejaVuSans.ttf +0 -0
  86. kivy/data/fonts/Roboto-Bold.ttf +0 -0
  87. kivy/data/fonts/Roboto-BoldItalic.ttf +0 -0
  88. kivy/data/fonts/Roboto-Italic.ttf +0 -0
  89. kivy/data/fonts/Roboto-Regular.ttf +0 -0
  90. kivy/data/fonts/RobotoMono-Regular.ttf +0 -0
  91. kivy/data/glsl/default.fs +4 -0
  92. kivy/data/glsl/default.png +0 -0
  93. kivy/data/glsl/default.vs +6 -0
  94. kivy/data/glsl/header.fs +12 -0
  95. kivy/data/glsl/header.vs +17 -0
  96. kivy/data/images/background.jpg +0 -0
  97. kivy/data/images/cursor.png +0 -0
  98. kivy/data/images/defaultshape.png +0 -0
  99. kivy/data/images/defaulttheme-0.png +0 -0
  100. kivy/data/images/defaulttheme.atlas +1 -0
  101. kivy/data/images/image-loading.gif +0 -0
  102. kivy/data/images/image-loading.zip +0 -0
  103. kivy/data/images/testpattern.png +0 -0
  104. kivy/data/keyboards/azerty.json +68 -0
  105. kivy/data/keyboards/de.json +101 -0
  106. kivy/data/keyboards/de_CH.json +98 -0
  107. kivy/data/keyboards/en_US.json +98 -0
  108. kivy/data/keyboards/es_ES.json +98 -0
  109. kivy/data/keyboards/fr_CH.json +98 -0
  110. kivy/data/keyboards/qwerty.json +66 -0
  111. kivy/data/keyboards/qwertz.json +66 -0
  112. kivy/data/logo/kivy-icon-128.png +0 -0
  113. kivy/data/logo/kivy-icon-16.png +0 -0
  114. kivy/data/logo/kivy-icon-24.png +0 -0
  115. kivy/data/logo/kivy-icon-256.png +0 -0
  116. kivy/data/logo/kivy-icon-32.png +0 -0
  117. kivy/data/logo/kivy-icon-48.png +0 -0
  118. kivy/data/logo/kivy-icon-512.png +0 -0
  119. kivy/data/logo/kivy-icon-64.ico +0 -0
  120. kivy/data/logo/kivy-icon-64.png +0 -0
  121. kivy/data/settings_kivy.json +117 -0
  122. kivy/data/style.kv +1340 -0
  123. kivy/deps/__init__.py +6 -0
  124. kivy/effects/__init__.py +23 -0
  125. kivy/effects/dampedscroll.py +114 -0
  126. kivy/effects/kinetic.py +193 -0
  127. kivy/effects/opacityscroll.py +27 -0
  128. kivy/effects/scroll.py +126 -0
  129. kivy/event.py +12 -0
  130. kivy/eventmanager/__init__.py +185 -0
  131. kivy/extras/__init__.py +0 -0
  132. kivy/extras/highlight.py +52 -0
  133. kivy/factory.py +190 -0
  134. kivy/factory_registers.py +201 -0
  135. kivy/garden/__init__.py +186 -0
  136. kivy/geometry.py +121 -0
  137. kivy/gesture.py +424 -0
  138. kivy/graphics/__init__.py +126 -0
  139. kivy/graphics/boxshadow.cp313-win_amd64.pyd +0 -0
  140. kivy/graphics/boxshadow.pxd +32 -0
  141. kivy/graphics/buffer.cp313-win_amd64.pyd +0 -0
  142. kivy/graphics/buffer.pxd +17 -0
  143. kivy/graphics/cgl.cp313-win_amd64.pyd +0 -0
  144. kivy/graphics/cgl.h +59 -0
  145. kivy/graphics/cgl.pxd +650 -0
  146. kivy/graphics/cgl_backend/__init__.py +0 -0
  147. kivy/graphics/cgl_backend/cgl_debug.cp313-win_amd64.pyd +0 -0
  148. kivy/graphics/cgl_backend/cgl_gl.cp313-win_amd64.pyd +0 -0
  149. kivy/graphics/cgl_backend/cgl_glew.cp313-win_amd64.pyd +0 -0
  150. kivy/graphics/cgl_backend/cgl_mock.cp313-win_amd64.pyd +0 -0
  151. kivy/graphics/cgl_backend/cgl_sdl2.cp313-win_amd64.pyd +0 -0
  152. kivy/graphics/common.pxi +32 -0
  153. kivy/graphics/compiler.cp313-win_amd64.pyd +0 -0
  154. kivy/graphics/compiler.pxd +6 -0
  155. kivy/graphics/context.cp313-win_amd64.pyd +0 -0
  156. kivy/graphics/context.pxd +36 -0
  157. kivy/graphics/context_instructions.cp313-win_amd64.pyd +0 -0
  158. kivy/graphics/context_instructions.pxd +77 -0
  159. kivy/graphics/fbo.cp313-win_amd64.pyd +0 -0
  160. kivy/graphics/fbo.pxd +31 -0
  161. kivy/graphics/gl_debug_logger.pxi +13 -0
  162. kivy/graphics/gl_instructions.cp313-win_amd64.pyd +0 -0
  163. kivy/graphics/img_tools.pxi +114 -0
  164. kivy/graphics/instructions.cp313-win_amd64.pyd +0 -0
  165. kivy/graphics/instructions.pxd +129 -0
  166. kivy/graphics/memory.pxi +74 -0
  167. kivy/graphics/opcodes.pxi +10 -0
  168. kivy/graphics/opengl.cp313-win_amd64.pyd +0 -0
  169. kivy/graphics/opengl_utils.cp313-win_amd64.pyd +0 -0
  170. kivy/graphics/opengl_utils.pxd +11 -0
  171. kivy/graphics/opengl_utils_def.pxi +17 -0
  172. kivy/graphics/scissor_instructions.cp313-win_amd64.pyd +0 -0
  173. kivy/graphics/shader.cp313-win_amd64.pyd +0 -0
  174. kivy/graphics/shader.pxd +42 -0
  175. kivy/graphics/stencil_instructions.cp313-win_amd64.pyd +0 -0
  176. kivy/graphics/stencil_instructions.pxd +20 -0
  177. kivy/graphics/svg.cp313-win_amd64.pyd +0 -0
  178. kivy/graphics/svg.pxd +80 -0
  179. kivy/graphics/tesselator.cp313-win_amd64.pyd +0 -0
  180. kivy/graphics/tesselator.pxd +9 -0
  181. kivy/graphics/texture.cp313-win_amd64.pyd +0 -0
  182. kivy/graphics/texture.pxd +49 -0
  183. kivy/graphics/transformation.cp313-win_amd64.pyd +0 -0
  184. kivy/graphics/transformation.pxd +38 -0
  185. kivy/graphics/vbo.cp313-win_amd64.pyd +0 -0
  186. kivy/graphics/vbo.pxd +54 -0
  187. kivy/graphics/vertex.cp313-win_amd64.pyd +0 -0
  188. kivy/graphics/vertex.pxd +20 -0
  189. kivy/graphics/vertex_instructions.cp313-win_amd64.pyd +0 -0
  190. kivy/graphics/vertex_instructions.pxd +34 -0
  191. kivy/graphics/vertex_instructions_line.pxi +1784 -0
  192. kivy/include/common_subset.h +497 -0
  193. kivy/include/config.h +18 -0
  194. kivy/include/config.pxi +20 -0
  195. kivy/include/gl2platform.h +30 -0
  196. kivy/include/gl_redirect.h +104 -0
  197. kivy/include/khrplatform.h +269 -0
  198. kivy/input/__init__.py +39 -0
  199. kivy/input/factory.py +35 -0
  200. kivy/input/motionevent.py +587 -0
  201. kivy/input/postproc/__init__.py +27 -0
  202. kivy/input/postproc/calibration.py +200 -0
  203. kivy/input/postproc/dejitter.py +74 -0
  204. kivy/input/postproc/doubletap.py +101 -0
  205. kivy/input/postproc/ignorelist.py +47 -0
  206. kivy/input/postproc/retaintouch.py +93 -0
  207. kivy/input/postproc/tripletap.py +106 -0
  208. kivy/input/provider.py +40 -0
  209. kivy/input/providers/__init__.py +68 -0
  210. kivy/input/providers/androidjoystick.py +117 -0
  211. kivy/input/providers/hidinput.py +778 -0
  212. kivy/input/providers/leapfinger.py +113 -0
  213. kivy/input/providers/linuxwacom.py +396 -0
  214. kivy/input/providers/mactouch.py +220 -0
  215. kivy/input/providers/mouse.py +424 -0
  216. kivy/input/providers/mtdev.py +380 -0
  217. kivy/input/providers/probesysfs.py +254 -0
  218. kivy/input/providers/tuio.py +326 -0
  219. kivy/input/providers/wm_common.py +162 -0
  220. kivy/input/providers/wm_pen.py +121 -0
  221. kivy/input/providers/wm_touch.py +157 -0
  222. kivy/input/recorder.py +335 -0
  223. kivy/input/shape.py +27 -0
  224. kivy/interactive.py +335 -0
  225. kivy/lang/__init__.py +883 -0
  226. kivy/lang/builder.py +1004 -0
  227. kivy/lang/parser.py +822 -0
  228. kivy/lib/__init__.py +21 -0
  229. kivy/lib/ddsfile.py +419 -0
  230. kivy/lib/gstplayer/__init__.py +27 -0
  231. kivy/lib/gstplayer/_gstplayer.cp313-win_amd64.pyd +0 -0
  232. kivy/lib/mtdev.py +254 -0
  233. kivy/lib/pango/pangoft2.pxi +366 -0
  234. kivy/lib/sdl2.pxi +1095 -0
  235. kivy/lib/vidcore_lite/__init__.py +0 -0
  236. kivy/lib/vidcore_lite/bcm.pxd +70 -0
  237. kivy/loader.py +579 -0
  238. kivy/logger.py +646 -0
  239. kivy/metrics.py +421 -0
  240. kivy/modules/__init__.py +300 -0
  241. kivy/modules/_webdebugger.py +200 -0
  242. kivy/modules/console.py +1059 -0
  243. kivy/modules/cursor.py +75 -0
  244. kivy/modules/inspector.py +755 -0
  245. kivy/modules/joycursor.py +299 -0
  246. kivy/modules/keybinding.py +64 -0
  247. kivy/modules/monitor.py +90 -0
  248. kivy/modules/recorder.py +94 -0
  249. kivy/modules/screen.py +183 -0
  250. kivy/modules/showborder.py +33 -0
  251. kivy/modules/touchring.py +97 -0
  252. kivy/modules/webdebugger.py +30 -0
  253. kivy/multistroke.py +1477 -0
  254. kivy/network/__init__.py +7 -0
  255. kivy/network/urlrequest.py +794 -0
  256. kivy/parser.py +154 -0
  257. kivy/properties.cp313-win_amd64.pyd +0 -0
  258. kivy/properties.pxd +153 -0
  259. kivy/resources.py +102 -0
  260. kivy/setupconfig.py +23 -0
  261. kivy/storage/__init__.py +405 -0
  262. kivy/storage/dictstore.py +98 -0
  263. kivy/storage/jsonstore.py +92 -0
  264. kivy/storage/redisstore.py +103 -0
  265. kivy/support.py +267 -0
  266. kivy/tests/__init__.py +11 -0
  267. kivy/tests/async_common.py +568 -0
  268. kivy/tests/common.py +524 -0
  269. kivy/tests/conftest.py +33 -0
  270. kivy/tests/coverage_lang.kv +17 -0
  271. kivy/tests/data/test.ini +2 -0
  272. kivy/tests/fixtures.py +169 -0
  273. kivy/tests/perf_test_textinput.py +195 -0
  274. kivy/tests/pyinstaller/simple_widget/main.py +12 -0
  275. kivy/tests/pyinstaller/simple_widget/main.spec +37 -0
  276. kivy/tests/pyinstaller/simple_widget/project/__init__.py +0 -0
  277. kivy/tests/pyinstaller/simple_widget/project/widget.py +12 -0
  278. kivy/tests/pyinstaller/test_pyinstaller.py +115 -0
  279. kivy/tests/pyinstaller/video_widget/main.py +6 -0
  280. kivy/tests/pyinstaller/video_widget/main.spec +50 -0
  281. kivy/tests/pyinstaller/video_widget/project/__init__.py +38 -0
  282. kivy/tests/pytest.ini +6 -0
  283. kivy/tests/sample1.ogg +0 -0
  284. kivy/tests/test_animations.py +415 -0
  285. kivy/tests/test_app.py +216 -0
  286. kivy/tests/test_audio.py +69 -0
  287. kivy/tests/test_benchmark.py +292 -0
  288. kivy/tests/test_button.png +0 -0
  289. kivy/tests/test_clipboard.py +48 -0
  290. kivy/tests/test_clock.py +292 -0
  291. kivy/tests/test_compat.py +6 -0
  292. kivy/tests/test_config.py +35 -0
  293. kivy/tests/test_coverage.py +83 -0
  294. kivy/tests/test_doc_gallery.py +38 -0
  295. kivy/tests/test_environ_cli.py +50 -0
  296. kivy/tests/test_fbo_py2py3.py +74 -0
  297. kivy/tests/test_filechooser.py +11 -0
  298. kivy/tests/test_filechooser_unicode.py +82 -0
  299. kivy/tests/test_fonts.py +42 -0
  300. kivy/tests/test_garden.py +23 -0
  301. kivy/tests/test_graphics.py +1149 -0
  302. kivy/tests/test_graphics_svg.py +84 -0
  303. kivy/tests/test_image.py +74 -0
  304. kivy/tests/test_imageloader.py +485 -0
  305. kivy/tests/test_invalid_lang.py +42 -0
  306. kivy/tests/test_issues/test_6315.py +55 -0
  307. kivy/tests/test_issues/test_issue_1084.py +47 -0
  308. kivy/tests/test_issues/test_issue_1091.py +19 -0
  309. kivy/tests/test_issues/test_issue_599.py +21 -0
  310. kivy/tests/test_issues/test_issue_609.py +19 -0
  311. kivy/tests/test_issues/test_issue_6909.py +28 -0
  312. kivy/tests/test_issues/test_issue_883.py +12 -0
  313. kivy/tests/test_kivy_init.py +30 -0
  314. kivy/tests/test_knspace.py +247 -0
  315. kivy/tests/test_lang.py +431 -0
  316. kivy/tests/test_lang_complex.py +87 -0
  317. kivy/tests/test_lang_pre_process_and_post_process.py +394 -0
  318. kivy/tests/test_logger.py +516 -0
  319. kivy/tests/test_metrics.py +30 -0
  320. kivy/tests/test_module_inspector.py +382 -0
  321. kivy/tests/test_motion_event.py +44 -0
  322. kivy/tests/test_mouse_hover_event.py +249 -0
  323. kivy/tests/test_mouse_multitouchsim.py +554 -0
  324. kivy/tests/test_multistroke.py +389 -0
  325. kivy/tests/test_properties.py +1332 -0
  326. kivy/tests/test_resources.py +79 -0
  327. kivy/tests/test_rst_replace.py +63 -0
  328. kivy/tests/test_screen.py +38 -0
  329. kivy/tests/test_storage.py +135 -0
  330. kivy/tests/test_uix_actionbar.py +363 -0
  331. kivy/tests/test_uix_anchorlayout.py +79 -0
  332. kivy/tests/test_uix_asyncimage.py +133 -0
  333. kivy/tests/test_uix_boxlayout.py +94 -0
  334. kivy/tests/test_uix_bubble.py +425 -0
  335. kivy/tests/test_uix_carousel.py +93 -0
  336. kivy/tests/test_uix_colorpicker.py +77 -0
  337. kivy/tests/test_uix_dropdown.py +91 -0
  338. kivy/tests/test_uix_gridlayout.py +244 -0
  339. kivy/tests/test_uix_layout.py +16 -0
  340. kivy/tests/test_uix_modal.py +101 -0
  341. kivy/tests/test_uix_recyclegridlayout.py +383 -0
  342. kivy/tests/test_uix_relativelayout.py +30 -0
  343. kivy/tests/test_uix_scrollview.py +358 -0
  344. kivy/tests/test_uix_settings.py +33 -0
  345. kivy/tests/test_uix_slider.py +156 -0
  346. kivy/tests/test_uix_stacklayout.py +120 -0
  347. kivy/tests/test_uix_textinput.py +577 -0
  348. kivy/tests/test_uix_translate_coordinates.py +72 -0
  349. kivy/tests/test_uix_videoplayer.py +112 -0
  350. kivy/tests/test_uix_widget.py +137 -0
  351. kivy/tests/test_urlrequest/test_urlrequest_requests.py +378 -0
  352. kivy/tests/test_urlrequest/test_urlrequest_urllib.py +155 -0
  353. kivy/tests/test_utils.py +237 -0
  354. kivy/tests/test_vector.py +256 -0
  355. kivy/tests/test_video.py +25 -0
  356. kivy/tests/test_weakmethod.py +44 -0
  357. kivy/tests/test_widget.py +127 -0
  358. kivy/tests/test_widget_walk.py +70 -0
  359. kivy/tests/test_window_base.py +60 -0
  360. kivy/tests/test_window_info.py +29 -0
  361. kivy/tests/testkv.kv +1 -0
  362. kivy/tests/unicode_files.zip +0 -0
  363. kivy/tests/unicode_font.zip +0 -0
  364. kivy/tests/visual_test_label.py +291 -0
  365. kivy/tools/__init__.py +44 -0
  366. kivy/tools/benchmark.py +286 -0
  367. kivy/tools/changelog_parser.py +120 -0
  368. kivy/tools/coverage.py +135 -0
  369. kivy/tools/gallery.py +323 -0
  370. kivy/tools/generate-icons.py +117 -0
  371. kivy/tools/gles_compat/gl2.h +621 -0
  372. kivy/tools/gles_compat/subset_gles.py +125 -0
  373. kivy/tools/highlight/__init__.py +9 -0
  374. kivy/tools/highlight/kivy-mode.el +293 -0
  375. kivy/tools/highlight/kivy.json-tmlanguage +20 -0
  376. kivy/tools/highlight/kivy.tmLanguage +59 -0
  377. kivy/tools/highlight/kivy.vim +47 -0
  378. kivy/tools/image-testsuite/README.md +148 -0
  379. kivy/tools/image-testsuite/gimp28-testsuite.py +329 -0
  380. kivy/tools/image-testsuite/imagemagick-testsuite.sh +238 -0
  381. kivy/tools/kviewer.py +80 -0
  382. kivy/tools/packaging/__init__.py +12 -0
  383. kivy/tools/packaging/cython_cfg.py +82 -0
  384. kivy/tools/packaging/factory.py +105 -0
  385. kivy/tools/packaging/pyinstaller_hooks/__init__.py +381 -0
  386. kivy/tools/packaging/pyinstaller_hooks/__main__.py +29 -0
  387. kivy/tools/packaging/pyinstaller_hooks/hook-kivy.py +9 -0
  388. kivy/tools/packaging/pyinstaller_hooks/pyi_rth_kivy.py +17 -0
  389. kivy/tools/pep8checker/pep8.py +2316 -0
  390. kivy/tools/pep8checker/pep8kivy.py +109 -0
  391. kivy/tools/pep8checker/pre-commit.githook +80 -0
  392. kivy/tools/precommit_hooks/pre-commit-config.yaml +34 -0
  393. kivy/tools/report.py +223 -0
  394. kivy/tools/stub-gl-debug.py +201 -0
  395. kivy/tools/texturecompress.py +233 -0
  396. kivy/tools/theming/defaulttheme/action_bar.png +0 -0
  397. kivy/tools/theming/defaulttheme/action_group.png +0 -0
  398. kivy/tools/theming/defaulttheme/action_group_disabled.png +0 -0
  399. kivy/tools/theming/defaulttheme/action_group_down.png +0 -0
  400. kivy/tools/theming/defaulttheme/action_item.png +0 -0
  401. kivy/tools/theming/defaulttheme/action_item_down.png +0 -0
  402. kivy/tools/theming/defaulttheme/action_view.png +0 -0
  403. kivy/tools/theming/defaulttheme/audio-volume-high.png +0 -0
  404. kivy/tools/theming/defaulttheme/audio-volume-low.png +0 -0
  405. kivy/tools/theming/defaulttheme/audio-volume-medium.png +0 -0
  406. kivy/tools/theming/defaulttheme/audio-volume-muted.png +0 -0
  407. kivy/tools/theming/defaulttheme/bubble.png +0 -0
  408. kivy/tools/theming/defaulttheme/bubble_arrow.png +0 -0
  409. kivy/tools/theming/defaulttheme/bubble_btn.png +0 -0
  410. kivy/tools/theming/defaulttheme/bubble_btn_pressed.png +0 -0
  411. kivy/tools/theming/defaulttheme/button.png +0 -0
  412. kivy/tools/theming/defaulttheme/button_disabled.png +0 -0
  413. kivy/tools/theming/defaulttheme/button_disabled_pressed.png +0 -0
  414. kivy/tools/theming/defaulttheme/button_pressed.png +0 -0
  415. kivy/tools/theming/defaulttheme/checkbox_disabled_off.png +0 -0
  416. kivy/tools/theming/defaulttheme/checkbox_disabled_on.png +0 -0
  417. kivy/tools/theming/defaulttheme/checkbox_off.png +0 -0
  418. kivy/tools/theming/defaulttheme/checkbox_on.png +0 -0
  419. kivy/tools/theming/defaulttheme/checkbox_radio_disabled_off.png +0 -0
  420. kivy/tools/theming/defaulttheme/checkbox_radio_disabled_on.png +0 -0
  421. kivy/tools/theming/defaulttheme/checkbox_radio_off.png +0 -0
  422. kivy/tools/theming/defaulttheme/checkbox_radio_on.png +0 -0
  423. kivy/tools/theming/defaulttheme/close.png +0 -0
  424. kivy/tools/theming/defaulttheme/filechooser_file.png +0 -0
  425. kivy/tools/theming/defaulttheme/filechooser_folder.png +0 -0
  426. kivy/tools/theming/defaulttheme/filechooser_selected.png +0 -0
  427. kivy/tools/theming/defaulttheme/image-missing.png +0 -0
  428. kivy/tools/theming/defaulttheme/media-playback-pause.png +0 -0
  429. kivy/tools/theming/defaulttheme/media-playback-start.png +0 -0
  430. kivy/tools/theming/defaulttheme/media-playback-stop.png +0 -0
  431. kivy/tools/theming/defaulttheme/modalview-background.png +0 -0
  432. kivy/tools/theming/defaulttheme/overflow.png +0 -0
  433. kivy/tools/theming/defaulttheme/player-background.png +0 -0
  434. kivy/tools/theming/defaulttheme/player-play-overlay.png +0 -0
  435. kivy/tools/theming/defaulttheme/previous_normal.png +0 -0
  436. kivy/tools/theming/defaulttheme/progressbar.png +0 -0
  437. kivy/tools/theming/defaulttheme/progressbar_background.png +0 -0
  438. kivy/tools/theming/defaulttheme/ring.png +0 -0
  439. kivy/tools/theming/defaulttheme/selector_left.png +0 -0
  440. kivy/tools/theming/defaulttheme/selector_middle.png +0 -0
  441. kivy/tools/theming/defaulttheme/selector_right.png +0 -0
  442. kivy/tools/theming/defaulttheme/separator.png +0 -0
  443. kivy/tools/theming/defaulttheme/slider_cursor.png +0 -0
  444. kivy/tools/theming/defaulttheme/slider_cursor_disabled.png +0 -0
  445. kivy/tools/theming/defaulttheme/sliderh_background.png +0 -0
  446. kivy/tools/theming/defaulttheme/sliderh_background_disabled.png +0 -0
  447. kivy/tools/theming/defaulttheme/sliderv_background.png +0 -0
  448. kivy/tools/theming/defaulttheme/sliderv_background_disabled.png +0 -0
  449. kivy/tools/theming/defaulttheme/spinner.png +0 -0
  450. kivy/tools/theming/defaulttheme/spinner_disabled.png +0 -0
  451. kivy/tools/theming/defaulttheme/spinner_pressed.png +0 -0
  452. kivy/tools/theming/defaulttheme/splitter.png +0 -0
  453. kivy/tools/theming/defaulttheme/splitter_disabled.png +0 -0
  454. kivy/tools/theming/defaulttheme/splitter_disabled_down.png +0 -0
  455. kivy/tools/theming/defaulttheme/splitter_disabled_down_h.png +0 -0
  456. kivy/tools/theming/defaulttheme/splitter_disabled_h.png +0 -0
  457. kivy/tools/theming/defaulttheme/splitter_down.png +0 -0
  458. kivy/tools/theming/defaulttheme/splitter_down_h.png +0 -0
  459. kivy/tools/theming/defaulttheme/splitter_grip.png +0 -0
  460. kivy/tools/theming/defaulttheme/splitter_grip_h.png +0 -0
  461. kivy/tools/theming/defaulttheme/splitter_h.png +0 -0
  462. kivy/tools/theming/defaulttheme/switch-background.png +0 -0
  463. kivy/tools/theming/defaulttheme/switch-background_disabled.png +0 -0
  464. kivy/tools/theming/defaulttheme/switch-button.png +0 -0
  465. kivy/tools/theming/defaulttheme/switch-button_disabled.png +0 -0
  466. kivy/tools/theming/defaulttheme/tab.png +0 -0
  467. kivy/tools/theming/defaulttheme/tab_btn.png +0 -0
  468. kivy/tools/theming/defaulttheme/tab_btn_disabled.png +0 -0
  469. kivy/tools/theming/defaulttheme/tab_btn_disabled_pressed.png +0 -0
  470. kivy/tools/theming/defaulttheme/tab_btn_pressed.png +0 -0
  471. kivy/tools/theming/defaulttheme/tab_disabled.png +0 -0
  472. kivy/tools/theming/defaulttheme/textinput.png +0 -0
  473. kivy/tools/theming/defaulttheme/textinput_active.png +0 -0
  474. kivy/tools/theming/defaulttheme/textinput_disabled.png +0 -0
  475. kivy/tools/theming/defaulttheme/textinput_disabled_active.png +0 -0
  476. kivy/tools/theming/defaulttheme/tree_closed.png +0 -0
  477. kivy/tools/theming/defaulttheme/tree_opened.png +0 -0
  478. kivy/tools/theming/defaulttheme/vkeyboard_background.png +0 -0
  479. kivy/tools/theming/defaulttheme/vkeyboard_disabled_background.png +0 -0
  480. kivy/tools/theming/defaulttheme/vkeyboard_disabled_key_down.png +0 -0
  481. kivy/tools/theming/defaulttheme/vkeyboard_disabled_key_normal.png +0 -0
  482. kivy/tools/theming/defaulttheme/vkeyboard_key_down.png +0 -0
  483. kivy/tools/theming/defaulttheme/vkeyboard_key_normal.png +0 -0
  484. kivy/uix/__init__.py +56 -0
  485. kivy/uix/accordion.py +484 -0
  486. kivy/uix/actionbar.py +934 -0
  487. kivy/uix/anchorlayout.py +122 -0
  488. kivy/uix/behaviors/__init__.py +95 -0
  489. kivy/uix/behaviors/button.py +212 -0
  490. kivy/uix/behaviors/codenavigation.py +167 -0
  491. kivy/uix/behaviors/compoundselection.py +688 -0
  492. kivy/uix/behaviors/cover.py +160 -0
  493. kivy/uix/behaviors/drag.py +234 -0
  494. kivy/uix/behaviors/emacs.py +140 -0
  495. kivy/uix/behaviors/focus.py +595 -0
  496. kivy/uix/behaviors/knspace.py +590 -0
  497. kivy/uix/behaviors/togglebutton.py +156 -0
  498. kivy/uix/behaviors/touchripple.py +318 -0
  499. kivy/uix/boxlayout.py +331 -0
  500. kivy/uix/bubble.py +576 -0
  501. kivy/uix/button.py +137 -0
  502. kivy/uix/camera.py +118 -0
  503. kivy/uix/carousel.py +695 -0
  504. kivy/uix/checkbox.py +197 -0
  505. kivy/uix/codeinput.py +238 -0
  506. kivy/uix/colorpicker.py +486 -0
  507. kivy/uix/dropdown.py +391 -0
  508. kivy/uix/effectwidget.py +772 -0
  509. kivy/uix/filechooser.py +1134 -0
  510. kivy/uix/floatlayout.py +148 -0
  511. kivy/uix/gesturesurface.py +625 -0
  512. kivy/uix/gridlayout.py +629 -0
  513. kivy/uix/image.py +528 -0
  514. kivy/uix/label.py +1200 -0
  515. kivy/uix/layout.py +322 -0
  516. kivy/uix/modalview.py +339 -0
  517. kivy/uix/pagelayout.py +233 -0
  518. kivy/uix/popup.py +266 -0
  519. kivy/uix/progressbar.py +95 -0
  520. kivy/uix/recycleboxlayout.py +183 -0
  521. kivy/uix/recyclegridlayout.py +255 -0
  522. kivy/uix/recyclelayout.py +446 -0
  523. kivy/uix/recycleview/__init__.py +624 -0
  524. kivy/uix/recycleview/datamodel.py +194 -0
  525. kivy/uix/recycleview/layout.py +253 -0
  526. kivy/uix/recycleview/views.py +423 -0
  527. kivy/uix/relativelayout.py +324 -0
  528. kivy/uix/rst.py +1492 -0
  529. kivy/uix/sandbox.py +198 -0
  530. kivy/uix/scatter.py +645 -0
  531. kivy/uix/scatterlayout.py +93 -0
  532. kivy/uix/screenmanager.py +1275 -0
  533. kivy/uix/scrollview.py +1288 -0
  534. kivy/uix/settings.py +1343 -0
  535. kivy/uix/slider.py +421 -0
  536. kivy/uix/spinner.py +221 -0
  537. kivy/uix/splitter.py +430 -0
  538. kivy/uix/stacklayout.py +331 -0
  539. kivy/uix/stencilview.py +40 -0
  540. kivy/uix/switch.py +122 -0
  541. kivy/uix/tabbedpanel.py +880 -0
  542. kivy/uix/textinput.py +4049 -0
  543. kivy/uix/togglebutton.py +37 -0
  544. kivy/uix/treeview.py +665 -0
  545. kivy/uix/video.py +302 -0
  546. kivy/uix/videoplayer.py +697 -0
  547. kivy/uix/vkeyboard.py +879 -0
  548. kivy/uix/widget.py +1629 -0
  549. kivy/utils.py +550 -0
  550. kivy/vector.py +412 -0
  551. kivy/weakmethod.py +72 -0
  552. kivy/weakproxy.cp313-win_amd64.pyd +0 -0
@@ -0,0 +1,66 @@
1
+ Authors & Contributors of the Kivy Framework
2
+ ============================================
3
+
4
+ Core Developers
5
+ ---------------
6
+
7
+ * Mathieu Virbel <mathieu __at__ kivy.org>
8
+ * Gabriel Pettier / tshirtman <gabriel __at__ kivy.org>
9
+ * Akshay Arora <akshay __at__ kivy.org>
10
+ * Thomas-Karl Pietrowski <thopiekar __at__ gmail.com>
11
+ * Ben Rousch <brousch __at__ gmail.com>
12
+ * Jacob Kovac <kovac1066 __at__ gmail.com>
13
+ * Alexander Taylor <alexanderjohntaylor __at__ gmail.com>
14
+ * Matthew Einhorn <moiein2000 __at__ gmail.com>
15
+ * Richard Larkin / ZenCODE <zenkey.zencode __at__ gmail.com>
16
+ * Ryan Pessa <dkived __at__ gmail.com>
17
+ * Sebastian Armin <dessant __at__ kivy.org>
18
+ * Peter Badida <keyweeusr __at__ gmail.com>
19
+
20
+
21
+ Contributors
22
+ ------------
23
+
24
+ * Ilya Cassina <ilya.cassina __at__ gmail.com>
25
+ * Jay Bradley <j.bradley __at__ napier.ac.uk>
26
+ * Nathanaël Lécaudé <lecaude __at__ gmail.com>
27
+ * Sharath Patali <sharath.patali __at__ gmail.com>
28
+ * Tommaso Piazza <tommaso.piazza __at__ gmail.com>
29
+ * Trevor Lockley <thatsyouremail __at__ gmail.com>
30
+ * bernt
31
+ * Terje Skjaeveland (bionoid)
32
+ * George Sebastian (georgs)
33
+ * Gabriel Ortega
34
+ * Arnaud Waels (triselectif)
35
+ * Thomas Hirsch
36
+ * Joakim Gebart
37
+ * Rosemary Sebastian
38
+ * Jonathan Schemoul
39
+ * Sam Brotherton (sbrother)
40
+
41
+
42
+ Graphics
43
+ --------
44
+
45
+ * Vincent Autin <autinvincent __at__ gmail.com>
46
+
47
+
48
+ Special Thanks
49
+ --------------
50
+
51
+ * Alex Teiche <xelapond __at__ gmail.com>
52
+ * Felipe Moura <felipe.celer __at__ gmail.com>
53
+ * Riley Dutton <rileydutton __at__ gmail.com>
54
+ * Uday Karan <uday.karan __at__ gmail.com>
55
+ * Damien Marchal <damien.marchal __at__ lifl.fr>
56
+ * Tommy Bjorling <tommy.bjorling __at__ gmail.com>
57
+
58
+
59
+ Past Core Developers
60
+ --------------------
61
+
62
+ * Thomas Hansen <thomas __at__ kivy.org>
63
+ * Christopher Denter <christopher __at__ kivy.org>
64
+ * Edwin Marshall <edwin __at__ kivy.org>
65
+ * Jeff Pittman <geogeff __at__ geogeff.org>
66
+ * Brian Knapp <knapp __at__ kivy.org>
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2010-2024 Kivy Team and other contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,417 @@
1
+ Metadata-Version: 2.1
2
+ Name: Kivy
3
+ Version: 2.3.1.dev0
4
+ Summary: An open-source Python framework for developing GUI apps that work cross-platform, including desktop, mobile and embedded platforms.
5
+ Home-page: http://kivy.org
6
+ Author: Kivy Team and other contributors
7
+ Author-email: kivy-dev@googlegroups.com
8
+ License: MIT
9
+ Project-URL: Source, https://github.com/kivy/kivy
10
+ Project-URL: Documentation, https://kivy.org/doc/stable/
11
+ Project-URL: Bug Reports, https://github.com/kivy/kivy/issues
12
+ Classifier: Development Status :: 5 - Production/Stable
13
+ Classifier: Environment :: MacOS X
14
+ Classifier: Environment :: Win32 (MS Windows)
15
+ Classifier: Environment :: X11 Applications
16
+ Classifier: Intended Audience :: Developers
17
+ Classifier: Intended Audience :: End Users/Desktop
18
+ Classifier: Intended Audience :: Information Technology
19
+ Classifier: Intended Audience :: Science/Research
20
+ Classifier: License :: OSI Approved :: MIT License
21
+ Classifier: Natural Language :: English
22
+ Classifier: Operating System :: MacOS :: MacOS X
23
+ Classifier: Operating System :: Microsoft :: Windows
24
+ Classifier: Operating System :: POSIX :: BSD :: FreeBSD
25
+ Classifier: Operating System :: POSIX :: Linux
26
+ Classifier: Programming Language :: Python :: 3.8
27
+ Classifier: Programming Language :: Python :: 3.9
28
+ Classifier: Programming Language :: Python :: 3.10
29
+ Classifier: Programming Language :: Python :: 3.11
30
+ Classifier: Programming Language :: Python :: 3.12
31
+ Classifier: Programming Language :: Python :: 3.13
32
+ Classifier: Topic :: Artistic Software
33
+ Classifier: Topic :: Games/Entertainment
34
+ Classifier: Topic :: Multimedia :: Graphics :: 3D Rendering
35
+ Classifier: Topic :: Multimedia :: Graphics :: Capture :: Digital Camera
36
+ Classifier: Topic :: Multimedia :: Graphics :: Presentation
37
+ Classifier: Topic :: Multimedia :: Graphics :: Viewers
38
+ Classifier: Topic :: Multimedia :: Sound/Audio :: Players :: MP3
39
+ Classifier: Topic :: Multimedia :: Video :: Display
40
+ Classifier: Topic :: Scientific/Engineering :: Human Machine Interfaces
41
+ Classifier: Topic :: Scientific/Engineering :: Visualization
42
+ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
43
+ Classifier: Topic :: Software Development :: User Interfaces
44
+ Requires-Python: >=3.8
45
+ Description-Content-Type: text/markdown
46
+ License-File: LICENSE
47
+ License-File: AUTHORS
48
+ Requires-Dist: Kivy-Garden>=0.1.4
49
+ Requires-Dist: docutils
50
+ Requires-Dist: pygments
51
+ Requires-Dist: requests
52
+ Requires-Dist: filetype
53
+ Requires-Dist: kivy-deps.angle~=0.4.0; sys_platform == "win32"
54
+ Requires-Dist: kivy-deps.sdl2~=0.8.0; sys_platform == "win32"
55
+ Requires-Dist: kivy-deps.glew~=0.3.1; sys_platform == "win32"
56
+ Requires-Dist: pypiwin32; sys_platform == "win32"
57
+ Provides-Extra: angle
58
+ Requires-Dist: kivy-deps.angle~=0.4.0; sys_platform == "win32" and extra == "angle"
59
+ Provides-Extra: base
60
+ Requires-Dist: pillow<11,>=9.5.0; extra == "base"
61
+ Provides-Extra: dev
62
+ Requires-Dist: pytest>=3.6; extra == "dev"
63
+ Requires-Dist: pytest-cov; extra == "dev"
64
+ Requires-Dist: pytest-asyncio!=0.11.0; extra == "dev"
65
+ Requires-Dist: pytest-timeout; extra == "dev"
66
+ Requires-Dist: pytest-benchmark; extra == "dev"
67
+ Requires-Dist: pyinstaller; extra == "dev"
68
+ Requires-Dist: sphinx~=6.2.1; extra == "dev"
69
+ Requires-Dist: sphinxcontrib-jquery~=4.1; extra == "dev"
70
+ Requires-Dist: flake8; extra == "dev"
71
+ Requires-Dist: pre-commit; extra == "dev"
72
+ Requires-Dist: responses; extra == "dev"
73
+ Requires-Dist: kivy-deps.gstreamer-dev~=0.3.3; sys_platform == "win32" and extra == "dev"
74
+ Requires-Dist: kivy-deps.sdl2-dev~=0.8.0; sys_platform == "win32" and extra == "dev"
75
+ Requires-Dist: kivy-deps.glew-dev~=0.3.1; sys_platform == "win32" and extra == "dev"
76
+ Provides-Extra: full
77
+ Requires-Dist: pillow<11,>=9.5.0; extra == "full"
78
+ Requires-Dist: ffpyplayer; (sys_platform == "linux" or sys_platform == "darwin") and extra == "full"
79
+ Requires-Dist: kivy-deps.gstreamer~=0.3.3; sys_platform == "win32" and extra == "full"
80
+ Provides-Extra: glew
81
+ Requires-Dist: kivy-deps.glew~=0.3.1; sys_platform == "win32" and extra == "glew"
82
+ Provides-Extra: gstreamer
83
+ Requires-Dist: kivy-deps.gstreamer~=0.3.3; sys_platform == "win32" and extra == "gstreamer"
84
+ Provides-Extra: media
85
+ Requires-Dist: ffpyplayer; (sys_platform == "linux" or sys_platform == "darwin") and extra == "media"
86
+ Requires-Dist: kivy-deps.gstreamer~=0.3.3; sys_platform == "win32" and extra == "media"
87
+ Provides-Extra: sdl2
88
+ Requires-Dist: kivy-deps.sdl2~=0.8.0; sys_platform == "win32" and extra == "sdl2"
89
+ Provides-Extra: tuio
90
+ Requires-Dist: oscpy; extra == "tuio"
91
+
92
+ Kivy
93
+
94
+ ====
95
+
96
+
97
+
98
+ <img align="right" height="256" src="https://raw.githubusercontent.com/kivy/kivy/master/kivy/data/logo/kivy-icon-256.png"/>
99
+
100
+
101
+
102
+ [Kivy](https://www.kivy.org) is an open-source [Python](https://python.org) framework
103
+
104
+ for developing GUI apps that work cross-platform, including desktop, mobile and
105
+
106
+ embedded platforms.
107
+
108
+
109
+
110
+ The aim is to allow for quick and easy interaction design and rapid prototyping
111
+
112
+ whilst making your code reusable and deployable: Innovative user interfaces made
113
+
114
+ easy.
115
+
116
+
117
+
118
+ Kivy is written in Python and [Cython](https://cython.org/) and is built on
119
+
120
+ [OpenGL ES 2.0](https://www.khronos.org/opengles/). It supports various input
121
+
122
+ devices and has an extensive (and extensible) widget library. With the
123
+
124
+ same codebase, you can target Windows, macOS, Linux (including Raspberry Pi OS),
125
+
126
+ Android, and iOS. All Kivy widgets are built with multitouch support.
127
+
128
+
129
+
130
+ Kivy is [MIT licensed](LICENSE), actively developed by a great community and is
131
+
132
+ supported by many projects managed by the
133
+
134
+ [Kivy Organization](https://www.kivy.org/about.html).
135
+
136
+
137
+
138
+ [![Backers on Open Collective](https://opencollective.com/kivy/backers/badge.svg)](#backers)
139
+
140
+ [![Sponsors on Open Collective](https://opencollective.com/kivy/sponsors/badge.svg)](#sponsors)
141
+
142
+ [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md)
143
+
144
+ [![GitHub contributors](https://img.shields.io/github/contributors-anon/kivy/kivy)](https://github.com/kivy/kivy/graphs/contributors)
145
+
146
+
147
+
148
+ ![PyPI - Version](https://img.shields.io/pypi/v/kivy)
149
+
150
+ ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/kivy)
151
+
152
+
153
+
154
+ [![Windows Unittests Status](https://github.com/kivy/kivy/workflows/Windows%20Unittests/badge.svg)](https://github.com/kivy/kivy/actions?query=workflow%3A%22Windows+Unittests%22)
155
+
156
+ [![Ubuntu Unittests Status](https://github.com/kivy/kivy/workflows/Ubuntu%20Unittests/badge.svg)](https://github.com/kivy/kivy/actions?query=workflow%3A%22Ubuntu+Unittests%22)
157
+
158
+ [![OSX Unittests Status](https://github.com/kivy/kivy/workflows/OSX%20Unittests/badge.svg)](https://github.com/kivy/kivy/actions?query=workflow%3A%22OSX+Unittests%22)
159
+
160
+ [![Coverage Status](https://coveralls.io/repos/kivy/kivy/badge.svg?branch=master)](https://coveralls.io/r/kivy/kivy?branch=master)
161
+
162
+
163
+
164
+ [![Windows wheels Status](https://github.com/kivy/kivy/workflows/Windows%20wheels/badge.svg)](https://github.com/kivy/kivy/actions?query=workflow%3A%22Windows+wheels%22)
165
+
166
+ [![Manylinux wheels Status](https://github.com/kivy/kivy/workflows/Manylinux%20wheels/badge.svg)](https://github.com/kivy/kivy/actions?query=workflow%3A%22Manylinux+wheels%22)
167
+
168
+ [![Raspberry Pi wheels Status](https://github.com/kivy/kivy/workflows/RPi%20wheels/badge.svg)](https://github.com/kivy/kivy/actions?query=workflow%3A%22RPi+wheels%22)
169
+
170
+ [![OSX wheels Status](https://github.com/kivy/kivy/workflows/OSX%20wheels%2Fapp/badge.svg)](https://github.com/kivy/kivy/actions?query=workflow%3A%22OSX+wheels%2Fapp%22)
171
+
172
+
173
+
174
+ Installation, Documentation and Examples
175
+
176
+ ----------------------------------------
177
+
178
+
179
+
180
+ Extensive installation instructions as well as tutorials and general
181
+
182
+ documentation, including an API reference, can be found at https://www.kivy.org/docs.
183
+
184
+ A [PDF version](https://media.readthedocs.org/pdf/kivy/latest/kivy.pdf) is also available.
185
+
186
+
187
+
188
+ Kivy ships with many examples which can be found in the `examples` folder.
189
+
190
+
191
+
192
+ Support
193
+
194
+ -------
195
+
196
+
197
+
198
+ Are you having trouble using the Kivy framework, or any of its related projects?
199
+
200
+ Is there an error you don’t understand? Are you trying to figure out how to use
201
+
202
+ it? We have volunteers who can help!
203
+
204
+
205
+
206
+ The best channels to contact us for support are listed in the latest
207
+
208
+ [Contact Us](CONTACT.md) document.
209
+
210
+
211
+
212
+ Contributing
213
+
214
+ ------------
215
+
216
+
217
+
218
+ We love pull requests and discussing novel ideas. Check out our
219
+
220
+ [latest contribution guide](CONTRIBUTING.md) and
221
+
222
+ feel free to improve Kivy.
223
+
224
+
225
+
226
+ It gives details of the best places online to discuss the development with the
227
+
228
+ core developers and other enthusiasts.
229
+
230
+
231
+
232
+ Sibling projects
233
+
234
+ ----------------
235
+
236
+
237
+
238
+ The Kivy team manager a number of additional projects that support the Kivy
239
+
240
+ eco-system.
241
+
242
+
243
+
244
+ - [Buildozer](https://github.com/kivy/buildozer): a development tool for turning Python applications into binary packages ready for installation on
245
+
246
+ any of a number of platforms, including mobile devices.
247
+
248
+ - [Plyer](https://github.com/kivy/plyer): a platform-independent Python API for accessing hardware features of various platforms (Android, iOS,
249
+
250
+ macOS, Linux and Windows).
251
+
252
+ - [PyJNIus](https://github.com/kivy/pyjnius): a Python library for accessing Java classes using the Java Native Interface (JNI).
253
+
254
+ - [Pyobjus](https://github.com/kivy/pyobjus): Python module for accessing Objective-C classes as Python classes using
255
+
256
+ Objective-C runtime reflection.
257
+
258
+ - [Python for Android](https://github.com/kivy/python-for-android): a development tool that packages Python apps into binaries that can run on Android devices.
259
+
260
+ - [Kivy iOS](https://github.com/kivy/kivy-ios): a toolchain to compile the necessary libraries for iOS to run Kivy applications, and manage the
261
+
262
+ creation of Xcode projects.
263
+
264
+ - [Audiostream](https://github.com/kivy/audiostream): library for direct access
265
+
266
+ to the microphone and speaker.
267
+
268
+ - [KivEnt](https://github.com/kivy/kivent): entity-based game engine for Kivy.
269
+
270
+ - [Oscpy](https://github.com/kivy/oscpy/): a Python implementation of Open Sound Control (OSC) network protocol.
271
+
272
+ - [Garden](https://github.com/kivy-garden): widgets and libraries created and
273
+
274
+ maintained by users.
275
+
276
+
277
+
278
+ Licenses
279
+
280
+ --------
281
+
282
+
283
+
284
+ - Kivy is released under the terms of the MIT License. Please refer to the
285
+
286
+ [LICENSE](LICENSE) file.
287
+
288
+ - The provided fonts Roboto and Roboto Mono are licensed and
289
+
290
+ distributed under the terms of the
291
+
292
+ [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0).
293
+
294
+ The DejaVuSans (used for the virtual keyboard) license can be viewed
295
+
296
+ [here](https://github.com/dejavu-fonts/dejavu-fonts/blob/master/LICENSE).
297
+
298
+ - The current UI design has been adapted from Moblintouch theme's SVGs
299
+
300
+ and is licensed under the terms of the
301
+
302
+ [LGPLv2.1](https://www.gnu.org/licenses/old-licenses/lgpl-2.1).
303
+
304
+
305
+
306
+
307
+
308
+ ## Code of Conduct
309
+
310
+
311
+
312
+ In the interest of fostering an open and welcoming community, we as
313
+
314
+ contributors and maintainers need to ensure participation in our project and
315
+
316
+ our sister projects is a harassment-free and positive experience for everyone.
317
+
318
+ It is vital that all interaction is conducted in a manner conveying respect,
319
+
320
+ open-mindedness and gratitude.
321
+
322
+
323
+
324
+ Please consult the [latest Code of Conduct](https://github.com/kivy/kivy/blob/master/CODE_OF_CONDUCT.md).
325
+
326
+
327
+
328
+ ## Contributors
329
+
330
+
331
+
332
+ This project exists thanks to
333
+
334
+ [all the people who contribute](https://github.com/kivy/kivy/graphs/contributors).
335
+
336
+ [[Become a contributor](CONTRIBUTING.md)].
337
+
338
+
339
+
340
+ <img src="https://contrib.nn.ci/api?repo=kivy/kivy&pages=5&no_bot=true&radius=22&cols=18">
341
+
342
+
343
+
344
+ ## Backers
345
+
346
+
347
+
348
+ Thank you to [all of our backers](https://opencollective.com/kivy)!
349
+
350
+ 🙏 [[Become a backer](https://opencollective.com/kivy#backer)]
351
+
352
+
353
+
354
+ <img src="https://opencollective.com/kivy/backers.svg?width=890&avatarHeight=44&button=false">
355
+
356
+
357
+
358
+ ## Sponsors
359
+
360
+
361
+
362
+ Special thanks to
363
+
364
+ [all of our sponsors, past and present](https://opencollective.com/kivy).
365
+
366
+ Support this project by
367
+
368
+ [[becoming a sponsor](https://opencollective.com/kivy#sponsor)].
369
+
370
+
371
+
372
+ Here are our top current sponsors. Please click through to see their websites,
373
+
374
+ and support them as they support us.
375
+
376
+
377
+
378
+ <!--- See https://github.com/orgs/kivy/discussions/15 for explanation of this code. -->
379
+
380
+ <a href="https://opencollective.com/kivy/sponsor/0/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/0/avatar.svg"></a>
381
+
382
+ <a href="https://opencollective.com/kivy/sponsor/1/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/1/avatar.svg"></a>
383
+
384
+ <a href="https://opencollective.com/kivy/sponsor/2/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/2/avatar.svg"></a>
385
+
386
+ <a href="https://opencollective.com/kivy/sponsor/3/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/3/avatar.svg"></a>
387
+
388
+
389
+
390
+ <a href="https://opencollective.com/kivy/sponsor/4/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/4/avatar.svg"></a>
391
+
392
+ <a href="https://opencollective.com/kivy/sponsor/5/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/5/avatar.svg"></a>
393
+
394
+ <a href="https://opencollective.com/kivy/sponsor/6/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/6/avatar.svg"></a>
395
+
396
+ <a href="https://opencollective.com/kivy/sponsor/7/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/7/avatar.svg"></a>
397
+
398
+
399
+
400
+ <a href="https://opencollective.com/kivy/sponsor/8/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/8/avatar.svg"></a>
401
+
402
+ <a href="https://opencollective.com/kivy/sponsor/9/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/9/avatar.svg"></a>
403
+
404
+ <a href="https://opencollective.com/kivy/sponsor/10/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/10/avatar.svg"></a>
405
+
406
+ <a href="https://opencollective.com/kivy/sponsor/11/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/11/avatar.svg"></a>
407
+
408
+
409
+
410
+ <a href="https://opencollective.com/kivy/sponsor/12/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/12/avatar.svg"></a>
411
+
412
+ <a href="https://opencollective.com/kivy/sponsor/13/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/13/avatar.svg"></a>
413
+
414
+ <a href="https://opencollective.com/kivy/sponsor/14/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/14/avatar.svg"></a>
415
+
416
+ <a href="https://opencollective.com/kivy/sponsor/15/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/15/avatar.svg"></a>
417
+