Windows-Toasts is a Python library used to send toast notifications on Windows machines. Check out the documentation.
Windows-Toasts supports Windows 10 and 11. While toast notifications do work on Windows 8.1 and below, Microsoft added features in Windows 10 that were never backported.
Windows-Toasts is available through PyPI:
$ python -m pip install windows-toasts
Simple usage:
>>> from windows_toasts import Toast, WindowsToaster
>>> toaster = WindowsToaster('Python')
>>> newToast = Toast()
>>> newToast.text_fields = ['Hello, world!']
>>> newToast.on_activated = lambda _: print('Toast clicked!')
>>> toaster.show_toast(newToast)
Full documentation is available at readthedocs.io
I created this library since the other Windows toast notification libraries were all but abandoned, lacked features, and were using pywin32 bindings.
Using WinRT may come with its own limitations. However, the only issue I've encountered compared to using pywin32 bindings is not being able to select the duration in seconds, but rather as short/long.
The code is adapted from mohabouje's wonderful C++ WinToasts library
Big thanks to dlech for his recently created winrt fork