Quick search

Table Of Contents

Utils

Changed in version 1.6.0: The OrderedDict class has been removed. Use the collections.OrderedDict.

kivy.utils.intersection(set1, set2)[source]

Return the intersection of 2 lists.

kivy.utils.difference(set1, set2)[source]

Return the difference between 2 lists.

kivy.utils.strtotuple(s)[source]

Convert a tuple string into a tuple with some security checks. Designed to be used with the eval() function:

a = (12, 54, 68)
b = str(a)         # return '(12, 54, 68)'
c = strtotuple(b)  # return (12, 54, 68)
kivy.utils.get_color_from_hex(s)[source]

Transform a hex string color to a kivy Color.

kivy.utils.get_hex_from_color(color)[source]

Transform a kivy Color to a hex value:

>>> get_hex_from_color((0, 1, 0))
'#00ff00'
>>> get_hex_from_color((.25, .77, .90, .5))
'#3fc4e57f'

New in version 1.5.0.

kivy.utils.get_random_color(alpha=1.0)[source]

Returns a random color (4 tuple).

Parameters:
alpha : float, defaults to 1.0

If alpha == ‘random’, a random alpha value is generated.

kivy.utils.is_color_transparent(c)[source]

Return True if the alpha channel is 0.

kivy.utils.boundary(value, minvalue, maxvalue)[source]

Limit a value between a minvalue and maxvalue.

kivy.utils.deprecated(func)[source]

This is a decorator which can be used to mark functions as deprecated. It will result in a warning being emitted the first time the function is used.

class kivy.utils.SafeList[source]

Bases: list

List with a clear() method.

Warning

Usage of the iterate() function will decrease your performance.

kivy.utils.interpolate(value_from, value_to, step=10)[source]

Interpolate between two values. This can be useful for smoothing some transitions. For example:

# instead of setting directly
self.pos = pos

# use interpolate, and you'll have a nicer transition
self.pos = interpolate(self.pos, new_pos)

Warning

These interpolations work only on lists/tuples/doubles with the same dimensions. No test is done to check the dimensions are the same.

class kivy.utils.QueryDict[source]

Bases: dict

QueryDict is a dict() that can be queried with dot.

New in version 1.0.4.

d = QueryDict()
# create a key named toto, with the value 1
d.toto = 1
# it's the same as
d['toto'] = 1
kivy.utils.platform = platform name: 'unknown' from: <kivy.utils.Platform object at 0x806edf610>

New in version 1.3.0.

Deprecated since 1.8.0: Use platform as variable instaed of a function.

Calling platform() will return one of: win, linux, android, macosx, ios or unknown.

Changed in version 1.8.0.

platform also behaves like a regular variable in comparisons like so:

from kivy import platform
if platform == 'linux':
    do_linux_things()
if platform() == 'linux': # triggers deprecation warning
    do_more_linux_things()
foo = {'linux' : do_linux_things}
foo[platform]() # calls do_linux_things
p = platform # assigns to a module object
if p is 'android':
    do_android_things()
p += 'some string' # error!
kivy.utils.escape_markup(text)[source]

Escape markup characters found in the text. Intended to be used when markup text is activated on the Label:

untrusted_text = escape_markup('Look at the example [1]')
text = '[color=ff0000]' + untrusted_text + '[/color]'
w = Label(text=text, markup=True)

New in version 1.3.0.

class kivy.utils.reify(func)[source]

Bases: object

Put the result of a method which uses this (non-data) descriptor decorator in the instance dict after the first call, effectively replacing the decorator with an instance variable.

It acts like @property, except that the function is only ever called once; after that, the value is cached as a regular attribute. This gives you lazy attribute creation on objects that are meant to be immutable.

Taken from the Pyramid project.