Kivy python скачать windows 64

Table Of Contents

  • Installing Kivy
    • Using pip
      • Setup terminal and pip
      • Create virtual environment
      • Install Kivy
        • Pre-compiled wheels
        • From source
        • Pre-release, pre-compiled wheels
        • Development install
      • Checking the demo
    • Installation using Conda
    • Installing Kivy’s dependencies
    • Python glossary
      • Installing Python
      • How to use the command line
      • What is pip and what are wheels
      • What are nightly wheels

Installation for Kivy version 2.2.1. Read the changelog here.
For other Kivy versions, select the documentation from the dropdown on the top left.

Kivy 2.2.1 officially supports Python versions 3.7 — 3.11.

Platform

Installation

Packaging

w_logo

Windows

pip

PyInstaller

m_logo

macOS

pip, Kivy.app

Kivy.app, PyInstaller

l_logo

Linux

pip, PPA

b_logo

*BSD (FreeBSD,..)

pip

r_logo

RPi

pip

a_logo

Android

python-for-android

python-for-android

i_logo

iOS

kivy-ios

kivy-ios

c_logo

Anaconda

conda

Using pip¶

The easiest way to install Kivy is with pip, which installs Kivy using either a
pre-compiled wheel, if available, otherwise from source (see below).

Kivy provides pre-compiled wheels for the supported Python
versions on Windows, macOS, Linux, and RPi.

If no wheels are available pip will build the package from sources (i.e. on *BSD).

Alternatively, installing from source is required for newer Python versions not listed
above or if the wheels do not work or fail to run properly.

On RPi, when using a 32 bit OS, wheels are provided for Python 3.7 (Raspberry Pi OS Buster) and Python 3.9 (Raspberry Pi OS Bullseye),
via the PiWheels project. For other Python versions, on 32 bit OSes, you will need to
install from source.

Setup terminal and pip¶

Before Kivy can be installed, Python and pip needs to be pre-installed.
Then, start a new terminal that has
Python available. In the terminal, update pip and other installation
dependencies so you have the latest version as follows (for linux users you may have to
substitute python3 instead of python and also add a --user flag in the
subsequent commands outside the virtual environment):

python -m pip install --upgrade pip setuptools virtualenv

Create virtual environment¶

Create a new virtual environment
for your Kivy project. A virtual environment will prevent possible installation conflicts
with other Python versions and packages. It’s optional but strongly recommended:

  1. Create the virtual environment named kivy_venv in your current directory:

    python -m virtualenv kivy_venv
    
  2. Activate the virtual environment. You will have to do this step from the current directory
    every time you start a new terminal. This sets up the environment so the new kivy_venv
    Python is used.

    For Windows default CMD, in the command line do:

    kivy_venv\Scripts\activate
    

    If you are in a bash terminal on Windows, instead do:

    source kivy_venv/Scripts/activate
    

    If you are in linux or macOS, instead do:

    source kivy_venv/bin/activate
    

Your terminal should now preface the path with something like (kivy_venv), indicating that
the kivy_venv environment is active. If it doesn’t say that, the virtual environment
is not active and the following won’t work.

Install Kivy¶

Finally, install Kivy using one of the following options:

Pre-compiled wheels¶

The simplest is to install the current stable version of kivy and optionally kivy_examples
from the kivy-team provided PyPi wheels. Simply do:

python -m pip install "kivy[base]" kivy_examples

This also installs the minimum dependencies of Kivy. To additionally install Kivy with
audio/video support, install either kivy[base,media] or kivy[full].
See Kivy’s dependencies for the list of selectors.

From source¶

If a wheel is not available or is not working, Kivy can be installed from source
with some additional steps. Installing from source means that Kivy will be installed
from source code and compiled directly on your system.

First install the additional system dependencies listed for each platform:
Windows, macOS,
Linux, *BSD,
RPi

Note

In past, for macOS, Linux and BSD Kivy required the installation of the SDL dependencies from package
managers (e.g. apt or brew). However, this is no longer officially supported as the version
of SDL provided by the package managers is often outdated and may not work with Kivy as we
try to keep up with the latest SDL versions in order to support the latest features and bugfixes.

You can still install the SDL dependencies from package managers if you wish, but we no longer
offer support for this.

Instead, we recommend installing the SDL dependencies from source. This is the same process
our CI uses to build the wheels. The SDL dependencies are built from source and installed into a
specific directory.

With all the build tools installed, you can now install the SDL dependencies from source for SDL support
(this is not needed on Windows as we provide pre-built SDL dependencies for Windows)

In order to do so, we provide a script that will download and build the SDL dependencies
from source. This script is located in the tools directory of the Kivy repository.

Create a directory to store the self-built dependencies and change into it:

mkdir kivy-deps-build && cd kivy-deps-build

Then download the build tool script, according to your platform:

On macOS:

curl -O https://raw.githubusercontent.com/kivy/kivy/master/tools/build_macos_dependencies.sh -o build_kivy_deps.sh

On Linux:

curl -O https://raw.githubusercontent.com/kivy/kivy/master/tools/build_linux_dependencies.sh -o build_kivy_deps.sh

Make the script executable:

chmod +x build_kivy_deps.sh

Finally, run the script:

The script will download and build the SDL dependencies from source. It will also install
the dependencies into a directory named kivy-dependencies. This directory will be used
by Kivy to build and install Kivy from source with SDL support.

Kivy will need to know where the SDL dependencies are installed. To do so, you must set
the KIVY_DEPS_ROOT environment variable to the path of the kivy-dependencies directory.
For example, if you are in the kivy-deps-build directory, you can set the environment
variable with:

export KIVY_DEPS_ROOT=$(pwd)/kivy-dependencies

With the dependencies installed, and KIVY_DEPS_ROOT set you can now install Kivy into the virtual environment.

To install the stable version of Kivy, from the terminal do:

python -m pip install "kivy[base]" kivy_examples --no-binary kivy

To install the latest cutting-edge Kivy from master, instead do:

python -m pip install "kivy[base] @ https://github.com/kivy/kivy/archive/master.zip"

If you want to install Kivy from a different branch, from your forked repository, or
from a specific commit (e.g. to test a fix from a user’s PR) replace the corresponding
components of the url.

For example to install from the stable branch, the url becomes
https://github.com/kivy/kivy/archive/stable.zip. Or to try a specific commit hash, use e.g.
https://github.com/kivy/kivy/archive/3d3e45dda146fef3f4758aea548da199e10eb382.zip

Pre-release, pre-compiled wheels¶

To install a pre-compiled wheel of the last pre-release version of Kivy, instead of the
current stable version, add the --pre flag to pip:

python -m pip install --pre "kivy[base]" kivy_examples

This will only install a development version of Kivy if one was released to
PyPi. Instead, one can also install the
latest cutting-edge Nightly wheels from the Kivy server with:

python -m pip install kivy --pre --no-deps --index-url  https://kivy.org/downloads/simple/
python -m pip install "kivy[base]" --pre --extra-index-url https://kivy.org/downloads/simple/

It is done in two steps, because otherwise pip may ignore the wheels on the server and install
an older pre-release version from PyPi.

Development install¶

Note

We suggest to select master or relevant branch/version of doc from top left,
ensuring correct version/branch of kivy git repository you are working with.

If you want to edit Kivy before installing it, or if you want to try fixing some Kivy issue
and submit a pull request with the fix, you will need to first download the Kivy source code.
The following steps assumes git is pre-installed and available in the terminal.

The typical process is to clone Kivy locally with:

git clone https://github.com/kivy/kivy.git

This creates a kivy named folder in your current path. Next, follow the same steps of the
Installing from source above, but instead of installing Kivy via a
distribution package or zip file, install it as an
editable install.

In order to do so, first change into the Kivy folder you just cloned::
and then install Kivy as an editable install:

cd kivy
python -m pip install -e ".[dev,full]"

Now, you can use git to change branches, edit the code and submit a PR.
Remember to compile Kivy each time you change cython files as follows:

python setup.py build_ext --inplace

Or if using bash or on Linux, simply do:

to recompile.

To run the test suite, simply run:

or in bash or Linux:

On *BSD Unix remember to use gmake (GNU) in place of make (BSD).

Checking the demo¶

Kivy should now be installed. You should be able to import kivy in Python or,
if you installed the Kivy examples, run the demo.

on Windows:

python kivy_venv\share\kivy-examples\demo\showcase\main.py

in bash, Linux and macOS:

python kivy_venv/share/kivy-examples/demo/showcase/main.py

on *BSD Unix:

python3 kivy_venv/share/kivy-examples/demo/showcase/main.py

The exact path to the Kivy examples directory is also stored in kivy.kivy_examples_dir.

The 3d monkey demo under kivy-examples/3Drendering/main.py is also fun to see.

Installation using Conda¶

If you use Anaconda, you can
install Kivy with its package manager Conda using:

conda install kivy -c conda-forge

Do not use pip to install kivy if you’re using Anaconda, unless you’re installing from source.

Installing Kivy’s dependencies¶

Kivy supports one or more backends for its core providers. E.g. it supports glew, angle,
and sdl2 for the graphics backend on Windows. For each category (window, graphics, video,
audio, etc.), at least one backend must be installed to be able to use the category.

To facilitate easy installation, we provide extras_require
groups
that will install selected backends to ensure a working Kivy installation. So one can install
Kivy more simply with e.g.«pip install “kivy[base,media,tuio]”«. The full list of selectors and
the packages they install is listed in
setup.py. The exact packages in each selector
may change in the future, but the overall goal of each selector will remain as described below.

We offer the following selectors:

base: The minimum typical dependencies required for Kivy to run,

not including video/audio.

media: Only the video/audio dependencies required for Kivy to

be able to play media.

full: All the typical dependencies required for Kivy to run, including video/audio and

most optional dependencies.

dev: All the additional dependencies required to run Kivy in development mode

(i.e. it doesn’t include the base/media/full dependencies). E.g. any headers required for
compilation, and all dependencies required to run the tests and creating the docs.

tuio: The dependencies required to make TUIO work (primarily oscpy).

The following selectors install backends packaged as wheels by kivy under the Kivy_deps namespace.
They are typically released and versioned to match specific Kivy versions, so we provide selectors
to facilitate installation (i.e. instead of having to do pip install kivy kivy_deps.sdl2==x.y.z,
you can now do pip install "kivy[sdl2]" to automatically install the correct sdl2 for the Kivy
version).

gstreamer: The gstreamer video/audio backend, if it’s available

(currently only on Windows)

angle: A alternate OpenGL backend, if it’s available

(currently only on Windows)

sdl2: The window/image/audio backend, if it’s available (currently only on Windows,

on macOS, Linux and *BSD Unix is already included in the main Kivy wheel).

glew: A alternate OpenGL backend, if it’s available (currently only on Windows)

Following are the kivy_deps dependency wheels:

  • gstreamer (optional)

    kivy_deps.gstreamer is an optional dependency which is only needed for audio/video support.
    We only provide it on Windows, for other platforms it must be installed independently.
    Alternatively, use ffpyplayer instead.

  • glew and/or
    angle

    kivy_deps.glew and kivy_deps.angle are for OpenGL.
    You can install both, that is no problem. It is only available on Windows. On other
    platforms it is not required externally.

    One can select which of these to use for OpenGL using the
    KIVY_GL_BACKEND environment variable: By setting it to glew
    (the default), angle_sdl2, or sdl2. Here, angle_sdl2 is a substitute for
    glew but requires kivy_deps.sdl2 be installed as well.

  • sdl2

    kivy_deps.sdl2 is for window/images/audio and optionally OpenGL. It is only available on Windows
    and is included in the main Kivy wheel for other platforms.

Python glossary¶

Here we explain how to install Python packages, how to use the command line and what wheels are.

Installing Python¶

Kivy is written in
Python
and as such, to use Kivy, you need an existing
installation of Python.
Multiple versions of Python can be installed side by side, but Kivy needs to
be installed as package under each Python version that you want to use Kivy in.

To install Python, see the instructions for each platform:
Windows, macOS,
Linux, RPi,
*BSD.

Once Python is installed, open the console and make sure
Python is available by typing python --version.

How to use the command line¶

To execute any of the pip or wheel commands given here, you need a command line (here also called console, terminal, shell or bash, where the last two refer to Linux / *BSD Unix style command lines) and Python must be on the PATH.

The default command line on Windows is the
command prompt, short cmd. The
quickest way to open it is to press Win+R on your keyboard.
In the window that opens, type cmd and then press enter.

Alternative Linux style command lines on Windows that we recommend are
Git for Windows or Mysys.

Note, the default Windows command line can still be used, even if a bash terminal is installed.

To temporarily add your Python installation to the PATH, simply open your command line and then use the cd command to change the current directory to where python is installed, e.g. cd C:\Python37.

If you have installed Python using the default options, then the path to Python will already be permanently on your PATH variable. There is an option in the installer which lets you do that, and it is enabled by default.

If however Python is not on your PATH, follow the these instructions to add it:

  • Instructions for the windows command line

  • Instructions for bash command lines

What is pip and what are wheels¶

In Python, packages such as Kivy can be installed with the python package
manager, named pip (“python install package”).

When installing from source, some packages, such as Kivy, require additional steps, like compilation.

Contrary, wheels (files with a .whl extension) are pre-built
distributions of a package that has already been compiled.
These wheels do not require additional steps when installing them.

When a wheel is available on pypi.org (“Python Package Index”) it can be installed with pip. For example when you execute python -m pip install kivy in a command line, this will automatically find the appropriate wheel on PyPI.

When downloading and installing a wheel directly, use the command
python -m pip install <wheel_file_name>, for example:

python -m pip install C:\Kivy-1.9.1.dev-cp27-none-win_amd64.whl

What are nightly wheels¶

Every day we create a snapshot wheel of the current development version of Kivy (‘nightly wheel’).
You can find the development version in the master branch of the
Kivy Github repository.

As opposed to the last stable release (which we discussed in the previous section), nightly
wheels contain all the latest changes to Kivy, including experimental fixes.
For installation instructions, see Pre-release, pre-compiled wheels.

Warning

Using the latest development version can be risky and you might encounter
issues during development. If you encounter any bugs, please report them.

Kivy

====

Innovative user interfaces made easy.

Kivy is an open source, cross-platform Python

framework for the development of applications that make use of innovative,

multi-touch user interfaces.

The aim is to allow for quick and easy interaction design and rapid prototyping

whilst making your code reusable and deployable.

Kivy is written in Python and Cython, based on OpenGL ES

2, supports various input devices and has an extensive widget library. With the

same codebase, you can target Windows, macOS, Linux, Android and iOS. All Kivy

widgets are built with multitouch support.

Kivy is MIT licensed, actively developed by a great community and is supported

by many projects managed by the Kivy Organization.

Bountysource

Backers on Open Collective

Sponsors on Open Collective

Coverage Status

Windows Unittests Status

Ubuntu Unittests Status

OSX Unittests Status

Windows wheels Status

Manylinux wheels Status

Raspberry Pi wheels Status

OSX wheels Status

Installation, Documentation and Examples


Extensive installation instructions as well as tutorials and general

documentation, including an API reference, can be found at https://kivy.org/docs.

A PDF version is also available.

Kivy ships with many examples which can be found in the examples folder.

Support


If you need assistance, you can ask for help on our mailing list:

  • User Group : https://groups.google.com/group/kivy-users

  • Email : kivy-users@googlegroups.com

We also have a Discord channel:

  • Server : https://chat.kivy.org

  • Channel : #support

Contributing


We love pull requests and discussing novel ideas. Check out our

contribution guide and

feel free to improve Kivy.

The following mailing list and Discord channel are used exclusively for

discussions about developing the Kivy framework and its sister projects:

  • Dev Group : https://groups.google.com/group/kivy-dev

  • Email : kivy-dev@googlegroups.com

Discord channel:

  • Server : https://chat.kivy.org

  • Channel : #dev

Sister projects


  • Buildozer: generic Python packager

    for Android and iOS.

  • Plyer: platform-independent Python wrapper

    for platform-dependent APIs.

  • Pyjnius: dynamic access to the Java/Android

    API from Python.

  • Pyobjus: dynamic access to the

    Objective-C/iOS API from Python.

  • Python for Android: toolchain

    for building and packaging Python applications for Android.

  • Kivy iOS: toolchain for building and

    packaging Kivy applications for iOS.

  • Audiostream: library for direct access

    to the microphone and speaker.

  • KivEnt: entity-based game engine for Kivy.

  • Garden: widgets and libraries created and

    maintained by users.

  • Oscpy: a fast and tested python2/3

    implementation of OSC.

Licenses


  • Kivy is released under the terms of the MIT License. Please refer to the

    LICENSE file.

  • The provided fonts Roboto and Roboto Mono are licensed and

    distributed under the terms of the

    Apache License, Version 2.0.

    The DejaVuSans (used for the virtual keyboard) license can be viewed

    here.

  • The current UI design has been adapted from Moblintouch theme’s SVGs

    and is licensed under the terms of the

    LGPLv2.1.

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

2.2.1

The Kivy team is happy to announce the release of Kivy 2.2.1

Kivy is a full-featured framework for creating novel and performant user
interfaces, such as multi-touch applications, released under the MIT license.
The framework works on Windows, macOS, Linux, Android, iOS and Raspberry Pi.

Installation instructions and Kivy Docs are hosted on the Kivy Website

Currently supported Python versions are 3.7-3.11

Highlights

  • [#8283]: backport (#8276): Limit stencil to inner instructions on Image widget

Tests/ci

  • [#8288]: backport (#8263): Increase timeout of httpbin tests to reduce risk of failures on CI runs

Documentation

  • [#8252]: backport (#8251): Ensures that jQuery is always installed (on newer sphinx versions is not the default)

2.2.0

The Kivy team is happy to announce the release of Kivy 2.2.0.

Kivy is a full-featured framework for creating novel and performant user
interfaces, such as multi-touch applications, released under the MIT license.
The framework works on Windows, macOS, Linux, Android, iOS and Raspberry Pi.

Installation instructions and Kivy Docs are hosted on the Kivy Website

Currently supported Python versions are 3.7-3.11

Features marked as deprecated on 1.9.0 and prior versions will be removed in Kivy 2.3.0 (See: #8177)

Highlights

  • [#7876]: Line/SmoothLine: Fixes rendering issues related to corner radius and updates its order (rounded_rectangle) + add getter methods for rounded_rectangle, rectangle, ellipse, circle.
  • [#7882]: Re-implements the Bubble widget.
  • [#7908]: Speed up SmoothLine creation by ~2.5x
  • [#7942]: Config unicode support on Windows
  • [#7988]: Added support for KIVY_LOG_MODE
  • [#8044]: Add support for Python 3.11
  • [#8056]: New Feature: Add BoxShadow graphic instruction 🎉
  • [#8115]: Use font_direction and font_script_name from SDL2_ttf
  • [#8144]: Added property for mouse draggable tab scrollbar to TabbedPanel
  • [#8162]: Label: allow different values of left, top, right and bottom for padding.
  • [#8169]: Image: add fit_mode feature
  • [#8096]: Introduce build script for SDL dependencies and KIVY_DEPS_ROOT

Deprecated

  • [#7882]: Re-implements the Bubble widget.

Breaking changes

  • [#7876]: Line/SmoothLine: Fixes rendering issues related to corner radius and updates its order (rounded_rectangle) + add getter methods for rounded_rectangle, rectangle, ellipse, circle.

Kv-lang

  • [#8021]: Update builder.py

Misc

  • [#7906]: Replace deprecated logging.warn with logging.warning
  • [#7913]: fix(UrlRequest): Add «on_finish» and add alternative implementation
  • [#7943]: Fixes some E275 — assert is a keyword. + other minor PEP8 fixes
  • [#7969]: Config is not available when generating docs + Use getdefault instead of has_option + get

Widgets

  • [#7626]: New Feature: Allow control how many lines to scroll at once using the mouse wheel on TextInput
  • [#7882]: Re-implements the Bubble widget.
  • [#7905]: Fix TextInputCutCopyPaste widget
  • [#7925]: Qwerty VKeyboard button fix( z, Q and W and ] ) on Linux(Ubuntu Focal Fossa)
  • [#8109]: Fix for changes of Splitter.strip_cls having no effect
  • [#8144]: Added property for mouse draggable tab scrollbar to TabbedPanel
  • [#8169]: Image: add fit_mode feature
  • [#8202]: Migrate allow_stretch and keep_ratio in widgets/examples by corresponding fit_mode

Core-app

  • [#7942]: Config unicode support on Windows
  • [#7958]: Use AddLevelName in kivy.Logger to define TRACE
  • [#7962]: Refactored logging.ColoredFormatter to avoid deepcopy.
  • [#7971]: Support KivyLogMode environment variable for logging testing
  • [#7973]: Bump KIVY_CONFIG_VERSION and add a warning for future changes.
  • [#7975]: Light clean up of stderr handling code.
  • [#7979]: #7978: Don’t monkey-patch logging.root
  • [#7985]: Handle non-strings in logs.
  • [#7988]: Added support for KIVY_LOG_MODE
  • [#7989]: Android Lifecycle convergence
  • [#7994]: Use urlopen instead of build_opener when fetching files from ‘internet’. Removes some PY2 compat.
  • [#8062]: Use find_spec, module_from_spec and exec_module instead of find_module and load_module since are deprecated.

Core-providers

  • [#7846]: Fix VKeyboard missing with custom keyboard class
  • [#7857]: iOS camera provider enhancements
  • [#7982]: Use SDL_WINDOWEVENT_DISPLAY_CHANGED to notice about window switching display to update _density an dpi
  • [#7999]: Modify layout fix bug in how long text without space is cut
  • [#8025]: Release the GIL when performing SDL_GL_SwapWindow call.
  • [#8058]: Makes Windows DPI aware of scale changes
  • [#8076]: New Feature: Always On Top
  • [#8083]: Allow changing Window.fullscreen and Window.borderless options after setup on iOS
  • [#8115]: Use font_direction and font_script_name from SDL2_ttf
  • [#8142]: New Feature: Allows to hide the taskbar icon
  • [#8146]: Fix memory issue on iOS 16.2 for AVMetadataObject (during QRCode scan)
  • [#8147]: Detect High DPI on Linux Desktop
  • [#8162]: Label: allow different values of left, top, right and bottom for padding.
  • [#8171]: Make VideoFFPy work with RTSP streams.

Core-widget

  • [#8035]: Simplify Animation._unregister

Distribution

  • [#7837]: Bump to 2.2.0.dev0
  • [#7852]: Build python 3.9 wheels for RPi
  • [#7974]: Bump SDL2, SDL_image, SDL_mixer, SDL_ttf versions to latest stable release
  • [#8004]: Bump kivy_deps.sdl2 and kivy_deps.sdl2_dev to 0.5.0
  • [#8006]: Use Platypus 5.4
  • [#8043]: Bump SDL2 to 2.24.1 on Linux and macOS
  • [#8044]: Add support for Python 3.11
  • [#8050]: Bump again SDL2 to 2.24.2 on Linux and macOS
  • [#8070]: Remove usage of distutils module which is deprecated and slated for removal in 3.12
  • [#8096]: Introduce build script for SDL dependencies and KIVY_DEPS_ROOT
  • [#8155]: Dependencies build tool: exit immediately on fail and allows to debug easier
  • [#8173]: Bump macOS dependencies versions on tools/build_macos_dependencies.sh
  • [#8174]: Bump Linux dependencies versions on tools/build_linux_dependencies.sh
  • [#8176]: Bump Windows dependencies via kivy_deps packages
  • [#8178]: Bump cython_max version
  • [#8191]: XCode 14.3 fails to build SDL if MACOSX_DEPLOYMENT_TARGET < 10.13
  • [#8203]: Migrate from autotools to cmake for SDL2 linux dependencies
  • [#8223]: Perform RPi builds on balenalib/raspberrypi3-* images and skip DISPMANX API usage if can’t be used [build wheel armv7l]
  • [#8231]: Bump version to 2.2.0rc1

Documentation

  • [#7870]: Documentation: bump Gentoo install instructions
  • [#7916]: Fixes NO DOCUMENTATION (module kivy.uix.recycleview)
  • [#7927]: Fix minor typo in pong tutorial code comments
  • [#7928]: Add missing closing paren in hint text
  • [#7929]: Use consistent source code notes in pong tutorial
  • [#7930]: Purge trailing whitespace in docs source files
  • [#7946]: Add doc for Canvas.add()
  • [#8026]: Typo : missing coma in the doc
  • [#8032]: doc: Initial remarks on BSD compatibility.
  • [#8034]: Fix backticks typo in pong tutorial
  • [#8039]: Link to buildozer installation instructions instead of duplicating them
  • [#8041]: installation-osx.rst: Minor code formatting
  • [#8088]: Add support for sphinx 6.0.0
  • [#8089]: Add a warning about keyboard_suggestions usage on Android
  • [#8139]: Improve docs about BoxShadow behavior and usage.
  • [#8156]: Docs: Update the Ubuntu prerequisites to build Kivy and its dependencies
  • [#8175]: Update Copyright and LICENSE dates
  • [#8179]: Update Python supported versions
  • [#8181]: 📖 Grammar tweaks to focus docstrings
  • [#8183]: Docs: Fixes a typo (issue #7838)
  • [#8229]: Sphinx 7.0.0 is incompatible, use <=6.2.1 for now
  • [#8234]: Docs review for RPi installation and build instructions

Graphics

  • [#7860]: Ellipse: update angle_start, angle_end to explicit floats
  • [#7876]: Line/SmoothLine: Fixes rendering issues related to corner radius and updates its order (rounded_rectangle) + add getter methods for rounded_rectangle, rectangle, ellipse, circle.
  • [#7908]: Speed up SmoothLine creation by ~2.5x
  • [#8056]: New Feature: Add BoxShadow graphic instruction 🎉
  • [#8098]: Fix BoxShadow shader crashing issue on Adreno GPUs
  • [#8132]: BoxShadow: Add inset feature
  • [#8138]: BoxShadow: Accept values for vertical and horizontal spread_radius
  • [#8163]: Line/SmoothLine: ellipse — fix behavior and add feature to allow closing line through center of ellipse
  • [#8164]: Ellipse: Handle the number of segments and avoid division by zero
  • [#8170]: Add svg rotation transform support
  • [#8187]: Line/SmoothLineellipse: Handle the number of segments to match Ellipse

Input

  • [#8027]: Typo : German Keyboard is QWERTZ

Tests/ci

  • [#7847]: Tests: ffpyplayer now ships cp310-* and Apple Silicon compatible wheels, so tests on the full version can be re-introduced.
  • [#7854]: Fixes 3.8.x pyenv install due to a recent change in clang [build wheel osx]
  • [#7885]: Our self-hosted Apple Silicon runner now has been migrated to actions/runner v2.292.0 which now supports arm64 natively
  • [#7903]: Migrate from probot/no-response to lee-dohm/no-response
  • [#7917]: When using pytest_asyncio for tests, function should be decorated with pytest_asyncio.fixture
  • [#7972]: Fix trivial typo in workflow.
  • [#7987]: Fix source typo in test_uix_bubbles.py
  • [#8084]: Switch from ubuntu-18.04 to ubuntu-latest as 18.04 runners will be removed on 2023-01-12
  • [#8093]: Add gstreamer1.0-plugins-good for autoaudiosink availability during tests
  • [#8099]: Install twine only when needed [build wheel]
  • [#8117]: Upgrade GitHub Actions
  • [#8120]: [build wheel] Upgrade more GitHub Actions
  • [#8121]: GitHub Actions: Use current Python instead of hardcoded v3.9
  • [#8126]: Switch back to macos-latest instead of macos-11
  • [#8129]: Remove remaining nosetest settings in favor of pytest
  • [#8157]: Correct the flake8 pre-commit URL
  • [#8217]: Generate-sdist needs packaging as a dependency [build wheel win]

Thanks

A big thanks to all of the Contributors, especially those github usernames mentioned here:

Akshay Arora, Alsp, Anders, AnthonyZimmermann, CdrSonan, Cecil Curry, Chris Vincent, Christian Clauss, Danny Dawson, Dexer, Evgeniy Selezniov, Gabriel Pettier, Gabriel Vogel, Hugo van Kemenade, Johan Toft, Julian, Matt Einho…

2.1.0

The Kivy team is happy to announce the release of Kivy 2.1.0.

Kivy is a full-featured framework for creating novel and performant user
interfaces, such as multi-touch applications, released under the MIT license.
The framework works on Windows, macOS, Linux, Android, iOS and Raspberry Pi.

Installation instructions and Kivy Docs are hosted on the Kivy Website

  • Currently supported Python versions are 3.7-3.10
  • macOS Kivy.app now supports both Intel and Apple Silicon hardware.
  • aarch64 for manylinux2014 pre-built wheels are now available on PyPi.
  • Single universal2 wheel for macos Intel and Apple Silicon is now available on PyPi.

Features marked as deprecated on 1.6.0 and prior versions will be removed in Kivy 2.2.0.

Highlights

  • [#7658]: Feature: Added EventManagerBase. We can now register managers that selectively process inputs e.g. touch and decide how to dispatch it to the widget tree. on_motion and motion_filter was added to Widget to handle generic motion inputs from the managers.
  • [#7270]: Graphics: We now check whether the user called GL instructions from an external thread and raise an error.
  • [#7293]: Properties: Added dynamic screen density/dpi support. KV code referencing density e.g. width: "5dp" will now update if the window dpi changes.
  • [#7371]: KV: Allow using f-strings in KV-lang.
  • [#7424]: Properties: Speed up bare widget creation (3X) and property dispatching/setting.
  • [#7587]: Fix PermissionError when reconnecting mtdev input devices.
  • [#7637]: Added Custom titlebar support.
  • [#7642]: TextInput loading time optimization for large texts.
  • [#7663]: Add python3.10 support.
  • [#7678]: Add support for Apple Silicon.

Deprecated

  • #7701: deprecate ‘kivy.utils.SafeList’.
  • [#7786]: WindowBase: Add on_drop_begin, on_droptext and on_drop_end events.

Breaking changes

  • [#6290]: Widget: Fix signature of add/remove/clear_widget in subclasses to be consistent with base class.
  • [#7264]: Camera: Change play default to False.
  • [#7356]: Widget: Widget.clear_widgets providing empty widget list does not remove any children, unlike None that clears all the children.
  • [#7437]: TextInput: Remove broken and confusing suggestion_text property
  • [#7744]: Change default input_type to null. Add some warning regarding TYPE_TEXT_FLAG_NO_SUGGESTIONS
  • [#7763]: Removed Python3.6 from the supported ones, it reached EOL
  • [#7820]: kivy_deps.gstreamer releases 0.3.0, 0.14, 0.15, and 0.16 were deleted from PyPi to conserve space. They were not used, but if you did depend on them you can download them from https://kivy.org/downloads/ci/win/deps/.

Kv-lang

  • [#7371]: KV: Allow using f-strings in KV-lang
  • [#7703]: refactor kivy.lang

Misc

  • [#7204]: Kivy: print kivy’s version even when not a release.
  • [#7271]: Inspector: Prevent circular import breaking Window
  • [#7403]: Exceptions: Fix typos in message
  • [#7433]: Source: Fix typos in source code
  • [#7453]: Screen: Added Oneplus 6t in screen module

Packaging

  • [#7341]: OSX: Use platform.machine() for osx version detection
  • [#7605]: PyInstaller hook: Replace modname_tkinter with ‘tkinter’
  • [#7781]: PyInstaller develop version isn’t needed anymore

Widgets

  • [#7049]: Camera: Fix GI camera provider crash when no texture is available after loading
  • [#7213]: ScrollView: Match scroll effect stop condition to start condition.
  • [#7261]: Camera: Revert «Fixes crash during camera configuration»
  • [#7262]: RecycleGridLayout : Fix layout when number of widgets match number of columns
  • [#7264]: Camera: Change play default to False
  • [#7322]: Widget: fix export_to_png not passing arguments through
  • [#7353]: RecycleLayout: Allow setting x, y sizing of views independently
  • [#7372]: Focus: Allow modifiers (e.g. numlock) be present to tab cycle focus
  • [#7383]: Dropdown: Fix reposition in scrollview/recycleview
  • [#7391]: Factory: Registered TouchRippleBehavior and TouchRippleButtonBehavior with Factory
  • [#7426]: Dropdown: Ensure visibility on reposition
  • [#7434]: ModalView: code cleanup regarding detection of main-Window:
  • [#7437]: TextInput: Remove broken and confusing suggestion_text property
  • [#7457]: ScrollView: Fix for scroll bar areas blocking clicks when scroll is disabled with overscroll
  • [#7471]: Video: Add support for preview image
  • [#7488]: FocusBehavior: Fix assumption that modifiers is always a set.
  • [#7520]: Video: Fixed handling eos after unloading
  • [#7527]: Label: Fix label not displaying as disabled if it is disabled when created
  • [#7548]: Fixes issue #7514 (‘auto_halign_r’ referenced before assignment)
  • [#7610]: Added scroll from swipe feature in TextInput
  • [#7612]: Fixed unexpected overscrolling bug when using mouse wheel
  • [#7615]: Fixed unexpected overscrolling bug when using mouse wheel, complement to #7612
  • [#7618]: Fixed TextInput visual selection bugs while scrolling
  • [#7621]: Fixed inconsistent behavior of TextInput bubble and handles
  • [#7622]: Fixes TextInput cursor issues when resizing/scrolling
  • [#7631]: Fixes some bugs in the TextInput if the text is right-aligned or center-aligned and not multiline.
  • [#7636]: Textinput on double tap improvement
  • [#7641]: Textinput: Fixes issues #7165, #7236, #7235
  • [#7642]: TextInput loading time optimisation for large texts
  • [#7706]: SettingColor: Change method name to get_color_from_hex
  • [#7737]: CodeInput: fixed disappearing lines after inserting text
  • [#7740]: TextInput: easier tokenize delimiters setting; quotes removed from default delimiters
  • [#7775]: Don’t let ‘ScrollEffect.reset()’ set ‘is_manual’ to True
  • [#7796]: EventManagerBase: Fix indentation and typos in the doc
  • [#7807]: Textinput: Simplified the swipe feature logic. Fixed a bug that was preventing to show the select all / paste bubble
  • [#7814]: ⚡ Prevent crash (overflow error) when scrollbar is hidden
  • [#7816]: VideoPlayer: Defer before the next frame the default thumbnail and annotations loading

Core-app

  • [#7173]: Logger: Do not mutate log record, fixes #7062
  • [#7245]: Resources: Add a cache for resource_find
  • [#7293]: Properties: Add dynamic screen density/dpi support
  • [#7300]: Logger: Remove refactoring artifact
  • [#7307]: Logger: Remove purge log’s randomized behavior
  • [#7326]: Command line: Fix disabling kivy cmd args
  • [#7429]: Clock: Print remaining events before next frame upon too much iteration error
  • [#7505]: EventLoopBase: Remove provider from auto-remove list
  • [#7508]: App: Process app quit event while paused
  • [#7512]: EventLoopBase: Start/stop event loop only once
  • [#7749]: collections fix for python 3.10
  • [#7763]: Removed Python3.6 from the supported ones, it reached EOL
  • [#7771]: Explain the ‘—‘ separator for option parsing.
  • [#7810]: Track whether the clock has started

Core-providers

  • [#7228]: Image: Fix PIL label rendering shadow
  • [#7231]: Keyboard: Add keyboard suggestions and fix input type on android
  • [#7260]: Camera: Use NSString instead of AVCaptureSessionPreset in order to support MacOS < 10.13
  • [#7263]: Camera: Added API to change avfoundation camera provider orientation
  • [#7279]: Window: prevent «empty» mousewheel events from breaking scrollview
  • [#7290]: Camera: improve avfoundation by using memoryview and re-scheduling the interval on framerate change
  • [#7299]: Window: Handle DPI Windows messages until SDL2 handles them
  • [#7303]: Camera: Fix AVFoundation provider to release the camera, start it async, and check if started before stopping it
  • [#7339]: Camera: Android camera focus mode fix
  • [#7347]: Window: Delay binding dpi until window is ready.
  • [#7389]: Mouse: Fix mouse being offset by 2 pixels vertically
  • [#7390]: SoundAndroidPlayer: Properly stop after playback completion
  • [#7409]: Window: Fix logging message
  • [#7418]: Video: Reduce latency from user interaction for ffpyplayer
  • [#7467]: Text: Raise when registering a font_regular with None
  • [#7484]: WindowBase: Add to_normalized_pos method
  • [#7517]: Core: Use importlib’s import for compatibility with patching
  • [#7541]: SoundLoader: Fix play calls not working in ffpyplayer after the first
  • [#7620]: removed print and added logging to flipVert
  • [#7637]: Added Custom titlebar support
  • [#7647]: WindowBase: Change type of clearcolor property to ColorProperty
  • [#7648]: WindowBase: Add transform_motion_event_2d method
  • [#7688]: Fix dds header comparison
  • [#7726]: Window.softinput_mode fix for «pan» and «below_target» modes when using kivy virtual keyboard.
  • [#7744]: Change default input_type to null. Add some warning regarding TYPE_TEXT_FLAG_NO_SUGGESTIONS
  • [#7770]: WindowBase: Update bind list of properties: system_size, size, width, height and center
  • [#7778]: WindowBase: Don’t return motion event in transform_motion_event_2d method
  • [#7786]: WindowBase: Add on_drop_begin, on_droptext and on_drop_end events
  • [#7793]: WindowBase|WindowSDL: Add drop position for all on_drop_xxx events
  • [#7795]: WindowBase: Add *args to on_drop_xxx events

Core-widget

  • [#6290]: Widget: Fix signature of add/remove/clear_widget to be consistent with base class
  • [#7209]: Animation: Allow canceling all animated widgets
  • [#7356]: Widget: Widget.clear_widgets empty widget list does not remove all children
  • [#7424]: Properties: Speed up bare widget creation (3X) and property dispatching/setting
  • [#7439]: Properties: Drop long number type and document numpy issues with NumericProperty
  • [#7442]: EventDispatcher: Removed/replaced all basestring occurrences with str
  • [#7445]: EventDispatcher: Rename method unregister_event_types to unregister_event_type
  • [#7449]: TextInput: Fix readonly mode preventi…

Kivy 2.0.0

The Kivy team is happy to announce the release of Kivy 2.0.0.

Kivy is a full-featured framework for creating novel and performant user
interfaces, such as multi-touch applications, released under the MIT license.
The framework works on Windows, macOS, Linux, Android, iOS and Raspberry Pi.

  • This is the first release to not support Python 2.7 — hence the increase in Kivy’s major version to 2. Currently supported Python versions are 3.6 — 3.9.
  • Installation has been largely simplified and all platforms now support a simpler pip install (see below).

Installation instructions and Kivy documentation is available on the Kivy website:

or on GitHub.

Installation notes

Kivy can now be installed into your Virtual Environment on Windows, Linux, OSX, and RPi simply with:

pip install kivy[base] kivy-examples
# or to get the media dependecies as well
pip install kivy[base,media] kivy-examples
# or to get most kivy optional dependencies
pip install kivy[full] kivy-examples

* For the RPi, additional system dependencies should be pre-installed.

These selectors allow specifying dependency categories, instead of having to pin Kivy’s kivy_deps dependencies to specific versions. These selectors will install the proper dependency version to match Kivy’s version.

Additionally, by default, Kivy will install the base dependencies even if base is not specified. In order to facilitate easier install for GUI installation users e.g. in PyCharm. However, this may change as pip evolves and base should be manually specified. Use pip‘s --no-deps flag to disable it.

See the selector documentation for more details.

Installation from source has also been simplified, relying on pip‘s pyproject.toml. See the simplified instructions.

Highlights

  • [#6351]: Support for Python 2 has been dropped and Kivy source code is now incompatible with Python 2.

  • [#6368]: Support for async has been added to Kivy. Kivy can now run cooperatively, in the same process or thread as asynchronous code.

    We currently support the stdlib asyncio framework and the excellent trio framework. See the kivy examples for how to use it.

Breaking changes

  • [#6351]: Core: Drop Python 2 support.
  • [#6368]: Core: Add async support to kivy App
  • [#6448]: EventDispatcher: Move __self__ from widget to EventDispatcher and fix tests.
  • [#6467]: Graphics: Change filename to source
  • [#6469]: ModalView: Updating ModalView to improve theming
  • [#6607]: Window: Fix SDL Keycode Typo
  • [#6650]: DropDown/ModalView: Make modal and dropdown consistent
  • [#6677]: Widget: Remove id from Widget.
  • [#6678]: ScrollView: Add always_enable_overscroll property on scrollview
  • [#6721]: Image: Remove gpl gif implementation
  • [#6918]: ColorProperty: Use ColorProperty instead of ListProperty for color property
  • [#6937]: Base: Rename slave to embedded
  • [#6950]: Cache: Raise KeyError if None is used as key in Cache

Changelog

Kv-lang

  • [#6442]: KV lang: Make it easy to copy Builder and Factory and make them all contexts.
  • [#6548]: Factory: Meaningful Error Message
  • [#6880]: KV: Use utf-8 encoding by default on reading .kv files. Fixes #5154

Misc

  • [#6323]: Loader: User agent was not correctly resolved.
  • [#6658]: Garden: Fixes incorrect path to kivy garden libs on iOS
  • [#6703]: Network: Fix https in python3.x
  • [#6748]: Network: Extend certifi usage to ios
  • [#6922]: WeakMethod: Fx and cleanup WeakMethod usage
  • [#6931]: VIM: Fix and improve vim syntax highlighting for kv lang
  • [#6945]: Cache: Don’t double copy keys when purging cache by timeout
  • [#6950]: Cache: Raise KeyError if None is used as key in Cache
  • [#6954]: Network: Ignore ca_file on http scheme, fixes #6946
  • [#7054]: Networking: User Agent and Cookies added to UrlRequest

Packaging

  • [#6359]: Packaging: Fix path by setting to bytes
  • [#6643]: PyInstaller: List kivy.weakmethod because pyinstaller doesn’t see into cython files
  • [#6772]: PyInstaller: window_info is not included in x86 pyinstaller
  • [#7080]: OSX: Generate Kivy.app on the CI

Widgets

  • [#6288]: TextInput: Cache text property in TextInput
  • [#6362]: Carousel: Let ‘Carousel._curr_slide()’ prepare for the situation where ‘index’ is None
  • [#6365]: Carousel: Let ‘Carousel.remove_widget()’ remove the container of the widget
  • [#6372]: Carousel: make ‘Carousel.remove_widget()’ not cause ‘IndexError’
  • [#6374]: Carousel: Make ‘Carousel’ able to handle the case where ‘loop == True’ and ‘len(slides) == 2’
  • [#6436]: ColorWheel: Remove bug in algorithm to compute arcs of colorwheel (#6435)
  • [#6469]: ModalView: Updating ModalView to improve theming
  • [#6481]: ScreenManager: Make clear_widgets correctly iterate over screens
  • [#6542]: TextInput: Fixes TextInput Bubble from diseappering immediately after it appears
  • [#6543]: TextInput: Fixes TextInput cursor «rendering» issue
  • [#6574]: TreeViewNode: Fix arrow pos and size
  • [#6579]: Slider: Horizontal value track is offset from the center of Slider
  • [#6624]: Filechooser: Use full path
  • [#6650]: DropDown/ModalView: Make modal and dropdown consistent
  • [#6666]: TextInput: Fix for crashes caused by text selection outside of TextInput area
  • [#6678]: ScrollView: Add always_enable_overscroll property on scrollview
  • [#6741]: GridLayout: Add ‘orientation’ property to GridLayout
  • [#6815]: Image: Fixes for Image and AsyncImage
  • [#6859]: Slider: Adding allow_stretch to Slider in style.kv
  • [#6879]: VKeyboard: Fix key_background_color property not used
  • [#6897]: RecycleView: Add behavior to set RV data using kv ids
  • [#6905]: FileChooser: Add font property
  • [#6912]: TextInput: Remove ‘encode’ argument from getter method of ‘text’ property of TextInput
  • [#6918]: ColorProperty: Use ColorProperty instead of ListProperty for color property
  • [#6942]: ScrollView: Don’t crash when scrollview’s content is the same size
  • [#6971]: Camera: Fix an inconsistency between docs and code on Camera
  • [#6976]: ModalView: Prevent modalview dismissal without on_touch_down
  • [#6985]: ScrollView: Fix scrollview scroll/effect recursion
  • [#7009]: TextInput: IME support for textinput
  • [#7021]: ColorProperty: Use ColorProperty for remaining color properites
  • [#7032]: ScreenManager: Fix typo in SlideTransition
  • [#7069]: ScrollView: Horizontal scrolling disabled if no overflow
  • [#7074]: Splitter: Fix handling offset
  • [#7118]: GridLayout : optimize GridLayout
  • [#7129]: TabbedPanel: Stop tab buttons from scrolling around
  • [#7196]: ScrollView: fix jumping to bottom when using scrollwheel.

Core-app

  • [#6351]: Core: Drop Python 2 support.
  • [#6368]: Core: Add async support to kivy App
  • [#6376]: Cython: Set cython language_level to py3.
  • [#6381]: Inspector: Use sets to check if inspector should be activated.
  • [#6404]: App: Fix pausing without app instance
  • [#6458]: Core: Fix memory leaks by cleaning up after resources
  • [#6540]: Config: fix erroneous check of KIVY_NO_ENV_CONFIG
  • [#6581]: Dependencies: Bump max cython version
  • [#6729]: DDSFile: ddsfile.py fix for string/bytes comparing for py3
  • [#6773]: Clock: Add correct value of CLOCK_MONOTONIC for OpenBSD
  • [#6798]: Platform: Corrected platform detection on Android
  • [#6910]: Logger: Add encoding
  • [#6926]: Clock: Add clock lifecycle, better exception handling and other cleanup
  • [#6937]: Base: Rename slave to embedded
  • [#6994]: EventLoop: Don’t do event loop stuff when stopped.
  • [#7083]: Core: Add _version.py and move updating version metadata to the CI
  • [#7112]: Python: Require python version >=3.6
  • [#7132]: Python: Add support for Python 3.9.
  • [#7151]: Dependencies: Bump cython to 0.29.21
  • [#7178]: Dependencies: Add dependency selection varaibles
  • [#7181]: Logging: Added color support for compatible terminals

Core-providers

  • [#6384]: Window: Allow window providers to indicate which gl backends they are compatible with
  • [#6422]: Label: Fixes multiline label w/ line_height < 1
  • [#6433]: Window: Center cache problem on MacOS
  • [#6461]: Audio: Fix playing audio streams from ffpyplayer
  • [#6507]: Text: Revert «Fixes multiline label w/ line_height < 1»
  • [#6513]: Text: Fix issue #6508 Multiline label w/ line_height < 1 renders badly (workaround)
  • [#6515]: Text: Fixes positioning (valign) issue when using max_lines
  • [#6578]: Window: Revert swap forced sync (#4219) as it causes performance issue
  • [#6589]: Window: Add the ability to show statusbar on iOS
  • [#6603]: Audio: Native audio support for Android
  • [#6607]: Window: Fix SDL Keycode Typo
  • [#6608]: Audio: Replace deprecated variables in audio providers
  • [#6721]: Image: Remove gpl gif implementation
  • [#6743]: Clipboard: xclip less verbose Kivy startup
  • [#6754]: Text: Properly raise errors reading a font
  • [#6947]: Image: Remove ‘img_gif’ entry from image_libs
  • [#6988]: Camera: Improve avfoundation camera implementation on iOS
  • [#7071]: Camera: Fixes crash during camera configuration
  • [#7102]: Audio: Added loop functionality for SoundAndroidPlayer

Core-widget

  • [#5926]: Animation: Fix kivy.animation.Sequence and kivy.animation.Parallel consistency
  • [#6373]: Properties: Allow observable list and dict dispatch to propagate exceptions.
  • [#6441]: EventDispatcher: Move Widget proxy_ref upwards to EventDispatcher
  • [#6443]: Property: Initialize KV created property with default value
  • [#6448]: EventDispatcher: Move __self__ from widget to EventDispatcher and …

Kivy 1.11.1

This release fixed some issues with the docs, the CI, and Kivy dependencies that was introduced in 1.11.0 (#6357).

Kivy 1.11.0

We are pleased to announce Kivy 1.11.0.

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 last release to support Python 2.7. The next release will only support Python 3.5+.
  • This is also the first release with Kivy wheels for Linux (3.5+ only, Windows and macOS already have wheels).
  • Windows dependencies are now under the kivy_deps.xxx namespace external to Kivy, rather than kivy.deps.xxx under Kivy. Whether you’re upgrading Kivy, please pin the dependency versions when installing because Kivy binary dependencies are not generally backward compatible [#6312].
  • The kivy.garden.flower namespace is similarly being transitioned to the kivy_garden.flower namespace.

See below for more details.

Downloads and installation instructions are available on the Kivy website:

Installation notes

Windows

  • [#6324]: We are transitioning the kivy Windows dependencies from the kivy.deps.xxx namespace stored under kivy/deps/xxx to the kivy_deps.xxx namespace stored under kivy_deps/xxx. Pip is sometimes not able to distinguish between these two formats, so follow the instructions below.
    • If you’re not upgrading Kivy, please make sure to pin your kivy.deps.xxx==x.y.z dependencies to the versions that was on pypi when your Kivy was released so that you don’t get newer incompatible dependencies.
    • If you’re upgrading Kivy, manually uninstall all the kivy.deps.xxx dependencies because pip will not uninstall them when you’re upgrading. Then re-install the kivy_deps.xxx dependencies as instructed on the Kivy website.
    • If you’re installing the first time, simply follow the instructions on Kivy’s website.

Linux and macOS

The new Linux wheels (#6248) can be installed with just pip install kivy, however, just like on macOS it comes without the Gstreamer dependencies so it has no video and minor audio support. For video/audio support, please install ffpyplayer and set KIVY_VIDEO=ffpyplayer in the environment, or install kivy using an alternative method that provides these dependencies.

Highlights

Support

  • [#5947]: We have moved from IRC to Discord. However, there’s matrix integration if you are unable to use Discord. See https://kivy.org/doc/master/contact.html#discord.

Configuration

  • [#6192]: Support for environmental variables that control the config in the form of KCFG_SECTION_KEY has been added. E.g. setting KCFG_KIVY_LOG_LEVEL=warning in the environment is the same as calling Config.set("kivy", "log_level", "warning") or setting the log_level in the kivy section of the config to warning. Note that underscores are not allowed in the section names.

    Any key set this will way will take precedence on the loaded config.ini file. Support for this can be disabled by setting the enviornmental variable KIVY_NO_ENV_CONFIG=1 and the environment will not be read for configuration options.

KV lang

  • [#6257]: A new KV-Python integration event that fires when all the KV rules of the widget has been applied, on_kv_post, has been added to the Widget class. This event fires for a widget when all the KV rules it participates in has been applied and ids has been initialized. Binding to this event will let you execute code for your widget without having to schedule the code for the next clock cycle.

    Similarly, a new apply_class_lang_rules method was added to Widget that is called in order to apply the KV rules of that widget class. Inheriting and overwriting that method will give you the oppertunity to execute code before any KV rules are applied.

Garden

We are transitioning the Kivy garden flowers from the kivy.garden.flower namespace stored under kivy/garden/flower or ~/.kivy/garden to the normal python package format kivy_garden.flower namespace stored under kivy_garden/flower. With the new configuration, garden flowers will be pip installable, support cython flowers, and not require the custom garden tool.

We’re hoping to transition all flowers to the new format, however, for now many flowers still require installation by the garden tool.

For users, see https://kivy-garden.github.io/index.html#generalusageguidelines. For developers, see https://kivy-garden.github.io/index.html#developmentguidelines for how to start a new flower, and https://kivy-garden.github.io/index.html#guideformigratingflowersfromlegacystructure for how to migrate existing flowers to the new format.

Other

  • [#6186]: Live resizing has been added for desktop platforms that use the SDL2 window backend.

Deprecated

  • [#6313]: Pygame has been deprecated. We urge users who have been using pygame to try SDL2 and
    our other providers. If there are any reasons why Pygame is used instead of SDL2 please let
    us know so we can fix them.

    Deprecation warnings have also been added to everything that has been deprecated in the past.

Breaking changes

  • [#6095]: Changed the Android version to use App.user_data_dir for the configuration and added a missing dot to the config file name.
  • [#5340]: Removed DropDown.dismiss in on_touch_down so it is only dismissed in on_touch_up.
  • [#5990, #6169]: We now use pytest to run our tests rather than nose.
  • [#5968]: Listview and all its associated modules has finally be removed in favor of RecycleView.

Changelog

Base

Cache

  • [#5995]: : use Logger.trace to prevent the purge flooding terminal in debug
  • [#5988]: Removed cache print statements

Config

  • [#6333]: Properly chceck that KIVY_NO_ENV_CONFIG is not set to zero.

Inspector

  • [#5919]: Let the Inspector browse into WeakProxy’d widgets

Logger

  • [#6322]: PermissionError is not defined in py2.

Multistroke

  • [#5821]: Increase timeout/sleep to increase test robustness

Network

  • [#6256]: Set cookie header workaround
  • [#6083]: Added the ability to stop (kill) the UrlRequest thread
  • [#5964]: Allow setting url agent for async image and urlrequest

Properties

  • [#6223]: Fix handling None values in DictProperty and ListProperty
  • [#6055]: Cache values of AliasProperty where possible
  • [#5960]: Fix Cython properties syntax
  • [#5856]: Update AliasProperty to cache value only if «cache» argument is set to True
  • [#5841]: fix issues with disabled aliasproperty

Storage

  • [#6230]: Update jsonstore.py

Tools

  • [#6330]: Create changelog_parser.py
  • [#5797]: fix syntax table for emacs kivy-mode

Utils

  • [#6175]: kivy.utils.rgba function bug fix for python 3 (used to crash)

CI

  • [#6311]: Fix versioning in CI and in kivy.
  • [#6295]: Add pep8 stage and name builds on travis
  • [#6250]: Disable wheel building on osx by not watching travis cron status.
  • [#6187]: Make travis brew update more reliable
  • [#6148]: Fix some travis errors
  • [#5985]: Remove notification webhook from travis
  • [#5978]: tell travis to use bionic instead of trusty for tests
  • [#5977]: Fix travis flaky test
  • [#5973]: try using xcode10 for travis, as we cannot reproduce the imageio issue locally
  • [#5934]: Fix repo path in github app config comment
  • [#5845]: fix osx wheels

Core

Camera

  • [#6168]: fix broken update to avfoundation
  • [#6156]: Adding fixes to support ios camera
  • [#6119]: Add support for opencv 4
  • [#6051]: Update camera_android.py; fixes camera for Python 3
  • [#6033]: adding division future import to prevent further fps bugs
  • [#6032]: ensure floating point math when calculating fps
  • [#6027]: Fix 5146
  • [#5940]: Set android camera to autofocus
  • [#5922]: Updated camera_opencv.py to use reshape(-1) instead of tostring()

Clipboard

  • [#6178]: Clipboard: fixes for nspaste

Image

  • [#6194]: imageio: fix jpg/png saving
  • [#6193]: Image: don’t force iteration if we reuse the cache
  • [#6142]: Fixes SDL2 image loading (jpg)
  • [#6122]: Allow saving a core Image into BytesIO
  • [#5822]: AsyncImage test fix for Windows py2.7

Spelling

  • [#5951]: Add a warning about support for pyenchant on windows

Text

  • [#5970]: fix styles from latests PR
  • [#5962]: Pango + fontconfig/freetype2 text provider

Video

  • [#6270]: Suggest how to fix unable to create playbin error.
  • [#6246]: Disabled set_volume() in core.video.ffpyplayer play() function. Fix for #6210
  • [#5959]: Issue 5945

Window

  • [#6283]: Limit live resize to desktop
  • [#6179]: window: fix multiple resize sent, and always sent the GL size, never …
  • [#6164]: Removed default orientation hints on Android
  • [#6138]: Fix android’s sensor orientation
  • [#6133]: Make top/left of window dispatch events on updates
  • [#6107]: Fixed fullscreen and orientation handling to work with SDL-2.0.9 on Android
  • [#6092]: Fix sdl close inconsistencies. closes #4194

Doc

  • [#6343]: Fix docs for the release
  • [#6334]: Add docs for linux wheels
  • [#6316]: Update doc of AliasProperty
  • [#6296]: Remove duplicate installation instructions.
  • [#6282]: example for adding, background_color to Label
  • [#6217]: add a few kv examples to widget docs
  • [#6215]: Added pillow as a required python library
  • [#6214]: Grammar tweaks
  • [#6204]: Update OSX Install instructions for MakeSymlinks
  • [#6199]: Replace «it’s» with «its» in several places
  • [#6198]: Correct a grammar mistake in two places
  • [#6189]: Update docs referring the change from nose tests to pytest
  • [#6185]: Raises minimum OSX version for current DMG.
  • [#6180]: Updated version no. for SDL building
  • [#6159]: Update installation for RPI with notes for latest Raspian issues
  • [#6129]: typo in doc comments
  • [#6124]: Removed doc note…

1.10.1

This was supposedly a bugfix releases, but a few new features have
managed to get in, aside that, a lot of fixes are included.

Highlighted changes:

  • It’s now possible to query Window information with the SDL provider.
  • SVG support improvements.
  • Export_to_png now preserves widget’s alpha.
  • It’s now possible to define a custom comparison for properties, to
    manage dispatching better.
  • Layouts’ add_widget method now accept the canvas argument that
    Widget‘s does.
  • Fix for infamous SDL window issue on Linux.
  • disabled property of widget now restores the previous value of
    disabled of children on unset.
  • The tuio implementation now uses the new oscpy library instead of
    the bundled oscAPI module, this solves a lot of issues with python3
    and massively increase performances. The old OSC package is still
    shipped, but will be removed in future releases.
  • On Linux, probesysfs input detection doesn’t depend on getconf
    anymore, which makes it more portable.

This is the last release to officially support python 3.3 and 3.4.

For technical reasons, there is no 3.7 wheels for Windows yet, they will
come soon after our continuous integration infrastructure allows it.

Many thanks to: Peter Badida, Gabriel Pettier, Richard Larkin, Matthew
Einhorn, Mathieu Virbel, Armin Sebastian, germn, Akshay Arora, fruitbat,
Terje Skjaeveland, Alexander Taylor, Joseph Kogut, Zachary Spector,
DavidCaughell, ismailof, Atis, Boyan Hristov, The Cheaterman, Dominik
Lang, Rasmus Pedersen, Pablo Mendoza, Jan Kantert, audryste, parabolize,
Benoit HERVIER, DefaultUser, Emil Milanov, Eugene, GottaDiveIntoPython,
Volker Gaibler, loa-in-, scoder, skall, sugarlata, Adachinski, Alberto
Galera, Alexandre Esse, Andre Miras, Arien Tolner, Ashok Kumar P
(ParokshaX), Charlie Yan, Christophe CHAUVET, David H. Bronke, Dev,
EndilWayfare, Gleapsite, Kristian Sloth Lauszus, Leon Davison, Manthan
Sharma, Nafis Abdullah Khan, Piotr Kasprzyk, Rafał Kaczor, Ray Gomez,
Robert Bradshaw, Robert Niederreiter, Shubham Tatvamasi, Sumit Madhwani,
WillW, William Bernoudy, Yash Jain, brami, hajime, kinkoazc,
mahomahomaho, onnlv, phunsukwangdu, pythonic64, saband, verderten, and
水戸う納豆斎(Nattōsai Mitō), for their contributions to this release.

The Kivy team plans to drop support for python 2.7 before the end of
2018, but we hope to make multiple releases before that, as a lot of
work to streamline our release process was done during this release.

Full listing of changes by section (with pull request id when there was
one, or commit id when it was directly done on master).

Core
#4974: Video: update ‘loaded’ on new video, unload previous video
#5053: ffpyplayer video: update frame/position on seek if video paused
#5109: Add textedit event for text editing by IME
#5187: Fix Windows clipboard when pasting a file
#5206: Touchscreen fixes
#5220: Redeclare Svg.reload as throwing an exception.
#5222: Fix typo in SVG
#5233: svg improvements
#5252: Add support for shaped windows
#5264: Remove double list copy in Animation._update
#5265: Remove dead code for SDL2 windowresized event
#5281: Make App.on_config_change an event
#5298: Add support for saving flipped Textures
#5305: img_pygame: Fix loading of binary alpha formats
#5312: ffpyplayer video: disable builtin subtitles by default
#5313: ffpyplayer video: better video seek
#5324: window_sdl2: Fix memory leak in screenshot
#5325: text_sdl2: Fix very unlikely memory leak
#5328: Fix build with cython 0.26
#5355: handle_exception defaults to RAISE, not STOP
#5362: Raspbian stretch egl library fix
#5377: Let dpi formatting exceptions in kv propagate out from cython.
#5382: Fix Json+DictStore not raising error for non-existing folder + unittest
#5387: _text_sdl2.pyx: Don’t clear pixel memory twice
#5389: Don t drop SDL_Dropfile event while in pause #5388
#5393: Forward kwargs to config parser.
#5396: Actually display multitouch emulation if sim set to True.
#5421: Fix host/port handling in UrlRequest
#5423: Add probesysfs option to include devices that offer core pointer functionality
#5435: Changed Logger.error to Logger.warning on android import
#5437: Purge KV lang TRACE logs on demand with environment variable
#5459: audio_sdl2: Update for mixer v2.0.2 support
#5461: Monkey patch PIL frombytes & tobytes, fixes #5460
#5470: Added ‘frag_modelview_mat’ uniform to address #180
#5535: Fix FileNotFoundError when sys path doesn’t exist
#5539: Window info
#5555: python3 package of Pillow needs a updated Import
#5556: Fixed loading fonts with dot in name, fixed spelling in Russisn examle
#5576: window_x11: implement get_window_info()
#5577: window_x11: fix python3 TypeError
#5579: Fix Ctypes Clipboard error with embeded null character
#5593: Fix float division by zero
#5612: raise exception when trying to add Widget with a parent to Window
#5621: do not use the clock in dealloc to prevent deadlock
#5624: Update LICENSE
#5664: Fixes renderbuffer leaking when creating Fbo
#5693: PiCamera-based camera provider for Raspberry Pi
#5703: Fixed format string mistake in Error Message
#5705: Check for activation before attaching to window. references #5645
#5716: Replace vendored lib/OSC and lib/oscAPI with oscpy.
#5778: Update extensions for ImageLoaderPIL

fc2c382: Update properties.pxd
5bf0ff0: Properties: Allow custom comparator.
cf7b55c: change opengl ids to unsigned ints
87897c4: Add on_textedit event to SDL2 Window (#5597)
4d9f19d: Expose «absolute» options in HIDInputMotionEventProvider class
ae3665c: camera: fix all export
53c2b4d: picamera: fix for python2. Closes #5698
d3d517d: Re-add gi camera provider.
d175cf8: Fix Inspector crash if shaped window is disabled
4deb360: Add sdl2 system cursors (#5308)
f5161a2: Clean hanging code (#5232)
b7906e7: Fix py2/py3 iteritems (#5194)
5961169: add versionadded tag for KIVY_BCM_DISPMANX_LAYER
ebeb6c4: cache.py bug fixes (#5107)
b4ab896: input: probesysfs: remove getconf dependency
58b9685: @triggered: add cancel method
f8194bb: Add test units to ClockTestCase
dafc07c: @triggered: Set default timeout=0
061891c: Add decorator for Clock.create_trigger()
1c855eb: on_joy_ball is called with 2 position valuesc
1a20a3a: Prioritize XClip for clipboard on Linux

Widgets
#4905: Removed textinput cursor bug #3237
#5167: Add support for RST replace
#5200: Added abs_tol argument to isclose call to ensure no float edge cases
#5212: fix #5184: ScrollView bar_margin affects also touch position
#5218: Add support for footnotes to RST
#5243: Fix for crash when setting is_focusable property in issue #5242
#5255: Fix race condition in AsyncImage
#5260: Disable emacs bindings for Alt-Gr (Ctrl+Alt) key
#5263: Avoid Animation.cancel_all(Window) that interfers with user animations
#5268: Fix crash when instantiating ActionView(use_separator=True)
#5335: issue #5333 — actionbar throws exception when resized
#5339: Rewrite ActionGroup from Spinner to Button+DropDown
#5370: Fix all ScreenManagers sharing the same transition
#5379: Allow negative values in textinput with filters.
#5413: Don’t pass touch to children when outside the ScrollView.
#5418: Add text_validate_unfocus option to TextInput
#5445: Resize treeview collapse. closes #5426
#5455: Add TextInput cursor blinking control
#5472: export widget canvas to png including alpha values
#5484: DragBehavior: Transform window coordinates to parent coordinates befo…
#5567: EffectWidget: Correct typo ‘setdefaults’ to ‘setdefault’
#5641: Fix LabelBase.register() to behave as documented
#5715: Let Layout.add_widget use the canvas argument
#5748: Add canvas argument to FloatLayout.add_widget
#5764: Fix #5761 AsyncImage reload() doesn’t invalidate Loader Cache
#5632: Fixes #5632, typo of col instead of row.
9a8603d: hotfix: Stop AccordionItem collapse animation
a432e0d: Let BoxLayout.add_widget use the canvas argument
37ccbfa: pass an empty list for «buttons» param to create_touch
8da2272: Remove ineffective changes
2faa6a9: doc: Added default value to Scatter ‘do_collide_after_children’ property
faa03f7: Gridlayout min size bounds check (#5278)
27e3b90: Fix touch passing down when overlapping TextInputs (#5189)
5e2b718: Fix image size and comment handling in RST (#5197)
b505b1d: Add on_load to AsyncImage (#5195)
873427d: Add Slider.sensitivity (#5145)
d06ea4d: Deprecate the Widget’s id property

Tests
#5226: Add test for ScrollView bars
#5282: Add test for _init_rows_cols_sizes
#5346: Add unittest for ActionBar
#5368: Unittesting features
#5372: test_video.py: Fix misleading class name
#5374: Fix creating ‘results’ folder in GraphicUnitTest if not making screenshots
#5378: Add test for Inspector module, fix children order for ModalView
#5381: Add test for KV event/property + trailing space
#5399: Add unittest for Mouse multitouch simulator
#5433: Add simple guide for GraphicUnitTest
#5446: Add unittest for AsyncImage + remote .zip sequence
#5489: Add unittest for TextInput selection overwrite
#5607: Add unittest for Vector.segment_intersection floatingpoint error
6b93d8a: Fix unicode error
c9ecb40: Add test for RST replace

Docs
#5170: Fix typo in installation/windows.rst
#5177: Fix comments for paste in textinput.py
#5221: Docs: Link methods, remove empty title
#5227: Add gstreamer to ubuntu install
#5240: Settings in example are faulty
#5270: doc: add missing escape characters into Linux installation instructions
#5307: Docs: Explain handling Popup in KV
#5330: Docs: Rewrite system cursor
#5424: Add notice about Kivy.app not being available for download
#5439: OSX Install Instruction Update — Cython explicit version
#5458: Add docs for setting Window.shape_mode
#5518: less renaming
#5519: oxford
#5520: Documentation consisten…

Kivy 1.10.0

1.9.1

Kivy 1.9.0

Kivy is an open source, cross-platform UI framework that lets you develop applications that make use of innovative, multi-touch user interfaces. Written in Python with a graphics engine built over OpenGL ES 2, Kivy supports various input devices and protocols, and gives you access to over 20 widgets that are all highly extensible and have built-in multi-touch support. You can run the same codebase on Mac, Windows, Linux, Android and iOS.

Kivy is 100% free and open source with a professionally developed and used toolkit, as well as a stable framework and well-documented API, so you can be confident in using it in a commercial product.

Features

  • Cross-platform
  • Supports most inputs, devices and protocols
  • Includes multi-touch mouse simulator
  • Well-documented API
  • Extensive widget library

Project Samples

License

MIT License

Leading Solution for Requirements, Risk, and Test Management Icon

Empower Your Team, Enable Your Process. Equip your teams with the freedom to innovate and the tools they need to do their best work. Capture and work with real-time decisions and feedback, keep key stakeholders informed when change occurs and make sure everyone gets the content they need—right when they need it. With Jama Connect as your single source of truth for definition, verification and validation, you can benchmark and monitor team performance over time to understand the benefits of retooling your product development process. You can strengthen collaboration around critical information and tradeoffs. And you can efficiently reuse IP across products. Jama Connect provides visibility across product definition, design, build and test phases, and exposes relationships and dependencies between systems, teams, activities and results.

User Reviews

conda 20.3 MB

|

win-64/kivy-2.2.1-py39hfd0b345_1.conda

 19 days and 15 hours ago 52

main

conda 20.3 MB

|

osx-64/kivy-2.2.1-py39h2f6f0cd_1.conda

 19 days and 15 hours ago 19

main

conda 20.5 MB

|

win-64/kivy-2.2.1-py38h036a91a_1.conda

 19 days and 15 hours ago 54

main

conda 20.7 MB

|

win-64/kivy-2.2.1-py311haeaaaff_1.conda

 19 days and 15 hours ago 217

main

conda 20.2 MB

|

win-64/kivy-2.2.1-py310h0aa0824_1.conda

 19 days and 15 hours ago 63

main

conda 20.5 MB

|

win-64/kivy-2.2.1-py39h21046e2_1.conda

 19 days and 15 hours ago 62

main

conda 21.0 MB

|

osx-64/kivy-2.2.1-py311hd7c6e05_1.conda

 19 days and 15 hours ago 44

main

conda 20.5 MB

|

osx-64/kivy-2.2.1-py39hca78260_1.conda

 19 days and 15 hours ago 20

main

conda 20.6 MB

|

osx-64/kivy-2.2.1-py38h9915f8e_1.conda

 19 days and 15 hours ago 23

main

conda 20.8 MB

|

osx-64/kivy-2.2.1-py310h783e21a_1.conda

 19 days and 15 hours ago 23

main

conda 20.5 MB

|

linux-64/kivy-2.2.1-py39h12b5cfc_1.conda

 19 days and 15 hours ago 59

main

conda 21.0 MB

|

linux-64/kivy-2.2.1-py310h61d9912_1.conda

 19 days and 15 hours ago 47

main

conda 21.1 MB

|

linux-64/kivy-2.2.1-py38h6cc232d_1.conda

 19 days and 15 hours ago 47

main

conda 21.5 MB

|

linux-64/kivy-2.2.1-py311h1c6b5a7_1.conda

 19 days and 15 hours ago 70

main

conda 21.0 MB

|

linux-64/kivy-2.2.1-py39h5d2479f_1.conda

 19 days and 15 hours ago 68

main

conda 20.0 MB

|

win-64/kivy-2.2.1-py38hf79893a_0.conda

 3 months and 21 days ago 92

main

conda 20.0 MB

|

win-64/kivy-2.2.1-py39hfd0b345_0.conda

 3 months and 21 days ago 179

main

conda 20.7 MB

|

osx-64/kivy-2.2.1-py39h2f6f0cd_0.conda

 3 months and 21 days ago 49

main

conda 20.3 MB

|

win-64/kivy-2.2.1-py310h0aa0824_0.conda

 3 months and 21 days ago 680

main

conda 20.5 MB

|

osx-64/kivy-2.2.1-py38he8a4dd9_0.conda

 3 months and 21 days ago 42

main

conda 20.2 MB

|

win-64/kivy-2.2.1-py38h036a91a_0.conda

 3 months and 21 days ago 152

main

conda 20.5 MB

|

win-64/kivy-2.2.1-py39h21046e2_0.conda

 3 months and 21 days ago 327

main

conda 21.1 MB

|

osx-64/kivy-2.2.1-py38h9915f8e_0.conda

 3 months and 21 days ago 46

main

conda 21.0 MB

|

linux-64/kivy-2.2.1-py39hd2eafab_0.conda

 3 months and 21 days ago 232

main

conda 20.9 MB

|

osx-64/kivy-2.2.1-py310h783e21a_0.conda

 3 months and 21 days ago 125

main

conda 20.6 MB

|

osx-64/kivy-2.2.1-py39hca78260_0.conda

 3 months and 21 days ago 76

main

conda 20.9 MB

|

linux-64/kivy-2.2.1-py38h93e5601_0.conda

 3 months and 21 days ago 108

main

conda 21.0 MB

|

linux-64/kivy-2.2.1-py39h215d148_0.conda

 3 months and 21 days ago 264

main

conda 21.1 MB

|

linux-64/kivy-2.2.1-py38hdcee181_0.conda

 3 months and 21 days ago 150

main

conda 20.8 MB

|

linux-64/kivy-2.2.1-py310hbc2849a_0.conda

 3 months and 21 days ago 279

main

conda 20.5 MB

|

osx-64/kivy-2.2.0-py38hdcd28e2_0.conda

 4 months and 18 days ago 42

main

conda 20.5 MB

|

osx-64/kivy-2.2.0-py39h43c9484_0.conda

 4 months and 18 days ago 38

main

conda 20.3 MB

|

win-64/kivy-2.2.0-py39h7f802e0_0.conda

 4 months and 18 days ago 280

main

conda 20.1 MB

|

win-64/kivy-2.2.0-py38h5a5e85b_0.conda

 4 months and 18 days ago 137

main

conda 20.6 MB

|

osx-64/kivy-2.2.0-py39h24f15de_0.conda

 4 months and 18 days ago 43

main

conda 20.5 MB

|

win-64/kivy-2.2.0-py39h4306376_0.conda

 4 months and 18 days ago 328

main

conda 20.6 MB

|

win-64/kivy-2.2.0-py310h8493131_0.conda

 4 months and 18 days ago 315

main

conda 20.2 MB

|

win-64/kivy-2.2.0-py38h5fa0979_0.conda

 4 months and 18 days ago 160

main

conda 20.6 MB

|

osx-64/kivy-2.2.0-py38h49b6527_0.conda

 4 months and 18 days ago 45

main

conda 20.9 MB

|

linux-64/kivy-2.2.0-py38h0cae2e2_0.conda

 4 months and 18 days ago 223

main

conda 20.6 MB

|

osx-64/kivy-2.2.0-py310h1febe59_0.conda

 4 months and 18 days ago 60

main

conda 20.6 MB

|

linux-64/kivy-2.2.0-py39h1be07e2_0.conda

 4 months and 18 days ago 405

main

conda 20.1 MB

|

win-64/kivy-2.1.0-py39h7f802e0_4.conda

 8 months and 3 days ago 362

main

conda 20.1 MB

|

win-64/kivy-2.1.0-py310h8493131_4.conda

 8 months and 3 days ago 950

main

conda 20.2 MB

|

win-64/kivy-2.1.0-py38h5fa0979_4.conda

 8 months and 3 days ago 260

main

conda 20.2 MB

|

osx-64/kivy-2.1.0-py39hf596b69_4.conda

 8 months and 3 days ago 67

main

conda 20.3 MB

|

win-64/kivy-2.1.0-py39h4306376_4.conda

 8 months and 3 days ago 898

main

conda 20.2 MB

|

osx-64/kivy-2.1.0-py38h1ec90d2_4.conda

 8 months and 3 days ago 56

main

conda 20.5 MB

|

osx-64/kivy-2.1.0-py310he93d8b2_4.conda

 8 months and 3 days ago 235

main

conda 20.4 MB

|

osx-64/kivy-2.1.0-py39h6d5193d_4.conda

 8 months and 3 days ago 115

main

  • Kings bounty dark side не запускается windows 10
  • Kitobcha exe скачать windows 10
  • Kingoroot on windows скачать официальный сайт
  • Kip 700m driver windows 10
  • Kitobcha chiqarish dasturi yuklash windows