From 471976b52496a78aabd4e49c21868b1d95a9529d Mon Sep 17 00:00:00 2001 From: Brad Barnett <127794626+bdbarnett@users.noreply.github.com> Date: Wed, 23 Sep 2026 17:23:02 -0500 Subject: [PATCH] Every declaration says 3.11: setup.py, the cibuildwheel build list, and the docs pyproject.toml has required 3.11 since 113cc78 (the org-wide decision of 2026-09-10), but setup.py still said >=3.9 and cibuildwheel still built cp310 wheels whose metadata says they are unsupported. Fixes #21. --- README.md | 2 +- docs/building.md | 4 ++-- docs/publishing.md | 4 ++-- pyproject.toml | 4 ++-- setup.py | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 677a09a..644f327 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ import lvgl as lv ## Install -Prebuilt wheels are published as **`pydevices-lvgl`** on [TestPyPI](https://test.pypi.org/project/pydevices-lvgl/) (import as `lvgl`). CI builds a separate wheel for each CPython minor (3.10–3.14) on Linux x86_64 and Windows x64, **Android** wheels for **3.13–3.14** (`android_21_arm64_v8a`, `android_21_x86_64` per [PEP 738](https://peps.python.org/pep-0738/); cibuildwheel has no `armeabi_v7a` yet), plus a **Pyodide** `pyemscripten_2026_0_wasm32` wheel (`cp314`) — pip/micropip select the tag that matches your interpreter. +Prebuilt wheels are published as **`pydevices-lvgl`** on [TestPyPI](https://test.pypi.org/project/pydevices-lvgl/) (import as `lvgl`). CI builds a separate wheel for each CPython minor (3.11–3.14) on Linux x86_64 and Windows x64, **Android** wheels for **3.13–3.14** (`android_21_arm64_v8a`, `android_21_x86_64` per [PEP 738](https://peps.python.org/pep-0738/); cibuildwheel has no `armeabi_v7a` yet), plus a **Pyodide** `pyemscripten_2026_0_wasm32` wheel (`cp314`) — pip/micropip select the tag that matches your interpreter. **Android (python-for-android / PyDevices):** install the matching wheel from TestPyPI when building an APK, or let the `pydeviceslvgl` p4a recipe fetch it (see [android-template](https://github.com/PyDevices/android-template)): diff --git a/docs/building.md b/docs/building.md index 5fc2ba5..f549e93 100644 --- a/docs/building.md +++ b/docs/building.md @@ -55,7 +55,7 @@ files, and updates the `lvgl` submodule pin. Release flow: **[publishing.md](pub ### All platforms -- Python 3.9+ with `pip` and `setuptools` +- Python 3.11+ with `pip` and `setuptools` - Vendored files above (already in the clone) - `git submodule update --init lvgl` @@ -72,7 +72,7 @@ sudo apt install python3-dev build-essential ### Windows (native or via WSL + `pip.exe`) -- [python.org](https://www.python.org/) CPython (or another MSVC-built Python 3.9+) +- [python.org](https://www.python.org/) CPython (or another MSVC-built Python 3.11+) - **Microsoft C++ Build Tools** with the **Desktop development with C++** workload ([Visual Studio Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/)) - MinGW is **not** supported for python.org Windows Python; use MSVC. diff --git a/docs/publishing.md b/docs/publishing.md index ce7bd94..5691dbb 100644 --- a/docs/publishing.md +++ b/docs/publishing.md @@ -79,8 +79,8 @@ dispatches `mode=release` when its `publish` input is deliberately enabled. The published-release workflow uses the PyDevices reusable native/WASM package builder. The repository's `pyproject.toml` keeps the platform policy: -- CPython 3.10–3.14 Linux x86_64 manylinux wheels. -- CPython 3.10–3.14 Windows AMD64 wheels. +- CPython 3.11–3.14 Linux x86_64 manylinux wheels. +- CPython 3.11–3.14 Windows AMD64 wheels. - CPython 3.13–3.14 Android arm64-v8a and x86_64 wheels. - Pyodide/WebAssembly wheels supplied by the reusable release workflow. diff --git a/pyproject.toml b/pyproject.toml index 8b7cb2e..5a831e2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,10 +17,10 @@ version = {file = "VERSION"} packages = [] py-modules = ["display_driver", "fs_driver"] -# Wheel CI: one wheel per CPython minor (cp310…cp314) × Linux + Windows + Android — see README. +# Wheel CI: one wheel per CPython minor (cp311…cp314) × Linux + Windows + Android — see README. # Local reproduction: docs/publishing.md § "Local wheel builds (cibuildwheel)" (Linux needs Docker). [tool.cibuildwheel] -build = "cp310-* cp311-* cp312-* cp313-* cp314-*" +build = "cp311-* cp312-* cp313-* cp314-*" skip = "*musllinux* *-macosx_* *-win32" test-command = "python -c \"import lvgl as lv; lv.init(); lv.deinit()\"" # cp314: import test passes then segfaults on interpreter shutdown after lv.deinit() diff --git a/setup.py b/setup.py index b923700..fe86cb6 100644 --- a/setup.py +++ b/setup.py @@ -169,6 +169,6 @@ def dirname_fixup(path: str) -> str: description="LVGL bindings for CPython (generated)", ext_modules=[ext], py_modules=["display_driver", "fs_driver"], - python_requires=">=3.9", + python_requires=">=3.11", cmdclass={"build_ext": Win32LinkRspBuildExt}, )