Найти в Дзене
Python Django

​​Показываем уведомления на рабочем столе

​​Показываем уведомления на рабочем столе На macOS это очень просто, даже не нужно ставить дополнительный софт и модули, а использовать встроенный osascript. import os def notify_macos(title, text): os.system(""" osascript -e 'display notification "{}" with title "{}"' """.format(text, title)) notify_macos("Поздравляю", "Ген супер-человека найден!") На Linux можно пойти схожим путем, задействуя программу notify-send (если у вас Ubuntu, то она почти наверняка уже установлена): import subprocess as s def notify_linux(message, title): subprocess.Popen(['notify-send', title, message]) return Разработчики на Windows, и о вас я не забуду. Попробуйте win10toast. # pip install win10toast from win10toast import ToastNotifier toaster = ToastNotifier() toaster.show_toast("Заголовок", "Текст", duration=5) Есть ли кросс-платформенное решение? Да, это библиотека plyer от создателей Kivy. # pip install plyer from plyer import notification notification.notify( title='Заголовок', message='Сообщение', a

​​Показываем уведомления на рабочем столе

На macOS это очень просто, даже не нужно ставить дополнительный софт и модули, а использовать встроенный osascript.

import os

def notify_macos(title, text):

os.system("""

osascript -e 'display notification "{}" with title "{}"'

""".format(text, title))

notify_macos("Поздравляю", "Ген супер-человека найден!")

На Linux можно пойти схожим путем, задействуя программу notify-send (если у вас Ubuntu, то она почти наверняка уже установлена):

import subprocess as s

def notify_linux(message, title):

subprocess.Popen(['notify-send', title, message])

return

Разработчики на Windows, и о вас я не забуду. Попробуйте win10toast.

# pip install win10toast

from win10toast import ToastNotifier

toaster = ToastNotifier()

toaster.show_toast("Заголовок",

"Текст",

duration=5)

Есть ли кросс-платформенное решение? Да, это библиотека plyer от создателей Kivy.

# pip install plyer

from plyer import notification

notification.notify(

title='Заголовок',

message='Сообщение',

app_icon=None, # e.g. 'C:\\icon_32x32.ico'

timeout=5, # секунд

)

plyer умеет не только уведомления, но и предоставляет унифицированный интерфейс к всевозможным API декстопных и мобильных ОС.

Однако, plyer потребует установки дополнительного софта или модулей для каждой платформы. Когда вы в первый раз запустите код, не удивляйтесь ошибкам. Например, на macOS мне потребовалось установить Cython и pyobjus. Библиотека plyer сам по себе не вытягивает эти зависимости, поэтому в вашем проекте не забудьте их добавить самостоятельно (например, в requirements.txt)