Набор инструментов компиляции, который преобразует код на C и C++ в WebAssembly для запуска в браузерах, Node.js и других Wasm-средах.
pyodide/pyodide
Pyodide — порт CPython на WebAssembly, позволяющий запускать Python-пакеты в браузере и Node.js.
- Звёзды
- 14,901
- Форки
- 1,058
- Открытые issues
- 407
- Последний коммит
- 1 час назад
Что это?
Pyodide — дистрибутив Python на базе WebAssembly и Emscripten, который позволяет запускать Python-код в браузере или Node.js без интерпретатора на сервере. Это порт CPython со связующим интерфейсом JavaScript—Python для вызова кода на одном языке из другого.
Python-пакеты устанавливаются с помощью micropip. Подойдут любые wheel-пакеты с чистым Python с PyPI; также портировано множество пакетов с расширениями на C, C++ или Rust, включая NumPy, pandas, SciPy, Matplotlib, scikit-learn, PyYAML и cryptography. В браузере Python-код может напрямую обращаться к Web API.
Проект предоставляет готовые дистрибутивы, которые можно загрузить с размещённого CDN или самостоятельно хостить из архивов релизов; также поддерживается интеграция с популярными JavaScript-бандлерами. В репозитории есть и инструменты для сборки пакетов для платформы Pyodide.
Ключевые возможности
- 01Запускает CPython в браузере и Node.js через WebAssembly
- 02Устанавливает с помощью micropip пакеты на чистом Python и скомпилированные пакеты
- 03Включает портированные научные пакеты, такие как NumPy, pandas и SciPy
- 04Предоставляет интерфейс JavaScript—Python с поддержкой async/await и обработкой ошибок
- 05Даёт Python-коду доступ к Web API при запуске в браузере
Сценарии использования
- Запуск анализа данных или построения графиков на Python прямо на веб-странице
- Создание браузерной REPL для Python или интерактивного блокнота
- Выполнение Python-кода на стороне клиента без серверной части
- Подготовка Python-библиотек для использования в JavaScript-веб-приложениях
Быстрый старт
- 1
Загрузите размещённую дистрибуцию, следуя руководству «Начало работы» в документации
- 2
Или скачайте Pyodide со страницы релизов и разместите его на веб-сервере
Что важно знать
- Построен на WebAssembly, поэтому запускается в браузере или Node.js, а не как автономный нативный Python.
- Работают только пакеты с wheel-файлами или портами для Pyodide; многие расширения на C и Rust не поддерживаются.
- Распространяется по лицензии MPL-2.0 — лицензии со слабым копилефтом, которая требует делиться изменениями файлов, подпадающих под MPL.
Темы
Частые вопросы
- Что такое pyodide?
- Pyodide — порт CPython на WebAssembly, позволяющий запускать Python-пакеты в браузере и Node.js. Pyodide — дистрибутив Python на базе WebAssembly и Emscripten, который позволяет запускать Python-код в браузере или Node.js без интерпретатора на сервере. Это порт CPython со связующим интерфейсом JavaScript—Python для вызова кода на одном языке из другого.
- pyodide можно использовать бесплатно? Какая у него лицензия?
- pyodide распространяется с открытым исходным кодом под лицензией MPL-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- pyodide всё ещё поддерживается?
- Активно поддерживается. Последний коммит в pyodide — 22 окт. 2026 г..
- Для чего можно использовать pyodide?
- Запуск анализа данных или построения графиков на Python прямо на веб-странице Создание браузерной REPL для Python или интерактивного блокнота Выполнение Python-кода на стороне клиента без серверной части Подготовка Python-библиотек для использования в JavaScript-веб-приложениях
- Как установить pyodide?
- Загрузите размещённую дистрибуцию, следуя руководству «Начало работы» в документации Или скачайте Pyodide со страницы релизов и разместите его на веб-сервере
- Где скачать pyodide?
- Исходный код и инструкции по установке — на GitHub: https://github.com/pyodide/pyodide
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Дистрибутив JupyterLab, который целиком работает в браузере с ядрами Python на базе WebAssembly и не требует сервера.
Среда выполнения WebAssembly и CLI для запуска приложений и кода AI-агентов в быстрых, лёгких и изолированных средах.
Библиотека компилятора и оптимизатора на C++ для WebAssembly, включающая инструмент wasm-opt и сборку для JavaScript — binaryen.js.
Порт FFmpeg на WebAssembly и JavaScript для записи, конвертации и потоковой передачи видео и аудио в браузере.
Эмулятор x86-ПК, работающий в браузере: он преобразует машинный код в WebAssembly на лету и загружает настоящие операционные системы.