marimo,Python notebook 的未来

封神!marimo Python响应式笔记本实测,新手也能快速上手 摘要: marimo是一款革新性的Python笔记本工具,解决了Jupyter Notebook的三大痛点:隐藏状态混乱、Git协作困难、部署繁琐。其核心优势包括响应式数据流(自动追踪依赖关系)、纯Python文件存储(Git友好)、一键部署Web应用(无需重构代码),并集成AI辅助功能(如Copilot)和主流可视化库。通过简单安装(pip/conda)和三步操作(创建、编辑、部署),用户可快速实现数据探索、算法调试及应用分享。marimo尤其适合数据科学家、算法工程师及团队协作场景,显著提升开发效率。实 阅读详情
AI摘要

本文介绍了Marimo,一个响应式Pythonnotebook,拥有自动更新输出、Python优先设计、默认可复现和强大的开发者工具。它是JupyterNotebook的潜在替代品,具有很高的潜力。,

你好,我是坚持分享干货的 EarlGrey,翻译出版过《Python编程无师自通》、《Python并行计算手册》等技术书籍。

如果我的分享对你有帮助,请关注我,一起向上进击。

marimo,号称是下一代 Jupyter Notebook,是 Python notebook 的未来。

a2f5741f61c34e9c2b507c8d9e9391df.png

实际体验完后,初步感觉确实还是不错的,非常有潜力。项目大概 9 个月前在 Github 上发布,目前收获了 4k 星标左右。

ff208037d08dec12b4bc4beb0f27daab.png

本文将快速和大家介绍一些它的一些主要特色和使用体验。

marimo 是什么?

根据官网介绍,marimo 是响应式的 Python notebook,具有可重现性、git 友好性,并可作为脚本或应用程序部署。它解决了传统 notebook 如 Jupyter 中隐藏状态(hidden state)的挑战, 该问题可能导致不可预料的结果并阻碍可复用性。

marimo 的开发者曾在博客里写道:

我们选择开发 marimo 是因为我们相信 Python 社区应该有一个更好的编程环境来进行研究和交流;尝试代码并分享;学习计算科学并教授它。我们已经看到很多研究都是在 Jupyter 笔记本上开始的(我自己的大部分都是这样),但都未能重现;许多有前景的原型从未实现;以及许多未能吸引学生的教程。

主要特性

1. 输出自动更新

运行一个单元格后,marimo 就会自动运行受影响的单元格,从而消除了管理笔记本状态这一容易出错的繁琐工作。

marimo 的响应式 UI(如数据帧图形 GUI 和绘图)让数据处理工作变得更加快速、直观,令人耳目一新。

c483b6670d3d207b00ab80b10012bd85.gif

2. Python 优先的设计

marimo notebook 是纯 Python 格式,存储为 .py 文件。

可使用 git 进行版本控制,以 Python 脚本的形式运行,支持使用自己喜欢的工具进行校验或格式化。

3. 默认可复现

你总能复现合作者的成果。notebook 以确定的顺序执行,没有隐藏状态。如果删除一个单元格,marimo 就会删除其变量,同时更新受影响的单元格。

4. 注重开发者体验

marimo 编辑器支持 GitHub Copilot、自动补全、悬停提示、vim 键绑定、代码格式化、调试面板和大量热键。

5. 非常便于协作

由于 notebook 以.py 文件的形式存储,非常便利于通过 git 进行写作,此外,marimo 也支持将 notebook 作为只读的 web app 部署到线上。

如何使用

首先,通过 pip 安装:

pip install marimo  # or conda install -c conda-forge marimo
marimo tutorial intro

也可以通过官网提供的线上 playground 直接体验:https://marimo.app/。

下面是一些常用场景和对应命令:

创建或编辑笔记本

marimo edit

以 web app 形式运行 notebook,隐藏 Python 代码且置为不可编辑:

marimo run your_notebook.py

466f272c691d0a63ead3628ced942983.gif

在命令行中以脚本形式执行笔记本:

python your_notebook.py

通过 CLI 自动将 Jupyter notebook 转换为 marimo notebook:

marimo convert your_notebook.ipynb > your_notebook.py

小结

本文中,我们介绍了一款全新的 Python notebook,marimo,详细说明了它的主要特性和使用方式。作为 Jupyter 的替代方案,个人认为是非常潜力的。项目诞生还不到一年,使用人数目前可能还不多,但是还是非常建议大家尝试尝试。

- EOF -

文章已经看到这了,别忘了在右下角点个“赞”和“在看”鼓励哦~

推荐阅读  点击标题可跳转

1、Python 项目工程化最佳实践

2、Python 可以比 C 还要快!

3、streamlit,一个超强的 Python 库

4、豆瓣8.9分的C++经典之作,免费送!

5、Python 3.12 版本有什么变化?

最近我开了一家淘宝店,名字叫【打破壁垒】,主打程序开发相关付费素材、工具的共享类商品,帮助大家降低试错和使用成本。欢迎大家关注。

969c3cfc882eeb9495496a6a1f2b7646.jpeg

长按扫描下方二维码,然后点击页面中的【打开淘宝】,即可进入店铺:

2f9a8903326ab81f85824b82b82fbe7a.png

回复下方「关键词」,获取优质资源

回复关键词「 pybook03」,领取进击的Grey与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「书单02」,领取进击的Grey整理的 10 本 Python 入门书的电子版

👇关注我的公众号👇

告诉你更多细节干货

86430cd4e9f6bc0118268bd184193541.jpeg

欢迎围观我的朋友圈

👆每天更新所想所悟

marimo搭建教程:替代Jupyter的交互式开发工具 marimoMarkdownPython 代码数据可视化变量联动整合在一个统一的界面中,用于构建可交互的数据应用。相比传统工具,marimo 更接近:👉 “数据应用 + 前端交互”的融合体验marimo 通过将代码、数据与交互融合,为 Python 应用开发提供了一种全新的方式。构建交互式数据应用替代传统 Notebook提升代码可维护性那么 marimo 是一个值得尝试的工具。结合云服务器部署,可以打造稳定、高效、可交互的数据应用平台。 阅读详情

相关推荐

Marimo:开源的响应式Python笔记本,特别适合数据分析工作者,丰富的UI组件并能转成生成应用

Marimo 作为一个全新的开源工具,为 Python 数据科学家提供了一种高效、灵活的笔记本环境,适用于从数据分析、研究到应用开发的多种场景。

利哥AI实例探险 1444

探索数据新境界:Marimo - 下一代Python笔记本

Marimo是一款革命性的Python笔记本工具,它将数据分析、工具构建和应用部署融为一体,让开发者在同一个无缝环境中享受到极富生产力的体验。通过其独特的反应式设计和交互式UI元素,Marimo使你的数据变得触手可及。 ## 项目介绍 Marimo的核心理念是让数据探索变得更加直观和动态。当你运行一个单元格时,它会自动更新所有依赖于它的单元格,就像电子表格一样即时响应。此外,Marimo还支持...

gitblog_00056的博客 1329

从Jupyter转向marimo:提升Python数据分析效率

Python笔记本工具是数据科学工作流的核心组件,其交互式编程模式显著提升了探索性数据分析的效率。传统Jupyter Notebook虽然普及度高,但在状态管理、版本控制和代码复用方面存在固有缺陷。marimo作为新一代Python笔记本,采用响应式编程模型自动维护执行状态,通过纯Python架构实现完美Git兼容性,并内置丰富的交互组件系统。这些特性使marimo特别适合复杂数据流水线开发、团队协作和生产部署场景,能有效解决变量状态不一致、版本控制困难等工程痛点。实际应用中,marimo可提升30%以上的

weixin_34242509的博客 392

Marimo:下一代Python编程环境,颠覆传统Jupyter笔记本,自动化执行所有依赖代码块,告别繁琐手动操作

这意味着当你修改代码或与UI元素交互时,Marimo 会自动识别依赖关系,并只执行必要的代码块。Marimo 支持将 runtime 配置为惰性模式,只标记需要重新执行的代码块,不会自动执行昂贵的代码块,从而保证程序状态的同时避免不必要的计算。更改一个代码块,Marimo 会自动执行依赖它的所有代码块,无需手动执行,节省时间,减少错误。删除代码块时,Marimo 会自动清除该代码块所关联的变量,确保程序状态清晰,避免潜在的错误。Marimo 笔记本可以轻松移植到不同的平台,确保代码的可复用性。

weixin_53707653的博客 1806

基于PWM的汽车仪表步进电机微步驱动优化实践

本文深入探讨了基于PWM的微步驱动技术,用于优化汽车仪表步进电机的运行性能。通过将传统的分步驱动升级为PWM微步细分驱动,利用正弦/余弦查表法合成旋转磁场,有效消除了指针抖动与噪声,实现了指针的平滑、精准运动。文章以STM32和VID2905电机为例,提供了详细的硬件连接、代码实现及高级优化技巧,为提升汽车仪表体验提供了实用方案。

weixin_29169505的博客 513

Minecraft Forge模组开发入门:从环境搭建到事件监听实战

事件驱动编程是一种基于事件和事件监听器的软件架构模式,其核心原理是通过事件总线实现组件间的松耦合通信。在游戏开发领域,这种模式能够有效处理玩家交互、状态变更等异步操作,具有高度的灵活性和可扩展性。Java作为面向对象编程语言,通过注解和反射机制为事件驱动提供了天然支持。Minecraft模组开发正是事件驱动编程的典型应用场景,开发者可以利用Forge框架提供的事件总线监听游戏内各种行为。本文以Minecraft Forge模组开发为例,详细讲解如何通过Gradle构建工具搭建开发环境,并实现自定义方块注册和

culi3182的博客 396

30分钟搭好交互式数据看板:marimo Python notebook 完整教程

marimo 是一个响应式 Python notebook:你写的只是纯 Python 文件,但它能当脚本跑、当应用部署、当数据看板分享,还能直接进 git 做版本管理。这篇教程面向不写前端的 Python 开发者,带你从零搭一个带筛选器和图表的交互式销售看板,并讲清楚它和 Jupyter 类 notebook、传统 BI 工具的本质区别。 ## marimo 是什么 传统 notebook

gitblog_00493的博客 1080

OpenMontage:AI代理驱动的端到端视频生产系统实战指南

在当今内容创作领域,自动化视频生成技术正成为提升生产效率的关键。其核心原理在于通过智能体(Agent)架构,将复杂的视频制作流程拆解为可被AI理解和执行的标准化任务,从而实现从创意到成片的端到端自动化。这项技术的核心价值在于大幅降低了专业视频制作的门槛,使非专业用户也能快速产出具有一定专业度的内容。其典型应用场景包括社交媒体短片、产品演示、知识科普视频的批量生产。OpenMontage正是这一技术理念的杰出实践,它构建了一个完整的代理驱动视频生产系统,将AI编码助手转变为能自主规划并执行脚本撰写、素材检索、

weixin_35757191的博客 649

uv 与 marimo 深度集成:用 uv 管理 Notebook 依赖、隔离环境与脚本化执行

marimo 是一个将交互式计算与传统软件的可复现性相结合的开源 Python notebook,它以纯 Python 脚本形式存储,因此可以像普通代码一样用 Git 版本化、以脚本形式运行、并以应用形式分享。本文基于 uv 官方集成指南,系统讲解在四种典型场景下(独立工具、内联脚本元数据、项目内、非项目环境)如何结合 uv 使用 marimo,并结合 uv 源码说明内联脚本元数据(PEP 723

gitblog_00516的博客 996

DeepSeek Harness接入QQ实战:把DSH变成赛博群友

大模型应用正从单机问答走向多平台集成,如何将模型能力嵌入即时通讯工具成为工程实践的热点。消息接入、会话管理、插件扩展是构建智能群聊机器人的核心三要素。DeepSeek Harness(DSH)作为一款模型会话工作流管理工具,凭借多会话管理、模型调用编排以及灵活的插件机制,能够在QQ群聊场景中实现“接收消息→模型生成→回复推送”的完整闭环。本文从基础概念切入,详解DSH接入QQ的两种实现路线——外部API转发与原生插件适配,覆盖环境准备、启动调试、接口调用与性能观察,并给出常见问题排查清单。无论是本地AI助理

weixin_27427619的博客 1973

Python量化入门:用pytdx获取800个交易日K线数据的完整指南(附代码)

本文为Python量化交易初学者提供了使用pytdx库免费获取股票日线级别K线数据的完整指南。文章详细介绍了从环境搭建、单只股票数据获取,到构建健壮的批量下载器、数据清洗与验证,再到基础分析与可视化的全流程,并附有可直接运行的代码示例,帮助读者快速建立本地股票数据库。

weixin_29050513的博客 1469

Marimo项目:使用外部编辑器开发Notebook的完整指南

Marimo作为一款创新的Python Notebook工具,提供了独特的交互式开发体验。本文将全面介绍如何在Marimo项目中使用自己熟悉的外部编辑器进行开发,同时保持与Marimo编辑器的实时同步功能。 ## 为什么选择外部编辑器 虽然Marimo提供了内置编辑器,但开发者可能有以下理由选择外部编辑器: 1. 对特定编辑器(如VSCode、PyCharm等)的熟悉度和功能依赖 2. 需要...

gitblog_01016的博客 476

基于Llama 3搭建中文版(Llama3-Chinese-Chat)大模型对话聊天机器人

前面两篇博文,我们在笔记本部署了Llama 3 8B大模型,使用Ollama搭建了基于Web 可视化对话机器人。在使用过程中,大模型经常出现中文问题英文回答的问题。本博文就用Llama3-Chinese-Chat微调模型来解决这个问题……

老牛啊 9240

marimo 数据仪表板:20 分钟搭出一个可交互的 Python 数据分析应用

用 marimo 可以把你写的 Python 脚本直接变成可交互的数据仪表板,不需要单独维护前端页面。读完这篇,你就能搭出一个带下拉筛选、趋势图和表格的销售数据看板,并在本地跑起来给别人看。 ## 一、它到底解决了什么问题 先说几个很真实的场景:改一个筛选条件,整本 notebook 从头重跑一遍;Python 脚本和前端页面分开写,改一处要同步两处;用户点一下下拉框,界面转两秒才出图。 m

gitblog_00127的博客 1021

Nuvoton OpenTitan开源安全芯片技术解析与应用

硬件安全模块(HSM)作为可信计算基的核心组件,其设计透明度和可验证性正成为行业焦点。RISC-V架构凭借开源特性,为构建可审计的安全芯片提供了新范式。OpenTitan项目通过开放Verilog源码和形式化证明,实现了从物理不可克隆函数(PUF)到分层安全启动的全栈透明。该方案在lowRISC Voyager开发板上实测显示,安全启动时间小于200ms,性能损耗仅7%,显著优于传统黑盒方案。目前该技术已应用于Chromebook和数据中心,其40nm工艺版本更将功耗降至5μA待机水平,为物联网和边缘计算提

weixin_36303807的博客 402

ArXiv 2026 即插即用 | Transformer篇 | WeightFormer:告别二次复杂度!无注意力的线性时间 Transformer,泛化能力拉满

WeightFormer是一种创新的动态Transformer架构,其核心创新在于通过双动态算子(空间自适应动态卷积和双边激活动态线性)实现输入自适应的特征提取。该模块采用静态-动态权重融合机制和低秩预测技术,在仅增加5%参数量的情况下显著提升模型泛化能力。相比传统Transformer,WeightFormer在ImageNet-1K上提升2.3%精度,小样本任务提升12%,同时保持线性计算复杂度。模块可直接替换标准Transformer块,特别适合轻量级视觉任务,实现了精度与效率的平衡。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 134

marimo:解决Jupyter痛点的响应式Python笔记本

Python笔记本工具是数据科学和机器学习工作流中的核心组件,其核心价值在于提供交互式编程环境。传统Jupyter Notebook虽然流行,但存在状态管理混乱、版本控制困难等技术痛点。响应式编程模型通过自动追踪变量依赖关系,确保代码执行顺序的正确性,这一原理在前端框架(如React/Vue)中已得到验证。marimo作为新一代Python笔记本,将响应式执行引擎与纯Python文件格式相结合,解决了Jupyter的三大核心问题:1) 通过构建执行DAG实现自动状态同步;2) 使用.py格式实现Git友好版

weixin_34072637的博客 407

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

marimo迁移指南:从Jupyter迁移到marimo的完整流程

> 还在为Jupyter Notebook的隐藏状态、执行顺序混乱和版本控制困难而烦恼吗?marimo为您提供革命性的响应式Python笔记本体验,本文将带您完成从Jupyter到marimo的无缝迁移。 ## 为什么选择marimo? marimo是一个**响应式Python笔记本**,它解决了传统Jupyter Notebook的诸多痛点: | 特性对比 | Jupyter Notebo...

gitblog_01075的博客 1120

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

使用 Jupyter Book 发布 marimo 笔记本:`{marimo}` 指令与 MyST 集成实战

本指南讲解如何借助 marimo 官方的 `jupyter-book-marimo` 插件,把 marimo 单元格与输出嵌入 Jupyter Book 构建的计算型图书、文档与课程材料站点。读完本文,你将掌握 `{marimo}` 指令的书写方式、从 marimo 笔记本导出 MyST Markdown 的命令与 flavor 选择,以及指令背后的"水合 islands"(hydrated ma

gitblog_00648的博客 162

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Marimo - 响应式 Python 笔记本

一、关于 Marimo 为什么选择 marimo 二、响应式编程环境 三、快速起步 安装 或者在 Gitpod 运行 创建新的笔记本 运行应用 作为脚本执行 自动转换已有的 Jupyter 笔记本 教程 四、更多信息 五、社区 六、愿景 ✨

AI工程化、开源分享、文档翻译、代码笔记 1677

ai-scanner安全加固深扒:每租户密钥加密、SSRF与DNS重绑定防护实战

ai-scanner 是一款基于 NVIDIA garak 构建的 AI 模型安全扫描器(开源 AI scanner),它不仅能检测大模型漏洞,更在工程上做了不少"自己人"级别的防御:每租户密钥加密、SSRF 防护和 DNS 重绑定防护。本文带你快速看懂这套 AI 扫描工具是如何保护多租户数据、防止扫描请求被劫持指向内网地址的。 [![ai-scanner AI安全扫描器仪表盘:展示探针数量、扫

gitblog_00410的博客 384

marimo交互笔记本完全教程:30分钟搭建一个可交互的数据分析仪表板

搭建数据仪表板,是不是总得用BI工具拖拽字段,或者找前端同学写一套HTML?用marimo这个开源的Python响应式笔记本,你可以纯Python在30分钟内做出一个可交互的数据分析应用,它还能同时作为可复现实验和可部署的Web应用。 ## 为什么选marimo:一个不会"骗人"的笔记本 传统笔记本有两个老毛病: - **隐藏状态**:单元格的执行顺序、变量残留和页面展示对不上,别人跑一遍往

gitblog_00951的博客 972

2025新范式:marimo如何重塑Python数据科学工作流?

你是否还在为Jupyter的隐藏状态抓狂?为Streamlit的回调逻辑头疼?marimo——这款重新定义Python笔记本的革命性工具,正以"响应式编程+无缝部署"的双重优势,悄然改变数据科学家的日常工作。本文将深入剖析marimo的技术突破与未来演进路线,帮你预判这场工具革新如何提升团队效率300%。 ## 从痛点到颠覆:marimo的技术基因重组 传统Python数据工具链长期存在三大矛...

gitblog_01008的博客 776

windows-defender-remover 实测:老笔记本 CPU 从 18% 降到 2%,帧率提升 30%,附验证方法

盯着任务管理器里那个常年 18% 的 MsMpEng.exe,我放弃了反复拨实时保护开关,直接用 windows-defender-remover 做了彻底移除。重启后同一台机器空闲 CPU 稳定在 2%,常玩的游戏平均帧率多了 30%。下面是它的移除范围、验证命令、实测对比和几个容易翻车的坑。 [![windows-defender-remover 项目横幅:带移除标识的蓝色盾牌](https

gitblog_00165的博客 771

marimo技巧大全:提高生产力的隐藏功能和技巧

marimo作为下一代Python notebook,不仅提供了强大的基础功能,还隐藏了许多能显著提升生产力的高级技巧。本文将深入挖掘这些隐藏功能,帮助您充分发挥marimo的潜力。 ## ???? 快速导航与快捷键技巧 ### 1. 智能单元格管理 marimo提供了多种创建和管理单元格的快捷方式: ```python # 创建SQL单元格的两种方式: # 1. 点击底部工具栏的SQL按钮 ...

gitblog_00921的博客 1106

marimo 配置指南:7 个设置让你打开笔记本就能干活

第一次用 marimo 打开别人分享的笔记本,界面停在一片空白,你反复点运行才知道要手动执行——而队友的笔记本却是打开就跑。差别就在 marimo 的配置。这篇带你把运行行为、界面显示、保存格式这几类最实用的设置调到位。 ## 🧭 30 秒看懂:marimo 配置是怎么生效的 marimo 的配置分四层,后一层覆盖前一层,最终取最高优先级的那份。你的个人习惯放用户级配置文件 `marimo.

gitblog_00167的博客 803
上一篇: Python 3.13 将有哪些大变化?
下一篇: 内行人告诉你,这么用京东PLUS会员,能直接省掉一半钱!
codingpy
博客等级 码龄11年 1873粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值