WinToastCreator — модуль для отправки уведомлений в Windows
Project description
WinToastCreator — модуль для отправки уведомлений в Windows
Лёгкий import WinToastCreator.creator‑модуль (несколько КБ) для создания и управления всплывающими уведомлениями (toast) в Windows через WinRT API.
Что нового в версии 0.2.2:
- Исправленны артифакты в инструкции
- Код стал более оптимизированным и стало быстрее работать
Возможности
- Отправка простых уведомлений с заголовком и текстом.
- Добавление иконок, изображений, прогресса.
- Воспроизведение звуков и речи (TTS).
- Обработка кликов, закрытия и ошибок.
- Поддержка ввода и выбора в уведомлениях.
- Обновление прогресса и очистка уведомлений.
- Асинхронный и синхронный интерфейсы.
Установка
Модуль не требует установки внешних зависимостей — использует встроенные WinRT‑библиотеки Windows.
pip install WinToastCreator
В таблице ниже перечислены все параметры, доступные в функциях toast и toast_async.
| Параметр | Тип | Описание |
|---|---|---|
title |
str |
Заголовок уведомления. Отображается крупным шрифтом в верхней части. |
body |
str |
Основной текст уведомления. Располагается под заголовком. |
on_click |
callable |
Функция‑обработчик, вызываемая при клике по уведомлению. Принимает аргументы события. |
icon |
str / dict |
Иконка уведомления: – строка — путь к файлу иконки; – словарь — с ключами placement, hint-crop, src. |
image |
str / dict |
Дополнительное изображение: – строка — путь к файлу; – словарь — с ключами src, placement. |
progress |
dict |
Параметры индикатора прогресса: ключи value (доля, напр. 0.5), title (заголовок прогресса), status (текст статуса). |
audio |
str / dict |
Звук уведомления: – строка — путь к аудиофайлу или системный префикс ms- (напр. ms-wakeup); – словарь — с ключом src. |
dialogue |
str |
Текст для озвучивания через синтез речи (TTS). Будет произнесён при показе уведомления. |
duration |
str |
Длительность отображения: "short" (короткий) или "long" (длинный). |
input |
str / dict |
Поле ввода: – строка — ID поля; – словарь — с ключами id, type ("text" и др.), placeHolderContent (подсказка). |
inputs |
list |
Список полей ввода (каждый элемент — строка или словарь, как для input). |
selection |
str / list |
Элемент выбора: – строка — значение элемента; – список — набор вариантов (каждый — строка или словарь с id, content). |
selections |
list |
Список элементов выбора (каждый — строка или словарь с id, content). |
button |
str / dict |
Кнопка: – строка — текст кнопки (и аргумент запуска); – словарь — с ключами content (текст), activationType (тип активации), arguments (аргументы запуска). |
buttons |
list |
Список кнопок (каждый элемент — строка или словарь, как для button). |
xml |
str |
Шаблон XML для уведомления. По умолчанию — стандартный toast‑шаблон. |
app_id |
str |
ID приложения, под которым показывается уведомление. По умолчанию: "import WinToastCreator.creator". |
ocr |
str / dict |
Путь к изображению для распознавания текста (OCR): – строка — путь к файлу; – словарь — с ключом ocr (путь) и опционально lang (язык). |
on_dismissed |
callable |
Функция‑обработчик, вызываемая при закрытии уведомления. Принимает аргумент события. |
on_failed |
callable |
Функция‑обработчик, вызываемая при ошибке показа уведомления. Принимает аргумент ошибки. |
scenario |
str |
Сценарий уведомления (напр., "email", "im", "reminder"). Влияет на поведение и внешний вид. |
tag |
str |
Тег уведомления. Используется для идентификации при обновлении или удалении. |
group |
str |
Группа уведомлений. Позволяет управлять набором уведомлений по группе (очистка, обновление). |
timeout |
float |
Тайм‑аут в секундах для ожидания событий (клик, закрытие и т.п.). По истечении — функция завершается. |
Примечания:
- Для обновления прогресса или очистки уведомлений обязательно указывайте
group(иначе возникнет ошибка). - Параметры
tagиgroupработают совместно: чтобы удалить/обновить конкретное уведомление, нужны оба значения. - Системные звуки (
audioс префиксомms-) зависят от локализации и версии Windows.
Примеры использования
1. Простое уведомление
WinToastCreator.creator.toast("Готово!", "Файл загружен успешно")
2. Уведомление с кнопкой
WinToastCreator.creator.toast( "Открыть сайт", "Перейдите на наш ресурс", button="https://example.com", on_click=lambda e: print("Клик:", e['arguments']) )
3. Уведомление с прогрессом
WinToastCreator.creator.toast("Загрузка...", "Идет загрузка файла", progress={'value': '0.5', 'title': 'Прогресс', 'status': '50%'})
4. Обновление прогресса
WinToastCreator.creator.toast("Загрузка", "Начата...", tag="download", group="files") WinToastCreator.creator.update_progress({'value': '0.8', 'status': '80%'}, tag="download", group="files")
5. Очистка уведомлений
WinToastCreator.creator.clear_toast(group="files") # Удалить все уведомления группы "files" WinToastCreator.creator.clear_toast(tag="download", group="files") # Удалить по тегу и группе
6. Асинхронное уведомление с TTS
async def show_notification(): await WinToastCreator.creator.toast_async("Внимание", "Это сообщение будет озвучено", dialogue="Привет, это TTS!") asyncio.run(show_notification())
7. Распознавание текста с изображения (OCR)
WinToastCreator.creator.toast("OCR", ocr="path/to/image.png")
8. Переключение режима «Не беспокоить»
Предупреждение! Этот метод начнёт управлять вашим компьютером WinToastCreator.settings.toggle_focus()
Для работы OCR может потребоваться установка языковых пакетов (см. available_recognizer_languages()).
Звуки (audio) могут быть локальными файлами или системными (ms‑wakeup, ms‑call, и т.п.).
Поля ввода и выбора работают только в поддерживаемых сценариях Windows.
Для обновления/очистки уведомлений обязательно указывайте group (иначе возникнет ошибка).
Вспомогательные функции available_recognizer_languages() — выводит список доступных языков OCR.
play_sound(audio) — воспроизводит звук (асинхронно).
speak(text) — озвучивает текст (TTS, асинхронно).
recognize(ocr) — распознаёт текст с изображения (OCR).
Лицензия MIT — свободно используйте, модифицируйте и распространяйте.
Версия: 0.2.2
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wintoastcreator-0.2.2.tar.gz.
File metadata
- Download URL: wintoastcreator-0.2.2.tar.gz
- Upload date:
- Size: 11.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a63de6c3096eee67453aab611f6cd7566a7d32a5ba1b47e6707483fe5df8ed0
|
|
| MD5 |
5025c25b578c72050390c54e14459393
|
|
| BLAKE2b-256 |
c1a6b21645e980b8ce47469720d6ca5164c160a935357fb8a335c9fc12ee948e
|
File details
Details for the file wintoastcreator-0.2.2-py3-none-any.whl.
File metadata
- Download URL: wintoastcreator-0.2.2-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b1a9f9fe2401c166ea04497c21476863201c1fcda13c372bec806f3504200d1
|
|
| MD5 |
d17fd46bc20f38b88b3b01ca08b9c696
|
|
| BLAKE2b-256 |
ccf3414c2904b91820cd3605025bd815859e31e79f5075fae723bde8f3a27a46
|