Seen in the live MIP index on 2026-09-03 while building the package list for mip's landing page: pydevices and pydevices-desktop carry the descriptions "PyDevices pydevices" and "PyDevices pydevices-desktop", while every other PyDevices package has a real one from the PROFILES table. The pydevices profile goes through synchronize_pydevices, whose package.json writer falls back to description="PyDevices {name}" (scripts/synchronize_mip_package.py around line 160) because that profile has no per-package description.
Wanted: real descriptions for the two — e.g. pydevices: "Portable display, audio, event, and timing foundations for PyDevices" (its TestPyPI summary); pydevices-desktop: "Complete PyDevices desktop stack and board configuration" — written from the same source pyproject/package metadata so the index and TestPyPI never disagree. Lands in the next publishing tag; the package list on mip shows whatever the index says, so it will pick the fix up on the next pydevices publication.
Seen in the live MIP index on 2026-09-03 while building the package list for mip's landing page:
pydevicesandpydevices-desktopcarry the descriptions"PyDevices pydevices"and"PyDevices pydevices-desktop", while every other PyDevices package has a real one from thePROFILEStable. The pydevices profile goes throughsynchronize_pydevices, whose package.json writer falls back todescription="PyDevices {name}"(scripts/synchronize_mip_package.pyaround line 160) because that profile has no per-package description.Wanted: real descriptions for the two — e.g. pydevices: "Portable display, audio, event, and timing foundations for PyDevices" (its TestPyPI summary); pydevices-desktop: "Complete PyDevices desktop stack and board configuration" — written from the same source pyproject/package metadata so the index and TestPyPI never disagree. Lands in the next publishing tag; the package list on mip shows whatever the index says, so it will pick the fix up on the next pydevices publication.