С выходом Pyodide 314.0 разработчики получили то, чего давно ждали. Раньше, чтобы использовать C- или Rust-расширение в браузере, нужно было ждать, пока команда Pyodide вручную соберёт и захостит пакет, либо собирать WASM-колесо самому — без нормальной инфраструктуры дистрибуции. Теперь достаточно опубликовать wheel на PyPI с меткой pyemscripten, и micropip устанавливает его в браузере как обычный пакет.
Контекст
Pyodide — порт CPython на WebAssembly через Emscripten. Он позволяет запускать Python-код прямо в браузере: без сервера, без установки, без контейнеров. Проект используется в JupyterLite, интерактивных ML-демо, образовательных платформах и data science прямо в браузере.
Историческое ограничение: если пакет содержит нативные расширения (C, C++, Rust), его нужно было скомпилировать под WASM отдельно. Команда Pyodide вручную поддерживала более 300 таких пакетов — каждый новый требовал ручного ревью. Скорость появления новых пакетов была несравнимо ниже нативного PyPI.
Ситуацию изменил PEP 783, определивший стандарт PyEmscripten-платформы. PR на PyPI был смержен 21 апреля 2026 года. Теперь мейнтейнеры собирают WASM-колёса через стандартный cibuildwheel и публикуют их так же, как native wheels для Linux, macOS или Windows.
Аналитика
На первый взгляд — узкоспециализированная инфраструктурная новость. За ней стоит кое-что важнее. Браузерный Python без сервера — принципиально другая модель деплоя: нет бэкенда, нет инфраструктуры, нет проблем с масштабированием. Для AI-демо, локальных инструментов, интерактивной аналитики это радикально снижает порог входа и стоимость эксплуатации.
Сейчас на PyPI опубликовано 28 пакетов с новым форматом pyemscripten_202*_wasm32. Среди них — pydantic_core, onnx, chonkie-core. Последнее особенно показательно: chonkie — библиотека для чанкинга текста в RAG-пайплайнах. Часть RAG-стека теоретически уже работает в браузере без сервера. onnx в списке означает, что ML-инференс тоже входит в игру.
Практик Симон Уиллисон, публикующий одни из самых взвешенных разборов LLM-инструментов, использовал Codex и GPT-5.5 для упаковки и публикации первого своего WASM-пакета — интерпретатора языка Luau от Roblox (MIT). Результат: 276KB wheel-файл, работающий в браузере через Pyodide. Показательно, что даже нетривиальная задача «скомпилировать C++-библиотеку под WASM и настроить GitHub Actions CI» решается силами AI-инструментов за несколько итераций.
Кейсы применения в бизнесе
B2B-SaaS стартап с ML-функциями. Предобработку данных, локальный скоринг или валидацию с ML-моделью можно перенести на клиент. Демо для пресейла разворачивается как статичная страница — без бэкенда, без DevOps. Серверные расходы на вычисления падают, скорость отклика растёт.
Корпорация с legacy-стеком. Браузерные Python-утилиты позволяют встраивать аналитику прямо в веб-интерфейс без переписывания бэкенда. Особенно актуально там, где данные нельзя отправлять на сторонний сервер — финтех, медицина, госсектор КР. Трансформация данных происходит на стороне клиента, минуя слой API.
SMB и локальный бизнес в КР/СНГ. Небольшие команды без DevOps-ресурсов получают полноценные Python-приложения, которые живут как статичный HTML на Cloudflare Pages или GitHub Pages. Ноль затрат на хостинг вычислений. Калькуляторы, формы с бизнес-логикой, простые автоматизации — уже реальная альтернатива бэкенду.
Кейсы в личной жизни
Разработчик и data scientist. Шаринг Python-скрипта без установки — просто ссылка. Коллега открывает страницу, код выполняется у него в браузере. Для демонстрации алгоритма или быстрого дашборда это удобнее любого Jupyter-сервера.
Контент-мейкер и преподаватель. Интерактивные примеры кода прямо в статье или курсе — без бэкенда. Студент нажимает «запустить», и Python отрабатывает в браузере. С тяжёлыми библиотеками через WASM-пакеты это теперь тоже работает.
Фрилансер, работающий с данными. Прототип инструмента для клиента деплоится как статичная страница за 10 минут — никакого сервера, никаких контейнеров. Клиент открывает URL и работает с Python-логикой напрямую. Выглядит профессионально, стоит нулевых денег в поддержке.
Как применить сегодня
- Зайди в официальный Pyodide REPL и запусти пример с
micropip.install("luau-wasm")— почувствуй, как инсталляция пакетов работает прямо в браузере. - Если у тебя Python-пакет с нативными расширениями — изучи PEP 783 и добавь
cibuildwheelв GitHub Actions для сборки WASM-колёс. - Для быстрого браузерного прототипа: возьми шаблон JupyterLite, подключи
micropip, используй уже доступные WASM-пакеты: pydantic_core, onnx, yaml-rs. - Деплой Python-скрипта как статичного HTML на GitHub Pages с Pyodide — буквально 30 минут работы, ноль серверных расходов.
- Следи за ростом экосистемы: сейчас 28 пакетов, но наличие onnx и pydantic_core говорит, что ML-инференс и валидация данных уже частично доступны в браузере без сервера.