Python Kivy Tutorial
Kivy can build applications for desktop and mobile including Android and iOS. The same code base can be used for both desktop and mobile, depending on what hardware devices you are trying to access.
This guide will walk through the basics of installing Kivy, building simple applications, building and packaging them for desktop and Android.
For an example of a complete project, check out my Bitcoin Price Checker example with the Live Stream on YouTube.
Alternatives for desktop application programming with Python are PyQt5, Tkinter, and wxPython. Those packages have a more traditional desktop UI but lack the Android and iOS build capabilities the same way Kivy has. Qt technically supports Android but it is not easy to build with PyQt5.