I've spent the past few hours trying to find a definitive answer, but all I have come across is a bunch of inconclusive, or conflicting, or seemingly-incompatible-with-python information.
output = io.BytesIO()
image.save(output, "BMP")
data = output.getvalue()[14:]
output.close()
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardData(win32clipboard.CF_DIB, data)
win32clipboard.CloseClipboard()
The above method I found lets me paste the image into the application Discord for instance, but causes the transparency to be lost as I expected. Yet replacing any of the information passed in to those methods gets me invalid data.
This question from 2012 is exactly what I am looking for, but is a mix of inconclusive (from what I understand currently) info and seems to conflict with what else I've read.