Jupyter“慌了”!Netflix发布新开发工具Polynote

DisplayPort信号通道深度解析:从物理层到协议栈 DisplayPort(DP)是一种面向高速串行通信的数字显示接口标准,其核心在于嵌入式时钟、自适应均衡与链路训练三位一体的物理层架构。不同于HDMI依赖独立时钟的TMDS方案,DP通过差分主链路(Main Link)承载编码数据流,以8b/10b或128b/132b编码实现高带宽与强鲁棒性。该技术价值体现在多速率自适应、误码恢复能力及对PCB布线与阻抗控制的严苛要求,广泛应用于8K显示、工业视觉、GPU直连等高性能场景。本文聚焦DP信号通道的管脚级实现、三层协议解耦(物理层/数据链路层/事务层)及链路训练 阅读详情

640

近日,Netflix宣布开源Polynote,Polynote是Netflix自家使用的多语言笔记本环境,Polynote为数据科学家和机器学习研究人员提供了一个笔记本环境,允许他们将基于JVM的ML平台(此类平台大多使用Scala构建)与Python生态系统中流行的机器学习和可视化库无缝集成。

640?wx_fmt=png

它已经在Netflix内部广泛使用,而且Netflix正在研究如何将Polynote和其他平台集成,下面一起详细来看看Polynote有哪些牛掰的功能特性:

功能概述

可重复性

Polynote的两个指导原则是可复制性和可见性。为了实现这两大特性,我们最早的设计决策之一是从头开始构建Polynote的代码解释,而不是像传统笔记本一样依赖REPL。

我们认为,尽管REPL总体上不错,但它们根本不适合笔记本电脑。为了了解REPL和笔记本的问题,让我们看一下典型笔记本环境的设计。

笔记本是单元格的有序集合,每个单元格可以保存代码或文本。每个单元格的内容可以独立修改和执行。单元格可以重新排列,插入和删除。这还可以取决于笔记本电脑中其他单元的输出。

将此与REPL环境进行对比会发现。在REPL会话中,用户把表达式一次一个地输入提示符。一旦求值,表达式及其求值结果是不可变的,求值结果将附加到下一个表达式可用的全局状态。

不幸的是,这两个模型之间的脱节意味着一个典型的notebook环境,它使用一个REPL会话来评估单元代码,当用户与notebook交互时,会导致隐藏状态积累。单元可以按任何顺序执行,从而改变这种全局隐藏状态,从而影响其他单元的执行。通常情况下,笔记本无法从顶部可靠地重新运行,这使得它们很难复制并与他人共享。这种隐藏状态也让用户很难推断笔记本上运行了什么。

640?wx_fmt=gif
在其他笔记本中,隐藏状态意味着一个变量在其单元格被删除后仍然可用。

640?wx_fmt=gif
在 Polynote 笔记本中,没有隐藏状态,被删除的单元格变量不再可用。

从头编写Polynote的代码解释允许我们消除这种全局的、可变的状态。通过跟踪每个单元中定义的变量,Polynote根据在其上运行的单元构建给定单元的输入状态。使单元格的位置在其执行语义中变得重要,这也加强了最小惊奇原则,允许用户从上到下阅读笔记本。它通过让笔记本持续运行,从而确保其可重复性。

编辑改进

Polynote提供了诸如交互式自动完成和参数提示、错误高亮显示以及支持LaTeX富文本编辑器等类似ide的特性。

可见性

Polynote UI通过显示内核状态、突出显示当前正在运行的单元代码和当前正在执行的任务,从而让用户对内核状态的直观了解。

多语言

笔记本中的每个单元格都可以用不同的语言编写,变量可以在它们之间共享。目前支持Scala、Python和SQL语言类型。

依赖项和配置管理

Polynote 将配置和依赖项信息直接存入笔记本,而不依赖于外部文件或集群 / 服务器级别的配置。

数据可视化

本机数据探索和可视化帮助用户了解更多关于他们的数据,而不会弄乱他们的笔记本。与matplotlib和Vega的集成允许高级用户通过漂亮的可视化效果进行交互

接下来,我们将更深入地了解Polynote的功能:

安装

安装过程是按照它的指南文档进行的,我还安装了matplotlib

pip3 install matplotlib

如果你打算尝试它的多语言功能,则需要再添加一个环境变量:

export PYSPARK_ALLOW_INSECURE_GATEWAY=1

如果没有,你就会收到以下提示:

640?wx_fmt=png

编辑体验

使用笔记本级别的“配置和依赖项”设置可以轻松地从maven存储库中提取依赖项,包括使用HTTP get从Netflix博客获取文本的请求:

640?wx_fmt=png

640?wx_fmt=png

自动完成功能适用于从Maven存储库中提取的库:

640?wx_fmt=png

但是,lambda函数的自动完成功能似乎不起作用:

640?wx_fmt=png

Spark示例

在这个字数统计示例中,我们从HTTP获取文本,对其进行标记,并保留所有大于4个字符的标记。

640?wx_fmt=png

Spark也可以轻松配置“配置和依赖”设置:

640?wx_fmt=png

切换到Python

现在,我们切换到python,使用panda和matplotlib来绘制条形图,只选取前10个单词。

640?wx_fmt=png

运行还算顺利,但是有时候会弹出以下警告:

640?wx_fmt=png

当这种情况发生时,接口停止工作,惟一的解决方法就是终止Polynote进程并重启。

Polynote是迄今为止我尝试过的Spark和Scala最好的笔记本。虽然有些小故障,但是我相信很快就会修复

640?wx_fmt=png

目前,Polynote已经在GitHub上标星2.6K,177个Fork(GitHub地址:https://github.com/polynote/polynote)如果对这个项目感兴趣,可以直接访问GitHub的源代码进行尝试

本文分享自:开源最前线(ID:OpenSourceTop) 猿妹编译

链接:https://towardsdatascience.com/trying-polynote-from-netflix-a-better-notebook-for-data-engineers-5107277ff2e5、https://medium.com/netflix-techblog/open-sourcing-polynote-an-ide-inspired-polyglot-notebook-7f929d3f447

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

回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「入门资料」,立即获取主页君整理的 10 本 Python 入门书的电子版

回复关键词「m」,立即获取Python精选优质文章合集

回复关键词「book 数字」,将数字替换成 0 及以上数字,有惊喜好礼哦~

推荐阅读

【CUDA Runtime】第一个“Hello World“程序 CUDA(Compute Unified Device Architecture)是 NVIDIA 提供的一个并行计算平台和编程模型,旨在通过利用 GPU 的强大计算能力来加速计算密集型应用。对于许多开发者而言,开始学习 CUDA 编程的第一步通常是编写一个简单的“Hello World”程序。尽管 CUDA 的实际应用远远超出一个简单的例子,但这个初步的示例能帮助开发者快速入门,理解基本的 CUDA 编程流程。 阅读详情

相关推荐

mt7601 kernel 4.19内核集成版本,以及源码编译相关问题

/os/linux/Makefile.6文件: 添加 EXTRA_CFLAGS += -Wno-incompatible-pointer-types -Wno-date-time。看下iwpriv与iwconfig的源码区别,左侧为iwconfig ,没有用到ioctl,右侧为iwpriv。1、init_timer kernel 4.19内核版本API已经改变,使用timer_setup。使用iwpriv 提示如下,iwpriv工具无法使用了,而iwconfig可以使用。makefile的修改。

1592

推荐开源项目:Polynote——创新的多语言笔记本环境

在数据科学和机器学习领域,交互式笔记本工具已经成为研究人员和开发者的首选工具。今天,我们向您推荐一款创新型开源项目——Polynote,它是一款实验性的多语言笔记本环境,提供了丰富的特性,旨在解决现有 Notebook 工具的一些痛点。 ## 项目介绍 Polynote 是一个旨在提升代码编辑和文本编写体验的多语言笔记本。目前支持的语言包括 Scala、Python(支持或不支持 Spark)...

gitblog_00661的博客 480

图形引擎实战:镭射效果制作分享

该方案的优势1.遵循物理的2.可以使用少量的参数去调控镭射的效果。计算相对简单,缺点仍是颜色不能够自定义,还有一种常见的方案是采样一张镭射贴图来模拟,好处是颜色可以自定义同时性能上还很高效没有复杂的公式计算。我查阅了网上普遍的方案,常见的做法是制作一个Ramp图生成工具,然后将生成好的ramp图赋给材质。这两个方案的好处是美术同学可以手动的去控制镭射的颜色。最后就是Shader中对Ramp图的采样的部分,Ramp图的UV坐标是使用fresnel作为Ramp的U轴坐标,0.5作为V轴坐标。

qq_41166022的博客 1360

polynote安装使用

文章目录安装polynote一、环境安装1.1 jdk环境安装1.2 gcc编译环境安装1.3 宿主机环境操作二、下载安装三、启动 Polynote是一个实验性的多语言笔记本环境。目前,它支持Scala和Python(使用或不使用Spark)、SQL和Vega。 目前的笔记本电脑解决方案,如Jupyter和Zeppelin,缺乏一些基本的特点: 代码编辑——大多数笔记本工具的代码编辑功能还有很多不足之处。为什么一个笔记本工具不能像你在IDE中找到的那样有现代的编辑功能呢?Polynote提供了有用的自动完成

hongyonggan 1192

【拯救C盘】一文搞懂Windows修改Anaconda默认的虚拟环境存放路径及其原理

Anaconda创建的虚拟环境可能会默认保存在C盘,但C盘的存储空间很宝贵,由于每个虚拟环境的大小可能达到n个GB,稍不注意就会遇到C盘红色警告。因此有必要做点什么来拯救被虚拟环境占用的大部分空间!!!

Roach007的博客 3万+

手把手教你用THS4551搭建全差分放大器电路(附ADC驱动实战)

本文详细介绍了如何使用TI的THS4551全差分放大器搭建高性能ADC驱动电路,涵盖芯片选型、电路配置、PCB布局及实战调试等关键环节。THS4551凭借其优异的共模抑制比和宽电源电压范围,成为驱动16位及以上精度ADC的理想选择,特别适合工业应用场景。

weixin_30338481的博客 282

uni-app uni-getEnterOptionsSync 插件源码解析:获取应用本次启动参数与 UTS 跨端插件实战

`uni-getEnterOptionsSync` 是 uni-app 生态中一个功能聚焦的 UTS 插件,用于获取应用"本次启动"(含从后台切回前台)时的参数,其返回值与 `App.onShow` 回调参数一致。本文以本仓库 `src/uni_modules/uni-getEnterOptionsSync/` 为蓝本,从源码实现、类型定义、平台兼容性到实战调用与自动化测试逐层展开,帮助读者既会用

gitblog_00086的博客 468

AI 编程新范式:一文彻底搞懂 LLM、Agent、MCP、Skill 是怎么协作的

本文用通俗易懂的方式解析了AI编程新架构的核心概念。通过"三国演义"类比,文章将复杂的技术架构拆解为:Agent(军师/大脑)负责思考和决策,Skill(招式/手脚)执行具体操作,MCP(令箭/协议)作为通信标准,MCP Server(将军/身体)承载多个Skill。这套分工架构使AI从单纯聊天进化成能完成实际编程任务的全能助手,实现了关注点分离——Agent专注智能提升,Skill专注功能实现,MCP确保稳定连接。这正是Cursor、Claude等新一代AI开发工具采用的核心架构,标志

猫老板的豆 3084

Polynote 使用教程

Polynote 是一个实验性的多语言笔记本环境,目前支持 Scala、Python(无论是否使用 Spark)、SQL 和 Vega。Polynote 旨在提供现代代码编辑功能,如代码自动完成、参数提示等,以及丰富的文本编辑功能,包括 LaTeX 支持。Polynote 的界面提供了对内核状态的直观洞察,支持多语言混合使用,并且具有强大的依赖和配置管理功能。 ## 项目快速启动 ### 安装...

gitblog_00345的博客 465

MATLAB AppDesigner 中TextArea保留原有信息并换行显示提示信息

App Designer 中的文本区域TextArea组件,一般可以用来作为matlab app设计中的信息显示。 app.TextArea.Value = 'Hello Matlab'; Value可以是字符向量、字符向量元胞数组、字符串数组或一维分类数组。这样直接给TextArea赋值,每次赋值都会消除先前的信息,然后显示新的信息。如果想要在app实现保留原有信息、多行信息的输出,在MathWorks官方帮助中心给出了一种方法: cellArrayText{1} = sprintf('%s\n

我是麻瓜喔的博客 1万+

立创电赛C题:基于STM32的三端口DC-DC变换器设计与MPPT算法实现

本文详细解析了2021年立创电赛C题——基于STM32的三端口DC-DC变换器设计。文章从题目要求出发,系统阐述了采用双DC-DC电路(分别负责MPPT追踪与稳压)的硬件架构,并重点讲解了以STM32为核心、结合PID控制与扰动观察法(MPPT算法)的软件实现方案,为备赛者提供了完整的软硬件设计思路与调试经验。

weixin_42588877的博客 225

Netflix开源笔记本工具Polynote:支持Scala、Python和SQL等多语言操作

后台回复【加群】加入 HelloGitHub 的交流群Polynote 是一个新的多语言笔记本,具有一流的 Scala 支持、Apache Spark 集成,包括 Sca...

HelloGitHub 的博客 1194

【ComfyUI】SD1.5 + ControlNet 边缘检测融合动漫转真人

本文介绍了一个基于ComfyUI的动漫转真人图像生成工作流,通过多模型协同实现高质量的二次元图像转换。该工作流集成了Canny线稿预处理、ControlNet结构控制、VAE编码解码和人脸精细化处理等核心环节,采用majicmixRealistic_v7作为主模型,配合yolov8、SAM等辅助模型。整个流程包含11个标准化步骤,从图像输入、预处理到最终超分输出,通过ControlNet引导和CLIP语义控制确保生成图像的写实感和结构准确性,特别针对人脸区域进行专业优化,最终可输出高分辨率写实人像。

Mr数据杨 1130

“Jupyter的杀手”:Netflix发布新开发工具Polynote

作者 |Michael Li译者 |Rosie编辑 | Jane出品 | AI科技大本营(ID:rgznai100)【导读】10 月 29 日,Netflix 公开了他们内部开发的 Polynote。现如今,大型高科技公司公开其内部的工具或服务,然后受到业界欢迎并被采用的情况屡见不鲜。Amazon 的 AWS,Facebook 的 React.js 就是其中两个。这些大型高科技公司拥有业内最好...

AI科技大本营 2882

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

“Jupyter的杀手”:Netflix发布新开发工具Polynot

作者 |Michael Li 译者 |Rosie 编辑 | Jane 出品 | AI科技大本营(ID:rgznai100) 10 月 29 日,Netflix 公开了他们内部开发的 Polynote。现如今,大型高科技公司公开其内部的工具或服务,然后受到业界欢迎并被采用的情况屡见不鲜。Amazon 的 AWS,Facebook 的 React.js 就是其中两个。这些大型高科...

优快云资讯 3013

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Netflix 开源 Polynote:对标 Jupyter,一个笔记本运行多种语言

点击上方蓝色小字,关注“涛哥聊Python”重磅干货,第一时间送达来源:机器之心使用类似 Jupyter Notebook 进行数据分析和机器学习是近来较为方便灵活的开发方式,但是 Ju...

涛哥聊Python 790

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

还有比 Jupyter 更好用的工具?看看 Netflix 发布的这款

近日,Netflix宣布开源Polynote,Polynote是Netflix自家使用的多语言笔记本环境,Polynote为数据科学家和机器学习研究人员提供了一个笔记本环境,允许他们将基于JVM的ML平台(此类平台大多使用Scala构建)与Python生态系统中流行的机器学习和可视化库无缝集成。它已经在Netflix内部广泛使用,而且Netflix正在研究如何将Polynote和其他平台集成,下面...

涛哥聊Python 1113

netflix设置语言_由netflix提供的polynote统一笔记本,用于编写多语言代码

netflix设置语言Let’s start writing some small snippet of code in the favorite Jupyter notebook. Please see below video snippet:让我们开始在最喜欢的Jupyter笔记本中编写一些小代码段。 请参见下面的视频片段: As you see, the output is changing...

weixin_26729165的博客 770

jupyter linux_开发工具 | 即将jupyter的新一代notebook

点击蓝字关注我 提到数据分析和代码调试,我们很容易想到jupyter,尤其对于Python开发者,它们有着先天的优势,但是,这次jupyter真的遇到了劲敌--PolyNote。它存在不足,但是也拥有jupyter所不具备的优势,本文就来介绍一下这款新一代的notebook。—▼—前言我们在实验室、教学、数据分析及开发测试环境,经常需要一个用于测试代码片段的工具。其中用的较多的,尤其是...

weixin_39842682的博客 116

netflix 开源_Netflix建立了Jupyter Lab替代方案,提供了与选举黑客作斗争的漏洞赏金,Raspberry Pi变得微不足道,还有更多开源新闻...

netflix 开源 在本期开放源代码新闻摘要中,我们介绍了Netflix的机器学习工具,Microsoft的选举软件漏洞赏金,使用Raspberry Pi构建的具有成本效益的显微镜等等! Netflix发布Polynote机器学习工具 尽管过去十年来机器学习取得了许多进步,但这仍然是一项艰巨,艰巨且有时令人沮丧的任务。 为了帮助简化该任务,Netflix 发布了一个名为Polynot...

cumo3681的博客 257

notebook打开外部文件_开发工具 | 即将取代jupyter的新一代notebook

专注Python、AI、大数据 @七步编程 前言我们在实验室、教学、数据分析及开发测试环境,经常需要一个用于测试代码片段的工具。其中用的较多的,尤其是对于Python开发者而言,包括两款开发工具,jupyter notebookjupyterlab不得不说,这两款都是非常不错的工具,它们有着很多显而易见的优点,轻量化触手可及支持丰富的插件支持语言丰富......对于我个人而言,我使用jupyter...

weixin_31188807的博客 252

【无标题】

部分任务类型(python、spark等)在创建配置阶段,需要进行分步调试;由于探索查询能力较弱,部分用户只能通过其他平台 or 其他途径进行开发调试,但部署到 Dorado时,又发现行为不一致等问题(运行环境问题),整体体验较差,需要提升探索查询模块的能力;目前探索查询仅支持 SQL,可支持更多语言类型,扩展数据开发手段;

m0_60025795的博客 570

一文了解数据科学Notebook

主要介绍什么是Notebook,Notebook在数据科学领域的应用的重要性与优势,以及数据科学家/算法团队在选择Notebook时需考虑哪些关键因素。同时,基于Notebook的筛选考量维度,对常见的Notebook进初步对比分析,为数据科学家、算法工程师提供参考。

渡江客涂鸦板 1993

无需安装!在线Jupyter Notebook的5种替代方案

Kaggle适合数据竞赛和学习;今天分享5种无需安装即可使用的在线替代方案,让你跳过繁琐的配置,直接开始数据分析。它完全免费,提供GPU和TPU资源,适合运行深度学习模型。Kaggle不仅是一个数据科学竞赛平台,还提供了强大的Kernels功能。用户可以直接在浏览器中运行Python和R代码,并访问Kaggle数据集。部署时,从代码编写到上线运行的过程非常流畅,省去了大量配置时间,让开发者可以更专注于核心功能的实现。这个应用使用React构建前端界面,Flask处理后端逻辑,可以实时展示各平台的最新信息。

GoldenleafLynx28的博客 1338

【干货分享】常用的Python开发工具比较

PyCharm、Visual Studio Code、Jupyter Notebook、Spyder、IDLE这五款编辑器基本满足任何需求,可以说是非常强大,也各有千秋,可以针对自己的个人偏好和需求的问题进行选择,也可以考虑以下因素。

kfashfasf的博客 1703

Python编程的终极十大工具

Python一直以来都是程序员们的首选编程语言之一,其灵活性和功能强大的库使其成为解决各种问题的理想选择。在本文中,我们将介绍Python编程的终极十大工具,这些工具可以帮助您在各种领域取得成功,无论您是初学者还是经验丰富的开发者。

Python栈 517
上一篇: Python 依赖库太多了,该怎么管理?
下一篇: Python 中 -m 的典型用法、原理解析与发展演变
codingpy
博客等级 码龄11年 1873粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值