Repository navigation
display_driver leaves the wheel: pydevices ships it now - #26
Merged
Merged
Conversation
LVGL's PyDevices coordinator moved to PyDevices/pydevices lib/, beside the appdev, events, keys and multimer it imports, and is in the pydevices wheel. pydevices-lvgl now carries the lvgl extension and fs_driver only, and the sync script and sync-and-release workflow stop fetching display_driver from lvgl-bindings. Release this after a pydevices release that carries display_driver (PyDevices/pydevices#129), and soon after it: an environment that upgrades pydevices first and this wheel later, in two pip runs, loses the file when pip uninstalls the old pydevices-lvgl. The README says how to upgrade both at once and how to put the file back.
This was referenced Oct 7, 2026
bdbarnett
added a commit
to PyDevices/.github
that referenced
this pull request
Oct 7, 2026
…he LVGL sync (#61) It moved to pydevices lib/ (PyDevices/pydevices#129); lvgl-python's sync no longer carries it (PyDevices/lvgl-python#26).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
LVGL's PyDevices coordinator moved to PyDevices/pydevices
lib/(PyDevices/pydevices#129) and is in thepydeviceswheel.pydevices-lvglnow carries thelvglextension andfs_driveronly. The sync script andsync-and-release.ymlstop fetchingpython/display_driver.pyfrom lvgl-bindings.Release order. First a pydevices release carrying the file, then the next
pydevices-lvglrelease without it, soon after. In between, an environment with both wheels has two copies at the same path, and whichever was installed last wins. Neither copy is broken: this wheel's is the older one, without the frame hook.The trap is the later upgrade. If pydevices with the file was installed first, upgrading this wheel in its own pip run deletes
display_driver.py, because pip's uninstall of the oldpydevices-lvglremoves every path in its RECORD. I reproduced this with two toy wheels. Upgrading both in onepip install -U pydevices pydevices-lvglkeeps the file, in either order. The README says so, along with the fix (pip install --force-reinstall --no-deps pydevices). The workspace refresh already force-reinstalls every pin in one run, for the same reason with the oldlvgl-cpythonname.Merge this before PyDevices/lvgl-bindings#25, so a bindings release never runs the old sync script against a ref without the file.
The unittest suite passes (6 tests, run from outside the checkout so the empty
lvgl/submodule dir doesn't shadow the installed extension).bash -non the sync script. The wheel itself wasn't rebuilt here; CI's cibuildwheel run is the check for thepy-moduleschange.