diff --git a/.github/workflows/simple-program-linux.yml b/.github/workflows/simple-program-linux.yml index 6dad8933..53525007 100644 --- a/.github/workflows/simple-program-linux.yml +++ b/.github/workflows/simple-program-linux.yml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/simple-program-macos.yml b/.github/workflows/simple-program-macos.yml index aee2c15c..ddb2bbff 100644 --- a/.github/workflows/simple-program-macos.yml +++ b/.github/workflows/simple-program-macos.yml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/system-monitor-linux.yml b/.github/workflows/system-monitor-linux.yml index 379c1a18..5a9ea36c 100644 --- a/.github/workflows/system-monitor-linux.yml +++ b/.github/workflows/system-monitor-linux.yml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] theme: [ "3.5inchTheme2" ] steps: diff --git a/.github/workflows/system-monitor-macos.yml b/.github/workflows/system-monitor-macos.yml index f77330fe..1fd50e54 100644 --- a/.github/workflows/system-monitor-macos.yml +++ b/.github/workflows/system-monitor-macos.yml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] theme: [ "3.5inchTheme2" ] steps: diff --git a/.github/workflows/themes-screenshot-on-pr.yml b/.github/workflows/themes-screenshot-on-pr.yml index 615590aa..5e412509 100644 --- a/.github/workflows/themes-screenshot-on-pr.yml +++ b/.github/workflows/themes-screenshot-on-pr.yml @@ -13,7 +13,7 @@ jobs: - name: Set up Python 3.x uses: actions/setup-python@v6 with: - python-version: "3.13" + python-version: "3.14" - name: Install dependencies run: | diff --git a/.github/workflows/themes-screenshot-on-push.yml b/.github/workflows/themes-screenshot-on-push.yml index 0b2ac057..93adc51b 100644 --- a/.github/workflows/themes-screenshot-on-push.yml +++ b/.github/workflows/themes-screenshot-on-push.yml @@ -25,7 +25,7 @@ jobs: - name: Set up Python 3.x uses: actions/setup-python@v6 with: - python-version: "3.13" + python-version: "3.14" - name: Install dependencies run: | diff --git a/README.md b/README.md index f8f3c0c1..fce4c5c4 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ This project is an open-source alternative software, NOT the original software p * for other smart screens, contact your reseller --- -![Linux](https://img.shields.io/badge/Linux-FCC624?style=for-the-badge&logo=linux&logoColor=black) ![Windows](https://img.shields.io/badge/Windows-0078D6?style=for-the-badge&logoColor=white&logo=data:image/svg%2bxml;base64,PHN2ZyByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+V2luZG93czwvdGl0bGU+PHBhdGggZmlsbCA9ICIjRkZGRkZGIiBkPSJNMCwwSDExLjM3N1YxMS4zNzJIMFpNMTIuNjIzLDBIMjRWMTEuMzcySDEyLjYyM1pNMCwxMi42MjNIMTEuMzc3VjI0SDBabTEyLjYyMywwSDI0VjI0SDEyLjYyMyIvPjwvc3ZnPg==) [![macOS](https://img.shields.io/badge/mac%20os%20(⚠️major%20bug)-000000?style=for-the-badge&logo=apple&logoColor=white)](https://github.com/mathoudebine/turing-smart-screen-python/issues/7) ![Raspberry Pi](https://img.shields.io/badge/Raspberry%20Pi-A22846?style=for-the-badge&logo=Raspberry%20Pi&logoColor=white) ![Python](https://img.shields.io/badge/Python-3.9/3.13-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54) [![Licence](https://img.shields.io/github/license/mathoudebine/turing-smart-screen-python?style=for-the-badge)](./LICENSE) +![Linux](https://img.shields.io/badge/Linux-FCC624?style=for-the-badge&logo=linux&logoColor=black) ![Windows](https://img.shields.io/badge/Windows-0078D6?style=for-the-badge&logoColor=white&logo=data:image/svg%2bxml;base64,PHN2ZyByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+V2luZG93czwvdGl0bGU+PHBhdGggZmlsbCA9ICIjRkZGRkZGIiBkPSJNMCwwSDExLjM3N1YxMS4zNzJIMFpNMTIuNjIzLDBIMjRWMTEuMzcySDEyLjYyM1pNMCwxMi42MjNIMTEuMzc3VjI0SDBabTEyLjYyMywwSDI0VjI0SDEyLjYyMyIvPjwvc3ZnPg==) [![macOS](https://img.shields.io/badge/mac%20os%20(⚠️major%20bug)-000000?style=for-the-badge&logo=apple&logoColor=white)](https://github.com/mathoudebine/turing-smart-screen-python/issues/7) ![Raspberry Pi](https://img.shields.io/badge/Raspberry%20Pi-A22846?style=for-the-badge&logo=Raspberry%20Pi&logoColor=white) ![Python](https://img.shields.io/badge/Python-3.X-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54) [![Licence](https://img.shields.io/github/license/mathoudebine/turing-smart-screen-python?style=for-the-badge)](./LICENSE) A Python system monitor program and an abstraction library for **small IPS USB-C (UART) displays.** diff --git a/library/pythoncheck.py b/library/pythoncheck.py index 79b36701..ab51ab74 100644 --- a/library/pythoncheck.py +++ b/library/pythoncheck.py @@ -24,15 +24,19 @@ # Oldest / newest version supported MIN_PYTHON = (3, 9) -MAX_PYTHON = (3, 13) +MAX_PYTHON = (3, 14) +# For Windows: max Python 3.13 until PythonNet support for 3.14 +MAX_PYTHON_WINDOWS = (3, 13) def check_python_version(): current_version = sys.version_info[:2] + platform = sys.platform - if current_version < MIN_PYTHON or current_version > MAX_PYTHON: + if current_version < MIN_PYTHON or (platform == "win32" and current_version > MAX_PYTHON_WINDOWS) or ( + platform != "win32" and current_version > MAX_PYTHON): print(f"[ERROR] Python {current_version[0]}.{current_version[1]} is not supported by this program. " - f"Python {MIN_PYTHON[0]}.{MIN_PYTHON[1]}-{MAX_PYTHON[0]}.{MAX_PYTHON[1]} required.") + f"Python {MIN_PYTHON[0]}.{MIN_PYTHON[1]}-{MAX_PYTHON[0]}.{MAX_PYTHON[1]} required on platform {platform}.") try: sys.exit(0) except: