Marimo - как Jupyter, только лучше Огромная часть кода для ИИ пишется и запускается в Jupyter ноутбуках, как локально так и в ко

Marimo - как Jupyter, только лучше Огромная часть кода для ИИ пишется и запускается в Jupyter ноутбуках, как локально так и в колабах. Но они не идеальны - дефолтно редактировать код там не очень удобно, часто можно наворотить такого, что решается лишь перезапуском ноутбука. Marimo решает заметную часть проблем Jupyter, при этом привнося кучу новых фич: Реактивность - при изменении ячейки, зависящие от неё ячейки тоже автоматически пересчитываются (смотреть гифку). Если пересчитывать половину ноутбука при каждом изменении не хочется, то можно включить lazy mode, который будет всего лишь помечать ячейки устаревшими. Отсутствие “hidden state“ - переменная из удалённого когда-то куска кода теперь никак не будет влиять на код текущий, рандомных перезапусков теперь будет поменьше. Поддержка ИИ ассистентов - как автокомплиты Copilot и Codeium, так и API больших моделей (OpenAI, Anthropic, Google). Интеграция с пакетными менеджерами - можно указать зависимости для конкретного ноутбука, Поддерживаются все популярные пакетные менеджеры для Python, за исключением Conda. Интерактивность - использовать местные виджеты куда проще чем в Jupyter так как не нужно использовать колбеки. Ноутбуки хранятся в обычных питон файлах, так что их куда проще хранить в гит репозиториях и запускать как скрипты. Основной минус - неполная поддержка LSP, так что об ошибках типизации узнаёшь только когда код запускается. Отсутствие LSP в Jupyter Notebooks - одна из причин почему может быть не очень удобно использовать Cursor (Microsoft блокирует использование Pyright в Cursor, а Jedi не поддерживает Jupyter). Да и работает пока что только в браузере, но надеюсь мы получим и расширение для VS Code. Хоть тула ещё и в альфе и не всё идеально, то что есть подаёт надежду и ощущается заметно лучше Jupyter, по крайней мере после нескольких часов которые я им пользовался. Попробовать можно вот так: pip install marimo && marimo tutorial intro Github
Back to Top