Об этом проекте

Pyodide представляет собой порт CPython на WebAssembly через Emscripten, позволяющий Python выполняться напрямую в веб-браузерах и средах Node.js. Он обеспечивает надёжный интерфейс внешних функций (FFI), который позволяет бесперебойно взаимодействовать между JavaScript и Python, включая поддержку async/await и обработки ошибок. При работе в браузере код Python имеет полный доступ к Web API. Ключевые возможности: - Управление пакетами: пользователи могут устанавливать чистые Python-пакеты из PyPI с помощью micropip. - Предварительно портированные библиотеки: включает поддержку ряда научных и универсальных пакетов с расширениями на C, C++ и Rust, таких как NumPy, pandas, SciPy, Matplotlib, scikit-learn, regex, PyYAML и cryptography. - Гибкое развёртывание: Pyodide можно использовать через хостинговое распространение, самостоятельно размещаемое на веб-сервере или интегрированное с JavaScript-бандлерами. Проект состоит из адаптированной сборки CPython, JS/Python FFI, кода управления интерпретаторами и специализированного инструмента для кросс-компиляции и тестирования пакетов.