Cloudflare объявила о широкой доступности (GA) Python Workers — через два года после представления этого решения как способа запуска приложений Python в среде Cloudflare Workers. Благодаря этому шагу Python стал официально поддерживаемым языком в Cloudflare Developer Platform, с возможностью использовать известные библиотеки и фреймворки и подключать их к сервисам Cloudflare без написания связующего слоя на JavaScript.
Новая среда позволяет запускать фреймворки FastAPI, Django и Flask, а также другие фреймворки, совместимые с WSGI или ASGI. Cloudflare предоставляет коннекторы, такие как workers.asgi и workers.wsgi, для преобразования запросов Workers в структуру, которую ожидают приложения Python, тогда как платформа Workers берет на себя прием запросов, масштабирование и балансировку нагрузки.
Прямая интеграция с сервисами Cloudflare
Одно из главных практических изменений — прямая поддержка привязок Cloudflare в Python. Ранее передача объектов Python в такие сервисы, как Queues, требовала их ручного преобразования в объекты JavaScript с помощью Pyodide и интерфейсов JavaScript. Теперь среда Workers и пакет Python берут на себя преобразование типов, что позволяет использовать вызовы в обычном синтаксисе Python.
Это включает Workers AI, R2, D1, Hyperdrive, Durable Objects, Queues и Workflows. Кроме того, Cloudflare позволяет создавать Python Worker внутри другого Worker с помощью Dynamic Workers.
Базы данных и сетевые подключения
Приложения Python теперь могут использовать Hyperdrive для подключения к базам данных PostgreSQL и MySQL. Отсутствие поддержки TCP-сокетов препятствовало запуску драйверов баз данных внутри WebAssembly, поскольку эти программы обычно зависят от системных сетевых вызовов POSIX. Согласно Cloudflare, компания решила эту проблему, реализовав вызовы сокетов с помощью Workers connect API, благодаря чему такие драйверы, как aiomysql и asyncpg, работают без изменений и без необходимости знать детали базовой среды.
Что меняется для разработчиков искусственного интеллекта?
Теперь внутри Python Workers можно запускать такие библиотеки, как openai, langchain и mcp. Cloudflare также обеспечила возможность HTTP-клиентам, таким как requests и httpx, направлять запросы через JavaScript fetch в средах WebAssembly. Разработчик может объединить эти библиотеки с Workers AI для выполнения инференса на GPU-модулях в сети Cloudflare или направлять запросы через Cloudflare AI Gateway.
Компания демонстрирует примеры приложений, включающих оркестрацию задач искусственного интеллекта с использованием Queues, Workflows, Workers AI и R2, обработку потоков событий в реальном времени через Bluesky Jetstream и Durable Objects, а также MCP-серверы и системы RAG с Vectorize.
Ограничения и открытые вопросы
Python Workers использует интерпретатор Python, скомпилированный в WebAssembly с помощью Pyodide, поэтому для пакетов, содержащих нативные расширения, написанные на C, C++ или Rust, требуется специальная сборка для платформы WebAssembly. Cloudflare заявляет, что стандарт PyEmscripten, связанный с предложением PEP 783, и обновленные инструменты сборки помогут расширить экосистему пакетов, однако компания признает, что внедрение этого стандарта все еще продолжается и некоторые пакеты могут пока не поддерживаться.
Комментарий certi.news: Изменение заключается не просто в добавлении нового языка программирования, а в снижении зависимости от JavaScript при создании распределенных на периферии сервисов Python. Это важно для команд разработки, у которых есть приложения или библиотеки Python и которые хотят связать их с сервисами Cloudflare, но не отменяет необходимости проверять совместимость пакетов и ограничения WebAssembly перед переносом существующих приложений в производство. Кроме того, будущие обещания Cloudflare улучшить производительность и эффективность использования памяти, а также поддержать больше пакетов показывают, что широкая доступность представляет собой важную точку зрелости, но не завершение работы над платформой.