Skip to content

midiports: pip install pydevices-desktop brings midiports and adafruit_midi - #453

Merged
bdbarnett merged 3 commits into
mainfrom
laneA-install-midiports
Nov 8, 2026
Merged

bdbarnett merged 3 commits into
mainfrom
laneA-install-midiports

Conversation

@bdbarnett

@bdbarnett bdbarnett commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #445.

pip install pydevices-desktop will include midiports and adafruit_midi, so MIDI code runs on a desktop or a Raspberry Pi without mip or a copied folder. I picked the desktop package over the pydevices wheel because midiports is only useful with a host's own ports there, and I bundled adafruit_midi at the tag mip already pins (1.6.0, fetched when the wheel is built) instead of depending on adafruit-circuitpython-midi, which pulls in Blinka that a desktop doesn't need. mip-split.toml marks the package pypi-desktop = true; the package README says the pip route.

Don't merge before PyDevices/.github#106 is tagged and the workflows here point at that tag: the current release tooling rejects the new key.

What I ran: test_mip_split.py and test_libbuild.py pass, libbuild check is clean. With the tooling change from #106 I built both wheels from this tree and installed pydevices-desktop in a clean Python 3.14 venv: import midiports, from midiports import linux and adafruit_midi.note_on.NoteOn(60, 100) work, and no Blinka was installed. On 0.8.0.dev3 from TestPyPI import midiports fails, as reported. I did not run it against a USB MIDI device on a Pi.

…t_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.
@bdbarnett
bdbarnett merged commit be91f75 into main Nov 8, 2026
4 checks passed
@bdbarnett
bdbarnett deleted the laneA-install-midiports branch November 8, 2026 05:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

pip install doesn't include midiports or adafruit_midi

1 participant