SteamDeckHomebrew / decky-loader

A plugin loader for the Steam Deck.
https://decky.xyz
GNU General Public License v2.0
4.26k stars 154 forks source link

Add static typing to Python & add type checking CI #546

Closed AAGaming00 closed 8 months ago

AAGaming00 commented 9 months ago

Please tick as appropriate:

Description

This adds static types to all of the backend Python code, along with CI to verify that no new type errors are created in commits and PRs.

The CI also checks TypeScript types, so some of the frontend code was edited to make strict type checking work correctly.

Additionally, the Python backend was modified to use module imports instead of name imports, to prevent module collisions. Because of this, we now need a main.py in the repo root to serve as the non-module pyinstaller entrypoint.

Due to the scope of this PR, I'd like to make sure everything is tested and working before it's merged. In the future, this should make loader PR review much easier.

AAGaming00 commented 8 months ago

merged manually in a766979