Интеграция Python-приложений с Windows API Сеть, бэкенд и web-разработка

Доклад принят в программу конференции
Василий Панков
EY

Руководитель разработки, Python-разработчик, React-разработчик

Работал над созданием решений для процессинга (мобильные платежи), финансового моделирования (система управления ML-моделями для крупной инвест. группы), графовой аналитики (поиск мошеннических схем при совершении сделок), автоматизации капитального строительства (система учета проектно-сметной документации), HR-аналитики (система автоматизированного расчета рейтинга персонала для крупного аэропорта), логистики (система управления поставками топлива для сети АЗС), CRM (Автоматическое оформление страховых продуктов для сделок с недвижимостью)

Vasiliy.Pankov@ru.ey.com
Тезисы

Интеграция Python-приложений с Windows API при помощи PyWin32

Многие крупные компании исторически предпочитают использовать MS Windows. Я расскажу об опыте разработки Python-приложений для компаний, которые не любят Docker или WSL (Windows Subsystem for Linux), а предпочитают MS Windows в чистом виде.

О чем именно я хочу рассказать:

1. Какие программные библиотеки мы используем под MS Windows. Поговорим о совместимости следующих групп библиотек с MS Windows:
- Web-фреймворки
- Драйверы баз данных
- WSGI-серверы
- Распределенные очереди задач
- Брокеры и межпроцессное взаимодействие
- Библиотеки для анализа данных
2. Работа с планировщиком задач MS Windows.
- Как правильно настроить полномочия для выполнения задач планировщика без необходимости входа пользователя в систему
- Создание задач вручную, импорт задач из XML
- Создание задач программным способом
3. Запись логов в журнал событий MS Windows.
- Настройка полномочий для корректной работы системы логирования Python
- Использование NTEventLogHandler из стандартной библиотеки Python для работы с журналом событий Windows
4. Менеджер учетных записей MS Windows
- Используем встроенные возможности MS Windows для хранения учетных данных при помощи библиотеки '''keyring'''
5. Задействуем технологию COM на примере интеграции с продуктами MS Office.
- Сравнение 2-х подходов: работа с .xlsx-файлами при помощи библиотек основанных на работе с XML и при помощи технологии COM
- Используем '''xlwings''' для управления Exсel-моделями из Python-приложения.
6. Разрабатываем супервизор процессов.
- Особенности мультипроцессинга в MS Windows
- Рассмотрим пример супервизора процессов
7. Запуск Python-приложений в качестве служб Windows.
- Настройка полномочий для работы с Windows-сервисами
- Установка и настройка PyWin32 для корректной работы Windows-сервисов на Python
- Использование виртуальных окружений Python с Windows-сервисами
- Регистрация, удаление, запуск и останов Win-сервисов. Стратегии восстановления после сбоя.
- Отладка Win-сервисов
8. Графические Desktop-приложения.
- Применение PyQt
- Разработка Desktop-приложений с Web-интерфейсом.
9. Приложения для Windows Tray.
- Применение библиотеки '''pystray''' для создания приложений Windows Tray.
10. Развертывание web-приложений под MS IIS.
- MS IIS в качестве реверс-прокси для Web-приложений, написанных на Python
- Проксирование WebSocket
11. Поставка решения в закрытый периметр заказчика.
- Особенность сборки проекта на Python без доступа к интернет
– Включаем pip-пакеты в комплект поставки
- Вопросы лицензирования применяемых библиотек
- Варианты защиты исходных кодов
12. Пишем инсталлятор для MS Windows с использованием NSIS.
- Пример инсталлятора

Другие доклады секции Сеть, бэкенд и web-разработка