diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 36ff0ae49..a54b28d79 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -115,7 +115,9 @@ jobs: # Install libdiscid (dependency of discid python package). brew install libdiscid # Install lsl library for pylsl - brew install labstreaminglayer/tap/lsl + # TODO: switch back to labstreaminglayer/tap/lsl once labstreaminglayer/homebrew-tap#1 is merged + #brew install labstreaminglayer/tap/lsl + brew install rokm/labstreaminglayer-tap/lsl # This one is required by eccodes (binary wheels with bundled eccodes # library are provided only for macOS 13+). brew install eccodes diff --git a/_pyinstaller_hooks_contrib/stdhooks/hook-toga.py b/_pyinstaller_hooks_contrib/stdhooks/hook-toga.py index f37e0f419..be8048874 100644 --- a/_pyinstaller_hooks_contrib/stdhooks/hook-toga.py +++ b/_pyinstaller_hooks_contrib/stdhooks/hook-toga.py @@ -11,7 +11,7 @@ # ------------------------------------------------------------------ from PyInstaller import compat -from PyInstaller.utils.hooks import collect_submodules, copy_metadata, is_module_satisfies +from PyInstaller.utils.hooks import collect_data_files, collect_submodules, copy_metadata, is_module_satisfies hiddenimports = [] @@ -38,3 +38,7 @@ # submodules via `collect_submodules`... if is_module_satisfies("toga >= 0.5.0"): hiddenimports += collect_submodules("toga") + +# Starting with `toga` 0.5.2, we need to collect .pyi files. +if is_module_satisfies("toga >= 0.5.2"): + datas += collect_data_files("toga") diff --git a/news/923.update.rst b/news/923.update.rst new file mode 100644 index 000000000..13a3ede74 --- /dev/null +++ b/news/923.update.rst @@ -0,0 +1,2 @@ +Update ``toga`` hook for compatibility with ``toga`` 0.5.2: ensure that +``toga/__init__.pyi`` file is collected. diff --git a/requirements-test-libraries.txt b/requirements-test-libraries.txt index 5884012ea..263550690 100644 --- a/requirements-test-libraries.txt +++ b/requirements-test-libraries.txt @@ -8,8 +8,8 @@ backports.zoneinfo==0.2.1; python_version < "3.9" black==25.1.0; python_version >= "3.9" bokeh==3.7.3; python_version >= "3.10" boto==2.49.0 -boto3==1.39.3; python_version >= "3.9" -botocore==1.39.3; python_version >= "3.9" +boto3==1.39.4; python_version >= "3.9" +botocore==1.39.4; python_version >= "3.9" branca==0.8.1 cairocffi==1.7.1 # On macOS, CairoSVG requires cairo installed via Homebrew; on arm64, the Homebrew is @@ -44,7 +44,7 @@ folium==0.20.0; python_version >= "3.9" frictionless==5.18.1 ffpyplayer==4.5.3; python_version >= "3.9" geopandas==1.1.1; sys_platform != "win32" and python_version >= "3.10" -google-api-python-client==2.175.0 +google-api-python-client==2.176.0 grapheme==0.6.0 graphql-query==1.4.0 python-gitlab==6.1.0; python_version >= "3.9" @@ -54,7 +54,7 @@ iminuit==2.31.1; python_version >= "3.9" iso639-lang==2.6.1; python_version >= "3.9" kaleido==0.4.2; python_version >= "3.9" langdetect==1.0.9 -mariadb==1.1.12; sys_platform != "darwin" and python_version >= "3.9" +mariadb==1.1.13; sys_platform != "darwin" and python_version >= "3.9" markdown==3.8.2; python_version >= "3.9" # MetPy is no longer runable with PyInstaller since matplotlib made pillow a dependency. See #395. # MetPy==1.2.0 @@ -70,8 +70,8 @@ numcodecs==0.16.1; python_version >= "3.11" Office365-REST-Python-Client==2.6.2 openpyxl==3.1.5 pandas==2.3.1; python_version >= "3.9" -panel==1.7.2; python_version >= "3.10" -pandera==0.24.0; python_version >= "3.9" +panel==1.7.4; python_version >= "3.10" +pandera==0.25.0; python_version >= "3.9" passlib==1.7.4 pendulum==3.1.0; python_version >= "3.9" phonenumbers==9.0.9 @@ -99,7 +99,7 @@ pyvjoy==1.0.1; sys_platform == "win32" pynng==0.8.1 pynput==1.8.1 # pymssql provides only x86_64 macOS wheels for python 3.9 and 3.10. But at the time of writing (v2.3.2), the universal2 wheels are broken on arm64 macOS as well. -pymssql==2.3.6; python_version >= "3.9" and (sys_platform != "darwin" or platform_machine != "arm64") +pymssql==2.3.7; python_version >= "3.9" and (sys_platform != "darwin" or platform_machine != "arm64") pystray==0.19.5 pythonnet==3.0.5 pytz==2025.2 @@ -180,14 +180,14 @@ python-stdnum==2.1 sounddevice==0.5.2; sys_platform != "linux" soundfile==0.13.1; sys_platform != "linux" limits==5.4.0; python_version >= "3.10" -great-expectations==1.4.3; python_version >= "3.9" and python_version < "3.13" +great-expectations==1.5.5; python_version >= "3.9" and python_version < "3.13" # Starting with tensorflow 2.17.0, macOS wheels are provided only for arm64 (x86_64 is deprecated). tensorflow==2.19.0; python_version >= "3.9" and python_version < "3.13" and (sys_platform != "darwin" or platform_machine == "arm64") # pyshark depends on lxml which doesn't support Python 3.8 on macOS arm64 pyshark==0.6; python_version >= "3.9" or (sys_platform != "darwin" or platform_machine != "arm64") opencv-python==4.12.0.88 hydra-core==1.3.2 -spiceypy==6.0.1; python_version >= "3.10" +spiceypy==6.0.2; python_version >= "3.10" exchangelib==5.5.1; python_version >= "3.9" NBT==1.5.1 minecraft-launcher-lib==7.1; python_version >= "3.10" @@ -237,10 +237,11 @@ cel-python==0.3.0; python_version >= "3.9" pygwalker==0.4.9.15; python_version < "3.13" eth-hash==0.7.1 apkutils==2.0.2; python_version >= "3.10" -pypylon==4.1.0; python_version >= "3.9" +# macOS wheels for pypylon 4.2.0 require macOS 14+, so it cannot be installed on macos-13 runner (which is x86_64). +pypylon==4.2.0; python_version >= "3.9" and (sys_platform != "darwin" or platform_machine == "arm64") python-pptx==1.0.2 comtypes==1.4.11; sys_platform == "win32" -opentelemetry-sdk==1.34.1; python_version >= "3.9" +opentelemetry-sdk==1.35.0; python_version >= "3.9" xarray==2025.7.0; python_version >= "3.11" tables==3.10.2; python_version >= "3.11" schwifty==2025.6.0; python_version >= "3.9" @@ -248,7 +249,7 @@ patool==4.0.1; python_version >= "3.10" yapf==0.43.0 xmlschema==4.1.0; python_version >= "3.9" pysaml2==7.5.2; python_version >= "3.9" -toga==0.5.1; python_version >= "3.9" +toga==0.5.2; python_version >= "3.9" numbers-parser==4.15.1; python_version >= "3.9" fsspec==2025.5.1; python_version >= "3.9" zarr==3.0.10; python_version >= "3.11"