PYTHONOMANIA
273 subscribers
195 photos
3 videos
1 file
616 links
Откройте для себя мир Python в PYTHONOMANIA!

Идеально подходит как для начинающих, так и для опытных разработчиков. Присоединяйтесь к нам, чтобы достичь совершенства в Python!

Сайт: https://pythonomania.github.io/
Download Telegram
📱SPy.

SPy — это статически компилируемый вариант Python!

Мечтали писать код так же легко, как на Python, но чтобы он работал так же быстро, как скомпилированный язык? Проект SPy пытается решить именно эту амбициозную задачу.

🔹Главные фичи:

🔘Два режима работы: Вы можете писать и тестировать код быстро через привычный интерпретатор, а затем скомпилировать его в нативный исполняемый файл (executable) для максимальной скорости.

🔘Прозрачный конвейер: SPy не просто "вслепую" транслирует код в C. Компиляция проходит в несколько этапов (Py AST -> SPy AST -> Redshift -> C -> Бинарник). Вы можете остановить процесс на любом шаге специальными флагами в консоли, чтобы посмотреть, во что превращается ваш код!

🔘 Магия WebAssembly (WASM): В основе языка лежит рантайм-библиотека libspy (написанная на C). Самое крутое: когда вы запускаете код в интерпретаторе, эта библиотека подгружается прямо туда в виде WASM-модуля через wasmtime. А при релизной сборке она статически линкуется к вашему бинарнику.

🔘Работает в браузере: Благодаря архитектуре на базе WASM/emscripten, SPy может работать поверх Pyodide прямо в браузере без установки!

❓Как попробовать?

❗️Пока проект находится в активной разработке, локальная установка требует немного ручной работы: вам понадобится Python 3.12, сборка библиотеки libspy через команду make и установка самого пакета в режиме для разработчиков (pip install -e .[dev]).

💡Но если вы не хотите возиться с терминалом, на официальном сайте есть браузерная песочница (Playground), где можно пощупать язык прямо сейчас.

#Python #WebAssembly #WASM #Compiler #Backend #DevTools #OpenSource #Programming

📱Ссылка на репозиторий:
https://github.com/spylang/spy
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥32