Python - десктопное приложение с графическим интерфейсом
Python имеет встроенный пакет GUI, который позволяет легко создавать такие формы:

В этом примере используется пакет tkinter. Форма выше принимает значение, введенное в поле ввода, возводит его в квадрат и отображает обратно в поле ввода, таким образом, квадратную кнопку можно нажать снова. Довольно стандартное приложение.
Интересная часть этой статьи - сделать приложение автономным и отправить его кому-то, у кого не установлен python и не нужно работать с консолью. Это 3 маленьких шага, необходимых для написания кода:
- Сохраните код Python как *.pyw
- Установите «pip install pyinstaller»
- Создайте исполняемый файл с помощью «pyinstaller -w InputOutputConsole.pyw»
Когда вы выполните эти шаги, результат будет сохранен в той же папке:

В папке dist находится EXE-файл, который может запустить небольшое приложение. Код приложения здесь:
from tkinter import *
class Application(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.grid()
self.create_widgets()
def create_widgets(self):
self.display_label = Label(self, text="Enter value to square:")
self.display_label.grid(row=0, column=0)
self.input_field = Entry(self, bd = 5)
self.input_field.grid(row=0,column=1)
self.result_label = Label(self, text="Result will be here:")
self.result_label.grid(row=1, column=0)
self.calculation_button = Button(self, text="Square!", command=self.calculation)
self.calculation_button.grid(row=3,column=3)
self.quit_button = Button(self, text="Quit", command=self.master.destroy)
self.quit_button.grid(row=4,column=10)
def calculation(self):
new_val = int(self.input_field.get())**2
self.result_label['text'] = new_val
self.input_field.delete('0', 'end')
self.input_field.insert('0', str(new_val))
if __name__ == "__main__":
app = Application()
app.mainloop()Это небольшой пример того как можно реализовать десктопное приложение с помощью Python
Сделать сборку под OSX можно при помощи утилиты dmgbuild