From 18022d332711ef19dd64a354f48ab5390e497991 Mon Sep 17 00:00:00 2001 From: Sassan Haradji Date: Fri, 5 Jul 2024 00:38:14 +0400 Subject: [PATCH] build: update `headless-kivy` to the latest version --- .github/workflows/integration_delivery.yml | 2 +- CHANGELOG.md | 4 + poetry.lock | 406 ++------------------- pyproject.toml | 15 +- ubo_gui/app/__init__.py | 2 +- ubo_gui/menu/__init__.py | 8 +- ubo_gui/menu/transitions.py | 2 +- 7 files changed, 45 insertions(+), 394 deletions(-) diff --git a/.github/workflows/integration_delivery.yml b/.github/workflows/integration_delivery.yml index fd5fb23..20416a6 100644 --- a/.github/workflows/integration_delivery.yml +++ b/.github/workflows/integration_delivery.yml @@ -37,7 +37,7 @@ jobs: virtualenvs-create: true - name: Install dependencies - run: poetry install --extras=dev --with dev + run: poetry install --with dev type-check: name: Type Check diff --git a/CHANGELOG.md b/CHANGELOG.md index ded81ab..cd935f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## Version 0.11.16 + +- build: update `headless-kivy` to the latest version + ## Version 0.11.15 - fix: set duration of `0` for when `_no_transition` is passed to `_switch_to` method diff --git a/poetry.lock b/poetry.lock index 90ef7ac..f523037 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,188 +1,21 @@ # This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. -[[package]] -name = "adafruit-blinka" -version = "8.45.0" -description = "CircuitPython APIs for non-CircuitPython versions of Python such as CPython on Linux and MicroPython." -optional = true -python-versions = ">=3.7.0" -files = [ - {file = "adafruit_blinka-8.45.0.tar.gz", hash = "sha256:140c6a56ca33fcffd23a5b640fe4289a463cbe8264771d98a9a7c49d9c6099db"}, -] - -[package.dependencies] -adafruit-circuitpython-typing = "*" -Adafruit-PlatformDetect = ">=3.70.1" -Adafruit-PureIO = ">=1.1.7" -binho-host-adapter = ">=0.1.6" -numpy = ">=1.21.5" -pyftdi = ">=0.40.0" -sysv_ipc = {version = ">=1.1.0", markers = "sys_platform == \"linux\" and platform_machine != \"mips\""} - -[[package]] -name = "adafruit-circuitpython-aw9523" -version = "1.1.9" -description = "Python library for AW9523 GPIO expander and LED driver" -optional = true -python-versions = "*" -files = [ - {file = "adafruit-circuitpython-aw9523-1.1.9.tar.gz", hash = "sha256:bdc5ad40a851a47ae0a5660f09e67a70583bf6182984c3b99c8c57aa56f279b5"}, - {file = "adafruit_circuitpython_aw9523-1.1.9-py3-none-any.whl", hash = "sha256:73562793f13aa5d58af1ffee2bc0465e1e445e2582a696608d9b866be2e4bfb2"}, -] - -[package.dependencies] -Adafruit-Blinka = "*" -adafruit-circuitpython-busdevice = "*" -adafruit-circuitpython-register = "*" - -[[package]] -name = "adafruit-circuitpython-busdevice" -version = "5.2.9" -description = "CircuitPython bus device classes to manage bus sharing." -optional = true -python-versions = "*" -files = [ - {file = "adafruit_circuitpython_busdevice-5.2.9-py3-none-any.whl", hash = "sha256:78245c551eb3795a4f3739f1adac0b08a65c9fb0f722e866de620482cbbac51f"}, - {file = "adafruit_circuitpython_busdevice-5.2.9.tar.gz", hash = "sha256:9f9c3df385091410dac5961918e475ec88faed7ff543ad6d74208f08c2566513"}, -] - -[package.dependencies] -Adafruit-Blinka = ">=7.0.0" -adafruit-circuitpython-typing = "*" - -[[package]] -name = "adafruit-circuitpython-connectionmanager" -version = "3.1.1" -description = "A urllib3.poolmanager/urllib3.connectionpool-like library for managing sockets and connections" -optional = true -python-versions = "*" -files = [ - {file = "adafruit_circuitpython_connectionmanager-3.1.1-py3-none-any.whl", hash = "sha256:0b6df0f18c25208b59a007f7dcde58d8b147643738a1cd9ac03f3b1ac0129540"}, - {file = "adafruit_circuitpython_connectionmanager-3.1.1.tar.gz", hash = "sha256:652bf7ec8a12f5a8b086b4d3540d56c53dc82915a6a08b0b8e46a1b82b0ad535"}, -] - -[package.dependencies] -Adafruit-Blinka = "*" - -[[package]] -name = "adafruit-circuitpython-register" -version = "1.9.18" -description = "CircuitPython data descriptor classes to represent hardware registers on I2C and SPI devices." -optional = true -python-versions = "*" -files = [ - {file = "adafruit-circuitpython-register-1.9.18.tar.gz", hash = "sha256:146fdec0ca787663962e1a894a3028056f1adbd0322a1d187bdeda739e4e228d"}, - {file = "adafruit_circuitpython_register-1.9.18-py3-none-any.whl", hash = "sha256:fc84e55129c32e65e740c37f821efb1a6ab2b9439d2b27459c85a6017b0d9302"}, -] - -[package.dependencies] -Adafruit-Blinka = "*" -adafruit-circuitpython-busdevice = "*" -adafruit-circuitpython-typing = ">=1.3.1,<2.dev0" -typing-extensions = ">=4.0,<5.0" - -[[package]] -name = "adafruit-circuitpython-requests" -version = "4.1.2" -description = "A requests-like library for web interfacing" -optional = true -python-versions = "*" -files = [ - {file = "adafruit_circuitpython_requests-4.1.2-py3-none-any.whl", hash = "sha256:bc377084cc2b801044a45209fe81cc9741ae8863bf3ee61a805fc144e102ec10"}, - {file = "adafruit_circuitpython_requests-4.1.2.tar.gz", hash = "sha256:6060c075e3bf63ee4dba20f297f9468250dcb4e6d60f4235bfd46a79c9dfbd2f"}, -] - -[package.dependencies] -Adafruit-Blinka = "*" -Adafruit-Circuitpython-ConnectionManager = "*" - -[package.extras] -optional = ["requests"] - -[[package]] -name = "adafruit-circuitpython-rgb-display" -version = "3.12.4" -description = "CircuitPython library for RGB displays." -optional = true -python-versions = "*" -files = [ - {file = "adafruit-circuitpython-rgb-display-3.12.4.tar.gz", hash = "sha256:b1fa959df17e4b180bb257fb5d713cf4f8513b07dac590e07ca0e6e1a8b2c2bb"}, - {file = "adafruit_circuitpython_rgb_display-3.12.4-py3-none-any.whl", hash = "sha256:79e67706764d94bbdf4af0c50cbacaa987c4cbf8f6d7d5ba0feaba6f8f272c82"}, -] - -[package.dependencies] -Adafruit-Blinka = "*" -adafruit-circuitpython-busdevice = "*" - -[[package]] -name = "adafruit-circuitpython-typing" -version = "1.10.3" -description = "Types needed for type annotation that are not in `typing`" -optional = true -python-versions = ">=3.8" -files = [ - {file = "adafruit-circuitpython-typing-1.10.3.tar.gz", hash = "sha256:4c5c1eeb3ae8a3d2dfa75129654c73690fbdb576d9069542a6ea3355467e1e74"}, - {file = "adafruit_circuitpython_typing-1.10.3-py3-none-any.whl", hash = "sha256:4e23d6828deafa4dfd554fd7d3f06b8ff8e2cc554b9c7aecba9d778d45970c18"}, -] - -[package.dependencies] -Adafruit-Blinka = "*" -adafruit-circuitpython-busdevice = "*" -adafruit-circuitpython-requests = "*" -typing-extensions = ">=4.0,<5.0" - -[[package]] -name = "adafruit-platformdetect" -version = "3.71.0" -description = "Platform detection for use by libraries like Adafruit-Blinka." -optional = true -python-versions = "*" -files = [ - {file = "Adafruit_PlatformDetect-3.71.0-py3-none-any.whl", hash = "sha256:277f42b4de668b2339c1f1a40b5a716b8e4b79141149835c0e36096b18f5abb3"}, - {file = "adafruit_platformdetect-3.71.0.tar.gz", hash = "sha256:b205d4d66dd2b843f61c880838a3364b3f27a0b192aeecc57becdfd1d03da760"}, -] - -[[package]] -name = "adafruit-pureio" -version = "1.1.11" -description = "Pure python (i.e. no native extensions) access to Linux IO including I2C and SPI. Drop in replacement for smbus and spidev modules." -optional = true -python-versions = ">=3.5.0" -files = [ - {file = "Adafruit_PureIO-1.1.11-py3-none-any.whl", hash = "sha256:281ab2099372cc0decc26326918996cbf21b8eed694ec4764d51eefa029d324e"}, - {file = "Adafruit_PureIO-1.1.11.tar.gz", hash = "sha256:c4cfbb365731942d1f1092a116f47dfdae0aef18c5b27f1072b5824ad5ea8c7c"}, -] - -[[package]] -name = "binho-host-adapter" -version = "0.1.6" -description = "Python Libraries for Binho Multi-Protocol USB Host Adapters" -optional = true -python-versions = "*" -files = [ - {file = "binho-host-adapter-0.1.6.tar.gz", hash = "sha256:1e6da7a84e208c13b5f489066f05774bff1d593d0f5bf1ca149c2b8e83eae856"}, - {file = "binho_host_adapter-0.1.6-py3-none-any.whl", hash = "sha256:f71ca176c1e2fc1a5dce128beb286da217555c6c7c805f2ed282a6f3507ec277"}, -] - -[package.dependencies] -pyserial = "*" - [[package]] name = "certifi" -version = "2024.6.2" +version = "2024.7.4" description = "Python package for providing Mozilla's CA Bundle." -optional = true +optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2024.6.2-py3-none-any.whl", hash = "sha256:ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56"}, - {file = "certifi-2024.6.2.tar.gz", hash = "sha256:3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516"}, + {file = "certifi-2024.7.4-py3-none-any.whl", hash = "sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90"}, + {file = "certifi-2024.7.4.tar.gz", hash = "sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b"}, ] [[package]] name = "charset-normalizer" version = "3.3.2" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -optional = true +optional = false python-versions = ">=3.7.0" files = [ {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, @@ -288,78 +121,11 @@ files = [ {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] -[[package]] -name = "cython" -version = "3.0.10" -description = "The Cython compiler for writing C extensions in the Python language." -optional = true -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" -files = [ - {file = "Cython-3.0.10-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e876272548d73583e90babda94c1299537006cad7a34e515a06c51b41f8657aa"}, - {file = "Cython-3.0.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:adc377aa33c3309191e617bf675fdbb51ca727acb9dc1aa23fc698d8121f7e23"}, - {file = "Cython-3.0.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:401aba1869a57aba2922ccb656a6320447e55ace42709b504c2f8e8b166f46e1"}, - {file = "Cython-3.0.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:541fbe725d6534a90b93f8c577eb70924d664b227a4631b90a6e0506d1469591"}, - {file = "Cython-3.0.10-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:86998b01f6a6d48398df8467292c7637e57f7e3a2ca68655367f13f66fed7734"}, - {file = "Cython-3.0.10-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d092c0ddba7e9e530a5c5be4ac06db8360258acc27675d1fc86294a5dc8994c5"}, - {file = "Cython-3.0.10-cp310-cp310-win32.whl", hash = "sha256:3cffb666e649dba23810732497442fb339ee67ba4e0be1f0579991e83fcc2436"}, - {file = "Cython-3.0.10-cp310-cp310-win_amd64.whl", hash = "sha256:9ea31184c7b3a728ef1f81fccb161d8948c05aa86c79f63b74fb6f3ddec860ec"}, - {file = "Cython-3.0.10-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:051069638abfb076900b0c2bcb6facf545655b3f429e80dd14365192074af5a4"}, - {file = "Cython-3.0.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:712760879600907189c7d0d346851525545484e13cd8b787e94bfd293da8ccf0"}, - {file = "Cython-3.0.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38d40fa1324ac47c04483d151f5e092406a147eac88a18aec789cf01c089c3f2"}, - {file = "Cython-3.0.10-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5bd49a3a9fdff65446a3e1c2bfc0ec85c6ce4c3cad27cd4ad7ba150a62b7fb59"}, - {file = "Cython-3.0.10-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e8df79b596633b8295eaa48b1157d796775c2bb078f32267d32f3001b687f2fd"}, - {file = "Cython-3.0.10-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bcc9795990e525c192bc5c0775e441d7d56d7a7d02210451e9e13c0448dba51b"}, - {file = "Cython-3.0.10-cp311-cp311-win32.whl", hash = "sha256:09f2000041db482cad3bfce94e1fa3a4c82b0e57390a164c02566cbbda8c4f12"}, - {file = "Cython-3.0.10-cp311-cp311-win_amd64.whl", hash = "sha256:3919a55ec9b6c7db6f68a004c21c05ed540c40dbe459ced5d801d5a1f326a053"}, - {file = "Cython-3.0.10-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:8f2864ab5fcd27a346f0b50f901ebeb8f60b25a60a575ccfd982e7f3e9674914"}, - {file = "Cython-3.0.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:407840c56385b9c085826fe300213e0e76ba15d1d47daf4b58569078ecb94446"}, - {file = "Cython-3.0.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a036d00caa73550a3a976432ef21c1e3fa12637e1616aab32caded35331ae96"}, - {file = "Cython-3.0.10-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9cc6a0e7e23a96dec3f3c9d39690d4281beabd5297855140d0d30855f950275e"}, - {file = "Cython-3.0.10-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a5e14a8c6a8157d2b0cdc2e8e3444905d20a0e78e19d2a097e89fb8b04b51f6b"}, - {file = "Cython-3.0.10-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f8a2b8fa0fd8358bccb5f3304be563c4750aae175100463d212d5ea0ec74cbe0"}, - {file = "Cython-3.0.10-cp312-cp312-win32.whl", hash = "sha256:2d29e617fd23cf4b83afe8f93f2966566c9f565918ad1e86a4502fe825cc0a79"}, - {file = "Cython-3.0.10-cp312-cp312-win_amd64.whl", hash = "sha256:6c5af936940a38c300977b81598d9c0901158f220a58c177820e17e1774f1cf1"}, - {file = "Cython-3.0.10-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:5f465443917d5c0f69825fca3b52b64c74ac3de0143b1fff6db8ba5b48c9fb4a"}, - {file = "Cython-3.0.10-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fadb84193c25641973666e583df8df4e27c52cdc05ddce7c6f6510d690ba34a"}, - {file = "Cython-3.0.10-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fa9e7786083b6aa61594c16979d621b62e61fcd9c2edd4761641b95c7fb34b2"}, - {file = "Cython-3.0.10-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4780d0f98ce28191c4d841c4358b5d5e79d96520650910cd59904123821c52d"}, - {file = "Cython-3.0.10-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:32fbad02d1189be75eb96456d9c73f5548078e5338d8fa153ecb0115b6ee279f"}, - {file = "Cython-3.0.10-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:90e2f514fc753b55245351305a399463103ec18666150bb1c36779b9862388e9"}, - {file = "Cython-3.0.10-cp36-cp36m-win32.whl", hash = "sha256:a9c976e9ec429539a4367cb4b24d15a1e46b925976f4341143f49f5f161171f5"}, - {file = "Cython-3.0.10-cp36-cp36m-win_amd64.whl", hash = "sha256:a9bb402674788a7f4061aeef8057632ec440123e74ed0fb425308a59afdfa10e"}, - {file = "Cython-3.0.10-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:206e803598010ecc3813db8748ed685f7beeca6c413f982df9f8a505fce56563"}, - {file = "Cython-3.0.10-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15b6d397f4ee5ad54e373589522af37935a32863f1b23fa8c6922adf833e28e2"}, - {file = "Cython-3.0.10-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a181144c2f893ed8e6a994d43d0b96300bc99873f21e3b7334ca26c61c37b680"}, - {file = "Cython-3.0.10-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b74b700d6a793113d03fb54b63bdbadba6365379424bac7c0470605672769260"}, - {file = "Cython-3.0.10-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:076e9fd4e0ca33c5fa00a7479180dbfb62f17fe928e2909f82da814536e96d2b"}, - {file = "Cython-3.0.10-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:269f06e6961e8591d56e30b46e1a51b6ccb42cab04c29fa3b30d3e8723485fb4"}, - {file = "Cython-3.0.10-cp37-cp37m-win32.whl", hash = "sha256:d4e83a8ceff7af60064da4ccfce0ac82372544dd5392f1b350c34f1b04d0fae6"}, - {file = "Cython-3.0.10-cp37-cp37m-win_amd64.whl", hash = "sha256:40fac59c3a7fbcd9c25aea64c342c890a5e2270ce64a1525e840807800167799"}, - {file = "Cython-3.0.10-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f43a58bf2434870d2fc42ac2e9ff8138c9e00c6251468de279d93fa279e9ba3b"}, - {file = "Cython-3.0.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e9a885ec63d3955a08cefc4eec39fefa9fe14989c6e5e2382bd4aeb6bdb9bc3"}, - {file = "Cython-3.0.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acfbe0fff364d54906058fc61f2393f38cd7fa07d344d80923937b87e339adcf"}, - {file = "Cython-3.0.10-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8adcde00a8a88fab27509b558cd8c2959ab0c70c65d3814cfea8c68b83fa6dcd"}, - {file = "Cython-3.0.10-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2c9c1e3e78909488f3b16fabae02308423fa6369ed96ab1e250807d344cfffd7"}, - {file = "Cython-3.0.10-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fc6e0faf5b57523b073f0cdefadcaef3a51235d519a0594865925cadb3aeadf0"}, - {file = "Cython-3.0.10-cp38-cp38-win32.whl", hash = "sha256:35f6ede7c74024ed1982832ae61c9fad7cf60cc3f5b8c6a63bb34e38bc291936"}, - {file = "Cython-3.0.10-cp38-cp38-win_amd64.whl", hash = "sha256:950c0c7b770d2a7cec74fb6f5ccc321d0b51d151f48c075c0d0db635a60ba1b5"}, - {file = "Cython-3.0.10-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:077b61ee789e48700e25d4a16daa4258b8e65167136e457174df400cf9b4feab"}, - {file = "Cython-3.0.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:64f1f8bba9d8f37c0cffc934792b4ac7c42d0891077127c11deebe9fa0a0f7e4"}, - {file = "Cython-3.0.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:651a15a8534ebfb9b58cb0b87c269c70984b6f9c88bfe65e4f635f0e3f07dfcd"}, - {file = "Cython-3.0.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d10fc9aa82e5e53a0b7fd118f9771199cddac8feb4a6d8350b7d4109085aa775"}, - {file = "Cython-3.0.10-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4f610964ab252a83e573a427e28b103e2f1dd3c23bee54f32319f9e73c3c5499"}, - {file = "Cython-3.0.10-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8c9c4c4f3ab8f8c02817b0e16e8fa7b8cc880f76e9b63fe9c010e60c1a6c2b13"}, - {file = "Cython-3.0.10-cp39-cp39-win32.whl", hash = "sha256:0bac3ccdd4e03924028220c62ae3529e17efa8ca7e9df9330de95de02f582b26"}, - {file = "Cython-3.0.10-cp39-cp39-win_amd64.whl", hash = "sha256:81f356c1c8c0885b8435bfc468025f545c5d764aa9c75ab662616dd1193c331e"}, - {file = "Cython-3.0.10-py2.py3-none-any.whl", hash = "sha256:fcbb679c0b43514d591577fd0d20021c55c240ca9ccafbdb82d3fb95e5edfee2"}, - {file = "Cython-3.0.10.tar.gz", hash = "sha256:dcc96739331fb854dcf503f94607576cfe8488066c61ca50dfd55836f132de99"}, -] - [[package]] name = "docutils" version = "0.21.2" description = "Docutils -- Python Documentation Utilities" -optional = true +optional = false python-versions = ">=3.9" files = [ {file = "docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2"}, @@ -367,34 +133,30 @@ files = [ ] [[package]] -name = "headless-kivy-pi" -version = "0.8.1" +name = "headless-kivy" +version = "0.9.1" description = "Headless renderer for Kivy framework" -optional = true +optional = false python-versions = "<4.0,>=3.11" files = [ - {file = "headless_kivy_pi-0.8.1-py3-none-any.whl", hash = "sha256:201fdc2ed399214c9ba55be1631e0c2fe17601d98b5ef241381127ecfc05ffc7"}, - {file = "headless_kivy_pi-0.8.1.tar.gz", hash = "sha256:f847f4380342aca96411eac833f221f111928752d7bdf1f8b387a3df499737f4"}, + {file = "headless_kivy-0.9.1-py3-none-any.whl", hash = "sha256:fe24c33d772c70abf09864679ee812d4587797400d3ba292d2e7ea2bd00cdebe"}, + {file = "headless_kivy-0.9.1.tar.gz", hash = "sha256:1c9a3b07b708589c4ece6d71e463a59884a77601e969d3659e7a595e4392bb0f"}, ] [package.dependencies] -adafruit-circuitpython-aw9523 = {version = ">=1.1.7,<2.0.0", markers = "platform_machine == \"aarch64\""} -adafruit-circuitpython-rgb-display = {version = ">=3.11.0,<4.0.0", markers = "platform_machine == \"aarch64\""} kivy = ">=2.2.1,<3.0.0" numpy = ">=1.24.2,<2.0.0" -poethepoet = {version = ">=0.24.2,<0.25.0", optional = true, markers = "extra == \"dev\""} python-strtobool = ">=1.0.0,<2.0.0" -screeninfo = {version = ">=0.8.1,<0.9.0", optional = true, markers = "extra == \"dev\""} typing-extensions = ">=4.8.0,<5.0.0" [package.extras] -dev = ["poethepoet (>=0.24.2,<0.25.0)", "screeninfo (>=0.8.1,<0.9.0)"] +test = ["pypng (>=0.20220715.0,<0.20220716.0)"] [[package]] name = "idna" version = "3.7" description = "Internationalized Domain Names in Applications (IDNA)" -optional = true +optional = false python-versions = ">=3.5" files = [ {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, @@ -405,7 +167,7 @@ files = [ name = "kivy" version = "2.3.0" description = "An open-source Python framework for developing GUI apps that work cross-platform, including desktop, mobile and embedded platforms." -optional = true +optional = false python-versions = ">=3.7" files = [ {file = "Kivy-2.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:fcd8fdc742ae10d27e578df2052b4c3e99a754e91baad77d1f2e4f4d1238917f"}, @@ -465,7 +227,7 @@ tuio = ["oscpy"] name = "kivy-deps-angle" version = "0.4.0" description = "Repackaged binary dependency of Kivy." -optional = true +optional = false python-versions = "*" files = [ {file = "kivy_deps.angle-0.4.0-cp310-cp310-win32.whl", hash = "sha256:7873a551e488afa5044c4949a4aa42c4a4c4290469f0a6dd861e6b95283c9638"}, @@ -486,7 +248,7 @@ files = [ name = "kivy-deps-glew" version = "0.3.1" description = "Repackaged binary dependency of Kivy." -optional = true +optional = false python-versions = "*" files = [ {file = "kivy_deps.glew-0.3.1-cp310-cp310-win32.whl", hash = "sha256:8f4b3ed15acb62474909b6d41661ffb4da9eb502bb5684301fb2da668f288a58"}, @@ -507,7 +269,7 @@ files = [ name = "kivy-deps-sdl2" version = "0.7.0" description = "Repackaged binary dependency of Kivy." -optional = true +optional = false python-versions = "*" files = [ {file = "kivy_deps.sdl2-0.7.0-cp310-cp310-win32.whl", hash = "sha256:3c4b2bf1e473e6124563e1ff58cf3475c4f19fe9248940872c9e3c248bac3cb4"}, @@ -528,7 +290,7 @@ files = [ name = "kivy-garden" version = "0.1.5" description = "" -optional = true +optional = false python-versions = "*" files = [ {file = "Kivy Garden-0.1.5.tar.gz", hash = "sha256:2b8377378e87501d5d271f33d94f0e44c089884572c64f89c9d609b1f86a2748"}, @@ -553,7 +315,7 @@ files = [ name = "numpy" version = "1.26.4" description = "Fundamental package for array computing in Python" -optional = true +optional = false python-versions = ">=3.9" files = [ {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"}, @@ -623,26 +385,11 @@ tomli = ">=1.2.2" [package.extras] poetry-plugin = ["poetry (>=1.0,<2.0)"] -[[package]] -name = "pyftdi" -version = "0.55.4" -description = "FTDI device driver (pure Python)" -optional = true -python-versions = ">=3.8" -files = [ - {file = "pyftdi-0.55.4-py3-none-any.whl", hash = "sha256:64a804ea1c652e6935897df7867dbba18910848cad0a4927ccdb06813c072c85"}, - {file = "pyftdi-0.55.4.tar.gz", hash = "sha256:cb2770b606507024a65e0a520bf892f239a36cec25cab45338ce3e3027de53c8"}, -] - -[package.dependencies] -pyserial = ">=3.0" -pyusb = ">=1.0.0,<1.2.0 || >1.2.0" - [[package]] name = "pygments" version = "2.18.0" description = "Pygments is a syntax highlighting package written in Python." -optional = true +optional = false python-versions = ">=3.8" files = [ {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, @@ -652,48 +399,11 @@ files = [ [package.extras] windows-terminal = ["colorama (>=0.4.6)"] -[[package]] -name = "pyobjc-core" -version = "10.3.1" -description = "Python<->ObjC Interoperability Module" -optional = true -python-versions = ">=3.8" -files = [ - {file = "pyobjc_core-10.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ea46d2cda17921e417085ac6286d43ae448113158afcf39e0abe484c58fb3d78"}, - {file = "pyobjc_core-10.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:899d3c84d2933d292c808f385dc881a140cf08632907845043a333a9d7c899f9"}, - {file = "pyobjc_core-10.3.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:6ff5823d13d0a534cdc17fa4ad47cf5bee4846ce0fd27fc40012e12b46db571b"}, - {file = "pyobjc_core-10.3.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2581e8e68885bcb0e11ec619e81ef28e08ee3fac4de20d8cc83bc5af5bcf4a90"}, - {file = "pyobjc_core-10.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ea98d4c2ec39ca29e62e0327db21418696161fb138ee6278daf2acbedf7ce504"}, - {file = "pyobjc_core-10.3.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:4c179c26ee2123d0aabffb9dbc60324b62b6f8614fb2c2328b09386ef59ef6d8"}, - {file = "pyobjc_core-10.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:cb901fce65c9be420c40d8a6ee6fff5ff27c6945f44fd7191989b982baa66dea"}, - {file = "pyobjc_core-10.3.1.tar.gz", hash = "sha256:b204a80ccc070f9ab3f8af423a3a25a6fd787e228508d00c4c30f8ac538ba720"}, -] - -[[package]] -name = "pyobjc-framework-cocoa" -version = "10.3.1" -description = "Wrappers for the Cocoa frameworks on macOS" -optional = true -python-versions = ">=3.8" -files = [ - {file = "pyobjc_framework_Cocoa-10.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4cb4f8491ab4d9b59f5187e42383f819f7a46306a4fa25b84f126776305291d1"}, - {file = "pyobjc_framework_Cocoa-10.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5f31021f4f8fdf873b57a97ee1f3c1620dbe285e0b4eaed73dd0005eb72fd773"}, - {file = "pyobjc_framework_Cocoa-10.3.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:11b4e0bad4bbb44a4edda128612f03cdeab38644bbf174de0c13129715497296"}, - {file = "pyobjc_framework_Cocoa-10.3.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:de5e62e5ccf2871a94acf3bf79646b20ea893cc9db78afa8d1fe1b0d0f7cbdb0"}, - {file = "pyobjc_framework_Cocoa-10.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c5af24610ab639bd1f521ce4500484b40787f898f691b7a23da3339e6bc8b90"}, - {file = "pyobjc_framework_Cocoa-10.3.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:a7151186bb7805deea434fae9a4423335e6371d105f29e73cc2036c6779a9dbc"}, - {file = "pyobjc_framework_Cocoa-10.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:743d2a1ac08027fd09eab65814c79002a1d0421d7c0074ffd1217b6560889744"}, - {file = "pyobjc_framework_cocoa-10.3.1.tar.gz", hash = "sha256:1cf20714daaa986b488fb62d69713049f635c9d41a60c8da97d835710445281a"}, -] - -[package.dependencies] -pyobjc-core = ">=10.3.1" - [[package]] name = "pypiwin32" version = "223" description = "" -optional = true +optional = false python-versions = "*" files = [ {file = "pypiwin32-223-py3-none-any.whl", hash = "sha256:67adf399debc1d5d14dffc1ab5acacb800da569754fafdc576b2a039485aa775"}, @@ -716,13 +426,13 @@ files = [ [[package]] name = "pyright" -version = "1.1.369" +version = "1.1.370" description = "Command line wrapper for pyright" optional = false python-versions = ">=3.7" files = [ - {file = "pyright-1.1.369-py3-none-any.whl", hash = "sha256:06d5167a8d7be62523ced0265c5d2f1e022e110caf57a25d92f50fb2d07bcda0"}, - {file = "pyright-1.1.369.tar.gz", hash = "sha256:ad290710072d021e213b98cc7a2f90ae3a48609ef5b978f749346d1a47eb9af8"}, + {file = "pyright-1.1.370-py3-none-any.whl", hash = "sha256:fc721601e480a69989775bfc210534a6ca0110ebd0c065244a8d3a151294fc61"}, + {file = "pyright-1.1.370.tar.gz", hash = "sha256:d0d559d506fc41e3297f721aaa05a1b9f06beda5acc9ac64ca371ce94c28f960"}, ] [package.dependencies] @@ -732,20 +442,6 @@ nodeenv = ">=1.6.0" all = ["twine (>=3.4.1)"] dev = ["twine (>=3.4.1)"] -[[package]] -name = "pyserial" -version = "3.5" -description = "Python Serial Port Extension" -optional = true -python-versions = "*" -files = [ - {file = "pyserial-3.5-py2.py3-none-any.whl", hash = "sha256:c4451db6ba391ca6ca299fb3ec7bae67a5c55dde170964c7a14ceefec02f2cf0"}, - {file = "pyserial-3.5.tar.gz", hash = "sha256:3c77e014170dfffbd816e6ffc205e9842efb10be9f58ec16d3e8675b4925cddb"}, -] - -[package.extras] -cp2110 = ["hidapi"] - [[package]] name = "python-immutable" version = "1.1.1" @@ -764,29 +460,18 @@ typing-extensions = ">=4.10.0,<5.0.0" name = "python-strtobool" version = "1.0.2" description = "str_to_bool function for Python" -optional = true +optional = false python-versions = "<4.0,>=3.9" files = [ {file = "python_strtobool-1.0.2-py3-none-any.whl", hash = "sha256:107d93760078a7b7eee91b455077fd6123fd94e6474815dfe306854cdfa47d70"}, {file = "python_strtobool-1.0.2.tar.gz", hash = "sha256:0c72ed5391e2aeef11bcbe754b96ed8770066000ea7ef0c2d33555c4538c6139"}, ] -[[package]] -name = "pyusb" -version = "1.2.1" -description = "Python USB access module" -optional = true -python-versions = ">=3.6.0" -files = [ - {file = "pyusb-1.2.1-py3-none-any.whl", hash = "sha256:2b4c7cb86dbadf044dfb9d3a4ff69fd217013dbe78a792177a3feb172449ea36"}, - {file = "pyusb-1.2.1.tar.gz", hash = "sha256:a4cc7404a203144754164b8b40994e2849fde1cfff06b08492f12fff9d9de7b9"}, -] - [[package]] name = "pywin32" version = "306" description = "Python for Window Extensions" -optional = true +optional = false python-versions = "*" files = [ {file = "pywin32-306-cp310-cp310-win32.whl", hash = "sha256:06d3420a5155ba65f0b72f2699b5bacf3109f36acbe8923765c22938a69dfc8d"}, @@ -832,7 +517,7 @@ test = ["coverage", "pytest"] name = "requests" version = "2.32.3" description = "Python HTTP for Humans." -optional = true +optional = false python-versions = ">=3.8" files = [ {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, @@ -875,35 +560,6 @@ files = [ {file = "ruff-0.4.10.tar.gz", hash = "sha256:3aa4f2bc388a30d346c56524f7cacca85945ba124945fe489952aadb6b5cd804"}, ] -[[package]] -name = "screeninfo" -version = "0.8.1" -description = "Fetch location and size of physical screens." -optional = true -python-versions = ">=3.6.2,<4.0.0" -files = [ - {file = "screeninfo-0.8.1-py3-none-any.whl", hash = "sha256:e97d6b173856edcfa3bd282f81deb528188aff14b11ec3e195584e7641be733c"}, - {file = "screeninfo-0.8.1.tar.gz", hash = "sha256:9983076bcc7e34402a1a9e4d7dabf3729411fd2abb3f3b4be7eba73519cd2ed1"}, -] - -[package.dependencies] -Cython = {version = "*", markers = "sys_platform == \"darwin\""} -pyobjc-framework-Cocoa = {version = "*", markers = "sys_platform == \"darwin\""} - -[[package]] -name = "sysv-ipc" -version = "1.1.0" -description = "System V IPC primitives (semaphores, shared memory and message queues) for Python" -optional = true -python-versions = "*" -files = [ - {file = "sysv_ipc-1.1.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:ff6e3c98d8aa3e1ae5378d86869c4699c76f94318705d08085c97fb010770a31"}, - {file = "sysv_ipc-1.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:30611dccecd8fa0dc9f83d4d465e5047692df0ec9a095abef8b90ccc64afbdaf"}, - {file = "sysv_ipc-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4bbbe4e5ad5ab859e6d21fc8ff3e3b01082b959fa5c2cd76289dbcd56350c5f9"}, - {file = "sysv_ipc-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:61190b934b0277f7a189092dcabceee8d9736fd73de90fd9b50ea69f0bac4723"}, - {file = "sysv_ipc-1.1.0.tar.gz", hash = "sha256:0f063cbd36ec232032e425769ebc871f195a7d183b9af32f9901589ea7129ac3"}, -] - [[package]] name = "tomli" version = "2.0.1" @@ -930,7 +586,7 @@ files = [ name = "urllib3" version = "2.2.2" description = "HTTP library with thread-safe connection pooling, file post, and more." -optional = true +optional = false python-versions = ">=3.8" files = [ {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, @@ -943,11 +599,7 @@ h2 = ["h2 (>=4,<5)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] -[extras] -default = ["headless-kivy-pi", "headless-kivy-pi"] -dev = ["headless-kivy-pi", "headless-kivy-pi"] - [metadata] lock-version = "2.0" python-versions = "^3.11" -content-hash = "59cbcd779960dca13a85b649cf69d3d65c70729546c788ad3e6f2bde5f77676d" +content-hash = "2054f13f334e295c0363dc768673f29f88af67b442047631eef8bd8076eacb54" diff --git a/pyproject.toml b/pyproject.toml index d05f291..c38d82b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "ubo-gui" -version = "0.11.15" +version = "0.11.16" description = "GUI sdk for Ubo Pod" authors = ["Sassan Haradji "] license = "Apache-2.0" @@ -9,15 +9,8 @@ packages = [{ include = "ubo_gui" }] include = ['ubo_gui/assets/fonts/*'] [tool.poetry.dependencies] +headless-kivy = "^0.9.0" python = "^3.11" -headless-kivy-pi = [ - { version = "^0.8.1", markers = "extra=='default'", extras = [ - 'default', - ] }, - { version = "^0.8.1", markers = "extra=='dev'", extras = [ - 'dev', - ] }, -] python-immutable = "^1.0.2" qrcode = "^7.4.2" @@ -29,10 +22,6 @@ poethepoet = "^0.24.4" pyright = "^1.1.366" ruff = "^0.4.8" -[tool.poetry.extras] -dev = ['headless-kivy-pi'] -default = ['headless-kivy-pi'] - [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" diff --git a/ubo_gui/app/__init__.py b/ubo_gui/app/__init__.py index 66be3f2..c2140d5 100644 --- a/ubo_gui/app/__init__.py +++ b/ubo_gui/app/__init__.py @@ -6,7 +6,7 @@ from functools import cached_property from typing import TYPE_CHECKING, cast -from headless_kivy_pi import HeadlessWidget +from headless_kivy import HeadlessWidget from kivy.app import App from kivy.core.text import DEFAULT_FONT, LabelBase from kivy.lang.builder import Builder diff --git a/ubo_gui/menu/__init__.py b/ubo_gui/menu/__init__.py index c05e3f7..b1f373a 100644 --- a/ubo_gui/menu/__init__.py +++ b/ubo_gui/menu/__init__.py @@ -16,7 +16,7 @@ from dataclasses import dataclass, field from typing import TYPE_CHECKING, Callable, Self, Sequence, cast, overload -from headless_kivy_pi import HeadlessWidget +from headless_kivy import HeadlessWidget from kivy.lang.builder import Builder from kivy.properties import ( AliasProperty, @@ -638,6 +638,9 @@ def _replace( application=item, parent=self.top.parent, ) + else: + msg = f'Unsupported type: {type(item)}' + raise TypeError(msg) self.stack[item_index] = new_item self.top.subscriptions = subscriptions self._switch_to( @@ -683,6 +686,9 @@ def _push( # noqa: PLR0913 new_top = StackMenuItem(menu=item, page_index=0, parent=parent) elif isinstance(item, PageWidget): new_top = StackApplicationItem(application=item, parent=parent) + else: + msg = f'Unsupported type: {type(item)}' + raise TypeError(msg) self.stack = [*self.stack, new_top] self._switch_to( diff --git a/ubo_gui/menu/transitions.py b/ubo_gui/menu/transitions.py index 8f574eb..4c55453 100644 --- a/ubo_gui/menu/transitions.py +++ b/ubo_gui/menu/transitions.py @@ -6,7 +6,7 @@ from functools import cached_property from typing import Any, NotRequired, TypedDict -from headless_kivy_pi import HeadlessWidget +from headless_kivy import HeadlessWidget from kivy.clock import mainthread from kivy.uix.screenmanager import ( NoTransition,