Bindings for Iced, a cross-platform GUI library focused on simplicity. Inspired by Elm.
Project description
PyIced
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.
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.0a7.tar.gz
(84.4 kB
view hashes)
Built Distributions
Close
Hashes for pyiced-0.3.0a7-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6bcb2fc72078874c40d5da78c1c39372336bf2b7768508d0346f1bdf71a8b30 |
|
MD5 | af2d7ef5d6585a6b6e167d670d3677a8 |
|
BLAKE2b-256 | dcb68c74dc567c21b1986ff5a627d086cf103d21c0a2535b1111496dedfc42de |
Close
Hashes for pyiced-0.3.0a7-cp310-cp310-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f03ca62291e97a6f33dcf0c4bc5608d31bee16dc509b2623fe9a1122d87b6bb |
|
MD5 | 68bd79624f66ddb83f41ae8d14c4e656 |
|
BLAKE2b-256 | 4b7e3063642ea62f700c084f89b18f777fd2845818f2cc9f83dc698ce80d4db5 |
Close
Hashes for pyiced-0.3.0a7-cp310-cp310-manylinux_2_24_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e358027c7e9c6af35e379d0e95ed965cde9b1694552901d53a7d404138d52ce |
|
MD5 | 3207de8fa6d3e1f3964094d2039ce0e3 |
|
BLAKE2b-256 | 03132eced6e9b98a4dfc8e50ad70fd4232642931ace16c5326a8a5f938b3eb63 |
Close
Hashes for pyiced-0.3.0a7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0784f38ae5349707fc29cc2b0818b557e394d647f46ef2b1438a7a4448104b49 |
|
MD5 | cbf0358215d66dd3e9a97117188f1db5 |
|
BLAKE2b-256 | 65ae3179b1db6cba541905c51ff1cf045c7027ed65df4e386b8d95dde8e41f5f |
Close
Hashes for pyiced-0.3.0a7-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f1ac199cabdbd7c07673be2fb7c03aded42272b6c98b5522c8985b59a3b18d9 |
|
MD5 | f782e774a715b87d5e4700750902a978 |
|
BLAKE2b-256 | e362e7c736fb260e0d92ddb808d084711e5c9a5631c91510515c39ca7d22454e |
Close
Hashes for pyiced-0.3.0a7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc2e6dda994000e076da8ed5b534cd9498a79925193f7bfa695e1d795813d9c2 |
|
MD5 | 57688075f0d0036034454745f9d9ef47 |
|
BLAKE2b-256 | fb8a07e8a1102dd9aec7e90f906496adf07fa54520a1bd34b5ab741c3aabf0db |
Close
Hashes for pyiced-0.3.0a7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e4a4d7c0500fd1be170ade1c4c28e35a73cb798a68f40a0b8aabab49607e5cc |
|
MD5 | 1686f9bbf38676ba3a2726ff766a8abe |
|
BLAKE2b-256 | 5b7ba9ab014bb8999087a2591560fb8b56fa60252ceb003e8967a5f4c77ae5ea |
Close
Hashes for pyiced-0.3.0a7-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8751b01b6773eca1d5cc67f27b56b4e3628dafdf3e5a16607af5fcb69f2b0f89 |
|
MD5 | d1f6adac6b2d92bbffb2e602d0cbd333 |
|
BLAKE2b-256 | d37c9c2a7a0bc78615a07c58cf1440cb7a49f50fc2fd0e5dd58e0d5b2034abf7 |
Close
Hashes for pyiced-0.3.0a7-cp39-cp39-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0743c4cadeffd73f0a89442bfd3b57355044332dba4a7c57f311b700506758cb |
|
MD5 | 0fb29fc6770afc315ac40662e0e4ac4d |
|
BLAKE2b-256 | 8b84a35684199687c53fe3ca28187183913a4dadbbfdbb9d86c8d6c5a32c477f |
Close
Hashes for pyiced-0.3.0a7-cp39-cp39-manylinux_2_24_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cdba50670879da8d397e595c398463d687ad4b17a33566acc90756cf2d19d297 |
|
MD5 | f5a7a36e2cab678fb0a986549cc49e65 |
|
BLAKE2b-256 | 26c103a33760190107702b1f97d0f8279ad7bd5be6e66a4355daf8207ca7ba11 |
Close
Hashes for pyiced-0.3.0a7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21733664a85c1d3fa32b2c4dac23c3b11ff4a3751366bd8d73702f450c8d60a5 |
|
MD5 | 63e4a208f25d81396bea48d2e5b45e05 |
|
BLAKE2b-256 | df096e01640786ab8168f455056e35437b16a7735333cdb38ed5206c2a6d63fc |
Close
Hashes for pyiced-0.3.0a7-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94ea00418876800cf7f4280a31b5ad59b99170a07e50b1d7e40c40e61fd78588 |
|
MD5 | a13d9d37d39534a1a52c0f2a425cb527 |
|
BLAKE2b-256 | 69d750d45f9af86fa56cf8193c236b437a85b3c82f5b39b9ed1da4c9d3868cc0 |
Close
Hashes for pyiced-0.3.0a7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 404a7a19c1800a868eab75cdc1e9f69d41b3fb511a5131870305e50c13c60312 |
|
MD5 | fdaa364214b6a900966f330d0c567cfd |
|
BLAKE2b-256 | 319bc51c95f091bbdfb8dcc4b03dd88819c000c8057c41bb4fa39ffd9de21284 |
Close
Hashes for pyiced-0.3.0a7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5de88af549a331fa7eb21d8f751400a1f21f6ef50fe07208fe547eb4c13d64da |
|
MD5 | 940ec8379deea10cf67686403248de93 |
|
BLAKE2b-256 | 3af3606915ddbdf7f55b6983d16f2d1eac7b91acd04bbd672fa07d3f51396c84 |
Close
Hashes for pyiced-0.3.0a7-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c87f092ccc2dbe211788247e50d751a29b4c3844768e200ca471671de91a855b |
|
MD5 | fc0a556378a970c0449518a51b9ad1db |
|
BLAKE2b-256 | 0830245997f3c48675b94f8f80d2a21c7fb49157c3446e72ac8ad6f056d90caa |
Close
Hashes for pyiced-0.3.0a7-cp38-cp38-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55857a4b9f18375caf2ed3adfd27285953ce6d8076a13b1df6840df62a593196 |
|
MD5 | 656810f403b70b142c78a1cf27dd9d64 |
|
BLAKE2b-256 | a30ee1875040580e83bd358dfc739c4a72467df457b16147dfcb8851b4a1b858 |
Close
Hashes for pyiced-0.3.0a7-cp38-cp38-manylinux_2_24_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1edbe37afd92848ade5497c0a5ea86c82e1e71dc8fd2ed141ff2e15857978b27 |
|
MD5 | d7952622da9299895bf5f95541d762ae |
|
BLAKE2b-256 | 9144bc0722ec6b484546b760a51a3d5d2b7b63a10648cc7c830ea984b53869d3 |
Close
Hashes for pyiced-0.3.0a7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55036198c329a38c3dd3e798c974158e24330c924cb1e90dc501cc4382a5d708 |
|
MD5 | 66bd2fc921f0c321ea4139fd3169cc3c |
|
BLAKE2b-256 | 0ce66dbf52de50354e3c84f9773826cf781c78655fb4c3d027730086e0f342e8 |
Close
Hashes for pyiced-0.3.0a7-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6521774f28c73055cd58726cc64a9c82889b2a9813be8c4d2cd2679993fb6e3 |
|
MD5 | 6d9c8d2c77a41dd42ef21f6f9d947f08 |
|
BLAKE2b-256 | 067be72d44189e7a3a07d27e34aea3aa8d13e2a71a26914d80b884fec162a64f |
Close
Hashes for pyiced-0.3.0a7-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f909872bda571cf5331624f8d48b94d4fe8f1738ed09012cf608551bd9c2ec7b |
|
MD5 | fb4f49c148198612ac060fdaedc9d7f3 |
|
BLAKE2b-256 | dd54883e8c69ba7deadcbdc14cd12d2870941b954abfbf1997085496b5d9fddf |
Close
Hashes for pyiced-0.3.0a7-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 882fe0fcec824e98b86686b99a2e426409773b2228e355a7c64a808905b32dc4 |
|
MD5 | 01b5f436ef9cb627f3b130be7024dc80 |
|
BLAKE2b-256 | 89c9dc48db34de864ba66fb5bcc3a1daaf4d978543be9f1fed2ab09d4e334f24 |
Close
Hashes for pyiced-0.3.0a7-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5663baf9b3e66f3cb363b6e31f60d842cfae7a9cc0628b7bdb9346394c0ccdfa |
|
MD5 | 3b9b258eac327513227c2a3f9ca58a2f |
|
BLAKE2b-256 | d08992b3ac467bf8d5a69a71fec333bd80b330f26827758797faac0ca900b482 |
Close
Hashes for pyiced-0.3.0a7-cp37-cp37m-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9ce85d203f461475fe1fb0e244222f8051fe2977f40deba0f94891165768100 |
|
MD5 | e75dd50fc7566dada818e58f60af0f99 |
|
BLAKE2b-256 | 4f32d6c5289109ecd6ec1edf3e9e9b565ac24d40501095eeb38bb77461d5547f |
Close
Hashes for pyiced-0.3.0a7-cp37-cp37m-manylinux_2_24_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d676b0428346b845bb96da51af3737ddc3821aa89cbf1e580163c57653ef2679 |
|
MD5 | 8f2ed863c6c6735385d86a42410e54a5 |
|
BLAKE2b-256 | 39db74a6cf3a9d4916879b5eb67efdb4979a915b0ea10c40178ae8c5fd40686c |
Close
Hashes for pyiced-0.3.0a7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21470eccfc764bae7d3ae6ace431b0aee1b39e85f5046bf9c5fb72a3dc581a1e |
|
MD5 | a0c790d6cdf2fc58ea2df9a16577abc1 |
|
BLAKE2b-256 | 8b091232a38ea17267e6c7361b5a114d549dd4bbc7cc062decdb93d65c1a96db |
Close
Hashes for pyiced-0.3.0a7-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6dd7e7607a6104c283fe67fbaf7e9a6dcf15f33b1757d9ee84a33a126827381 |
|
MD5 | 71d98f403a5d6e12dd7779a64fe10fbb |
|
BLAKE2b-256 | bdfe6b5bfd3b22764387fe208898e9a9ff89435dbd94a442687325470270c8b9 |
Close
Hashes for pyiced-0.3.0a7-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d2e80553472c9e9d6586f33fddf34c786d72c1c13bf967906eb3bbbf82fa850 |
|
MD5 | e1c0f311b3c79a2fb0a6f1fea53214c6 |
|
BLAKE2b-256 | 071e7ce2a19813d4fad134e16f8cf50497859e3b564cf518ab0ac6158396c7c9 |
Close
Hashes for pyiced-0.3.0a7-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9f2802535c68940e9d3f84e885c219d4c24787e4e27cf40c319cc3bd2d67a1d |
|
MD5 | f73e85a0b728da20a6e3a637ffcca50e |
|
BLAKE2b-256 | 39df5a17e7e6cb1c79697dd189cab63220a556fc91e94ff81d3c24fd209b0838 |