Repository navigation
MIP and PyPI publishing: medialink, sayso and midiports reach users - #106
Merged
Merged
Conversation
The MIP sync stopped at 'no shared description for own-package medialink', so the index never gained medialink, and it listed no sayso among the applibs. It also looked for top-level packages at the repository root, where midiports and the usb-* packages no longer live (packages/ now). It now describes medialink, adds sayso, and finds packages under packages/ and packages/usb/. pydevices-desktop on PyPI can also carry a top-level package: a section marked pypi-desktop = true in mip-split.toml has the files its package.json lists copied in, pinned upstream URLs fetched (adafruit_midi, for midiports). Ran: the unit tests; the MIP sync for pydevices and applibs into a copy of the index repository, built its index, and mip-installed medialink, sayso and midiports from it on the unix port; built both wheels and installed pydevices-desktop in a clean venv.
bdbarnett
added a commit
to PyDevices/pydevices
that referenced
this pull request
Nov 8, 2026
…t_midi (#453) * midiports: pip install pydevices-desktop brings midiports and adafruit_midi On CPython the only way to get midiports was mip or a hand-copied folder, and adafruit_midi came from Adafruit's own package, which pulls in Blinka. midiports is marked pypi-desktop in mip-split.toml, so the release builds pydevices-desktop with the files packages/midiports/package.json lists: midiports, and adafruit_midi at the same pinned tag mip uses. Needs the release tooling that reads the key (PyDevices/.github#106). Ran: tests/test_mip_split.py, test_libbuild.py, libbuild check; installed the wheel built from this tree in a clean venv and imported midiports and adafruit_midi. * midiports: leave the stack page row to land with its data
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.
Refs PyDevices/pydevices#381 and PyDevices/pydevices#445.
The v0.7.9 MIP publication died at
no shared description for own-package 'medialink', so the index still holds v0.7.8 and has nomedialink. The applibs profile never listedsayso, so it was missing too. Separately, the sync looked formidiportsand theusb-*packages at the repository root, where they no longer are (packages/,packages/usb/), so the next publication would have stopped there. This PR gives medialink its description, adds sayso to applibs, and finds top-level packages in all three places.It also lets a top-level package ride inside
pydevices-desktopon PyPI: a section inmip-split.tomlmarkedpypi-desktop = truehas the files itspackage.jsonlists copied into the wheel, with any pinned upstream URL fetched, sopip install pydevices-desktopcan shipmidiportstogether withadafruit_midiat the tag mip uses (and without Adafruit's Blinka). Both scripts accept the new key.What I ran: the unit tests (131 pass) and ruff. I ran the MIP sync for pydevices and applibs into a copy of the index repository, built its index, served it, and
mip.installofmedialink,saysoandmidiportsworked on the unix port, andimport medialink, saysoran. I built both wheels with the script against the pydevices change that sets the key, and in a clean venvpip install pydevices-desktopgave workingimport midiports,adafruit_midiand, with the Pillow requirement,jpegioandpngio. Nothing is live until a newpublishing-vNtag is cut and the pydevices workflows point at it; I did not tag.