Bindings for Iced, a cross-platform GUI library focused on simplicity. Inspired by Elm.
Project description
Python bindings for Iced.
Iced is a cross-platform GUI library focused on simplicity and type-safety. Inspired by Elm.
Installation
Precompiled wheel:
$ pip install pyiced
From source:
$ pip install .
To install from source you need to have a recent version of Rust installed in your $PATH.
Rustup is probably the most easy to use option to install and update Rust on your system.
Quick Example
from pyiced import (
Align, button, ButtonState, column, container, IcedApp, Length, text,
)
class ExampleApp(IcedApp):
def __init__(self):
self.__incr_button_state = ButtonState()
self.__decr_button_state = ButtonState()
self.__value = 0
def title(self):
return 'Counter'
def view(self):
increment_button = button(
self.__incr_button_state, # To track the state across redraws.
text('Increment'), # This is content on the button.
on_press='incr', # This value is received in update().
)
value_label = text(f'{self.__value}', size=50)
decrement_button = button(
self.__decr_button_state,
text('Decrement'),
on_press='decr',
)
return container(
column(
[increment_button, value_label, decrement_button],
align_items=Align.CENTER,
),
padding=20, align_x=Align.CENTER, align_y=Align.CENTER,
width=Length.FILL, height=Length.FILL,
)
def update(self, msg, clipboard):
# When an event occurs, this method is called.
# It can optionally return a list of async functions,
# to handle the event.
match msg:
case 'incr':
self.__value += 1
case 'decr':
self.__value -= 1
if __name__ == '__main__':
# This function only returns if there is an error on start-up.
# Otherwise the program gets terminated when the window is closed.
ExampleApp().run()
Bigger Example
Please find the source code in examples/chess.py.
TODOs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyiced-0.3.0a3.tar.gz
(64.0 kB
view hashes)
Built Distributions
Close
Hashes for pyiced-0.3.0a3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0eb0c86bb80c23d315aaa7bfbd6125c54155b69100d15c93eadfa2cba9db4542 |
|
MD5 | a554609e2551370bca6f90acb99460a7 |
|
BLAKE2b-256 | df1f1a06d743a0c0aa368c1d648282ab70adb1b89a835e83571b43704fe396b5 |
Close
Hashes for pyiced-0.3.0a3-cp310-cp310-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d13565c6bf3742d9c8d73091aaef28972cf6eb93c93f6e25460b756fd5a5d424 |
|
MD5 | 3c1a96862a68ea9b2ca23e440f473caf |
|
BLAKE2b-256 | 6cc1b9eaccec2425848031e0d17db99fd9edb7fe8db3ea56492b6e89693b856d |
Close
Hashes for pyiced-0.3.0a3-cp310-cp310-manylinux_2_24_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4dae8fa7ca589b26e7fc39e63b64e6408fcf7f0dfa2cc0e9034875f0dd84a605 |
|
MD5 | 204b12c768f2a1e62e601ae17ccba905 |
|
BLAKE2b-256 | 02fe0bd47ea1679d2da5952d222e801d097298a37f75ebcedfd9252775b24d8a |
Close
Hashes for pyiced-0.3.0a3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5fc6ca2d8059870fd3c51d11e4a53f25e52035e2c286b6f8b3a34589dce5444 |
|
MD5 | e92c6a7bab99703dca40d34deaa3e3fc |
|
BLAKE2b-256 | 7c076182fc6897e50af4d30fc1a3054b07c21e22051a023eb449fcab623c2979 |
Close
Hashes for pyiced-0.3.0a3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e470e6bc97f3ecc8e83ec474e4785a6371c779a6a10d513949b230f758f7026a |
|
MD5 | e8067f4b303b2b26f35ff66fac91a620 |
|
BLAKE2b-256 | e7eb13e5e74b28671f8b3317d026f15606098994a77e52cc0c85eb34fdb590a7 |
Close
Hashes for pyiced-0.3.0a3-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 249dc5e986a6561bc4ce7e507c694d68dbff3e5c0585edf7d74867d22eb92ca5 |
|
MD5 | b9d675c83d623b9ab302a852275344e8 |
|
BLAKE2b-256 | 195de2afa39e61aed6c2e2d7adcf3163c19e469c0499e4d55817d3be61eb6e39 |
Close
Hashes for pyiced-0.3.0a3-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 988abae410525025599e71b4b443df4b2f8c741b8d0ea44b97c2f08e1084db04 |
|
MD5 | 7619e5cf209bd97654be0ddf330fbbdc |
|
BLAKE2b-256 | f7d88025754a982e4a415f6d1683a7aa025a4df4f5d58151f185cd69568ac4a6 |
Close
Hashes for pyiced-0.3.0a3-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69ed6147bd4055432e4de678cfbaba3283b373749d5df0f6120b30dc80bbe721 |
|
MD5 | 7862466f40b4000c2398520b33c55571 |
|
BLAKE2b-256 | b160ad5375f61f0494682908d99cc792d29ab17e1b7e5e2cc0724901df8c2f20 |
Close
Hashes for pyiced-0.3.0a3-cp39-cp39-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 727b7ad235924933270dc0ee8c977acdc0b6a0a38ff679f11648450649dfe1d5 |
|
MD5 | fca31fe28a69a1ac0d19896ea21d1ac0 |
|
BLAKE2b-256 | 953a9bea24273eef85fa36408130ac003a6d3f68967c2bef97488d4c9ce61872 |
Close
Hashes for pyiced-0.3.0a3-cp39-cp39-manylinux_2_24_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f515f761ce27635a8bc8b80231a7ae409fe3922dee7f551bd23bac0dd35c8f4 |
|
MD5 | 6565ac343826a2c1f87aefb6fcbb248e |
|
BLAKE2b-256 | 5ab8ccca488f02e633685e6848a8370026f67376b842a4824984f4ad904cfff7 |
Close
Hashes for pyiced-0.3.0a3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea92bb79557fafddf25aa86da3a55d84431b690b1e0f52ab60d956a33dd60637 |
|
MD5 | 07b0cb87826e33db41b726331d996b42 |
|
BLAKE2b-256 | a6b05d0c09621c4928a60cdc00fd139a190d01aa4533c7657704e28e9062cfe0 |
Close
Hashes for pyiced-0.3.0a3-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6550770e18e42e50a4fee57f21a4b66c123b8bf41bed894c0654684502d39025 |
|
MD5 | 70b4905f3b7d0f0e6ef1ecee156d7412 |
|
BLAKE2b-256 | 9f7464c2abe78364d1aaaaa1c9919f1ea10d351ac34d2493e061c50fd14633d0 |
Close
Hashes for pyiced-0.3.0a3-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8017fb97a56642945ded9d2cdaac9129d3e1a8bd2c322e0f432378dbc8a975ba |
|
MD5 | 413704ff057f6e5c5eeb606858ed2731 |
|
BLAKE2b-256 | 70652c07fb3b1a7f9de82d01dae4d09ef17a2de7715bc81709788fab2516cd0d |
Close
Hashes for pyiced-0.3.0a3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6c51656b130379db98e1ad96520a8b54404c334271de3fa7b6f4203ff2021e8 |
|
MD5 | 71231c393e73faba2fd9c8a4bc9253ae |
|
BLAKE2b-256 | cd7c64941be9bc67d0aaf9e133a037741f9bf9de8bef1b58746c51a66f49eda7 |
Close
Hashes for pyiced-0.3.0a3-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ae4f6949c330886c564ed0d7e2c65ec9e7831add5a1f0009e3cf70521b4a10a |
|
MD5 | 8ff08726ab363eb7df154ddddb4058d9 |
|
BLAKE2b-256 | c49abd32381aaa85160490d344265b08aa78e3241a348deb4850df8377fb6f9b |
Close
Hashes for pyiced-0.3.0a3-cp38-cp38-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c72866c69885b4d74b46f7711c335e5b3eda1c3aac9cb76df9888f34a22b787 |
|
MD5 | 77bc7646633c4f70f2c5b1ef2bf0c958 |
|
BLAKE2b-256 | d26dd2c78a72efdd63d285bca46836fb083851345ea77e8915f0c48f1a8d6e90 |
Close
Hashes for pyiced-0.3.0a3-cp38-cp38-manylinux_2_24_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3324aaedf5c92a5824c6e081b7f4f8ce4187c272d5bc7afed09ce8520f33ca3c |
|
MD5 | 08cae055ca9886a04c7303c585ebcb53 |
|
BLAKE2b-256 | c35bb75728fc30455b1f9f325e7a36aeaf7c27f30edde5f704fd6b908f378264 |
Close
Hashes for pyiced-0.3.0a3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7990ab0033ffd2193fba5031fef2c70b153e80adafd0f4f3d71b153ab55efaa0 |
|
MD5 | 923d8e1e6366ef74de8a5f2848888536 |
|
BLAKE2b-256 | 72cff6df706a8e67d7c14be513ac24af4f07884290ce898e65ce0adfb763f814 |
Close
Hashes for pyiced-0.3.0a3-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23a2f0eb788695bf176a550189e9fc2af9227143acc52e873fd60eab5e7a7bc0 |
|
MD5 | a2342baec9c49d03d4e49c6bfba2afb5 |
|
BLAKE2b-256 | 9fa01f8986a9c3c990a15dcff65efaf6d4aaea17f6c4b34d236e133de5fe4327 |
Close
Hashes for pyiced-0.3.0a3-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f1bcd421dbbfa3c300f09a3e76c58fc84075531845a94db7c8883ba62eb977e |
|
MD5 | fe0825d33c1d16716c8791aab195db42 |
|
BLAKE2b-256 | 834954c65309934b5b117b44faa8bc1936cef7cca5b87867eff59171b182e913 |
Close
Hashes for pyiced-0.3.0a3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21eaa5b5ba52ddf0fda721e39a8ab711d018039f2dac33d1594714b540bfc416 |
|
MD5 | 181b4ca0158e3d616b53d4e4c112e86f |
|
BLAKE2b-256 | 916b179f17643057c109de758c9227d04a23de3982f42f4f7a9f6acd58c547a1 |
Close
Hashes for pyiced-0.3.0a3-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49aa35678e946e1282306de97778e5cf9b682001aad8b554f418ba96dc8eb63f |
|
MD5 | f21c109434ea04f99854b0a6e2a29a48 |
|
BLAKE2b-256 | ef3dc974d148f53305cca1575442f5cbece50b2b13f4a228498e4bc4e127791b |
Close
Hashes for pyiced-0.3.0a3-cp37-cp37m-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80292eb83cf0895493a516dacc333306cde5a7bb4816cfdbcc91a141dcfb894d |
|
MD5 | 62c0f1e5c7e8d2699041de19e4187e1f |
|
BLAKE2b-256 | e0fdbf91d03a4d8d4399ebcd92219801c1ad7b1c1c398daca95be27f285cb960 |
Close
Hashes for pyiced-0.3.0a3-cp37-cp37m-manylinux_2_24_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86e570df0331c916c43dbac78ec25791704c4605d15736d7eafa42d4ede6fd86 |
|
MD5 | 6d06b62e3267b2bbebe8ef0a01766c2a |
|
BLAKE2b-256 | 45e72dc764a129dc5d2f71eb8159c3a42bb76ee5bb412b03cfc231ad7a3ce1dd |
Close
Hashes for pyiced-0.3.0a3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1ef1f520b519377ada13a25faae015b90f9490a6b1f1221a2d2cdd3eb15299d |
|
MD5 | 69556d14b751c58b728d354db4491ca2 |
|
BLAKE2b-256 | 46d720fe88d3c14ebe83407af232b0a076bd834fae0f16668ba3a31f813a382b |
Close
Hashes for pyiced-0.3.0a3-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90024c59e370b3e0b0765e3f090a8720d91e6a84459c4da875d62987c313fcd3 |
|
MD5 | 5d6da1acee042fae4994018d4ab53d07 |
|
BLAKE2b-256 | 60e85178a588bcbd4145dbb3ea58a5defb761e8b58d7ddf34917491aba99ae5d |
Close
Hashes for pyiced-0.3.0a3-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a71e5e42c3fb5902cf5191e71352c66e164eb61fb2b574b637f6aee1a024ffcd |
|
MD5 | f0a525bc0c7960fdb2d821cfae58223a |
|
BLAKE2b-256 | fa3a4995fab22151dd66d39b237622b84eaa1543e085fe191989ae6c1ba86bd6 |
Close
Hashes for pyiced-0.3.0a3-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fcede63a670e3a32f49fe9096a49ead658911cc955d8b2e990f4a99cf24e458 |
|
MD5 | 7736d18be4c7a227513ad9d9256fb444 |
|
BLAKE2b-256 | b46eb0c0de53844d178fe7577ecb50c629ab6f17e60c62fa9b35700ca04b9636 |