How do I download a plot generated in the server function of a shiny python app?

I haven't been able to find an example in python that shows what I'm trying to do. I have a plot generated by a function within the app that I'd like to be able to download as a PNG file. Various methods I've tried have generated empty files that cannot be opened, but that's as close as I've gotten. Has anyone been able to do this successfully?