20作者: manzt3 个月前原帖
嗨,HN!我们很高兴发布我们的 VS Code/Cursor 扩展,旨在支持 marimo [1],这是一个开源的反应式 Python 笔记本。 这个扩展为使用 marimo 笔记本提供了原生体验,这是一个我们努力实现的长期请求的功能。 **LSP 优先架构** 我们扩展的核心是一个 marimo 笔记本语言服务器(marimo-lsp [2])。据我们所知,这是第一个采用这种方法的笔记本运行时。语言服务器协议(LSP)[3] 提供了一小部分但重要的与笔记本相关的功能,我们用它来进行文档和内核的同步;其他所有功能则通过自定义操作和消息处理。 通过基于 LSP 的构建,我们旨在为在其他环境(超越 VS Code/Cursor)中暴露 marimo 功能创造路径。LSP 中的笔记本功能仍然有限,但随着协议的发展,我们将能够将更多功能从扩展转移到语言服务器,使其可用于更广泛的编辑器和工具。例如,这可能使以下功能成为可能: - 对笔记本文档的结构性编辑(例如,添加或删除单元格)[4] - 编辑器悬停信息反映变量的实时运行值 **与 PEP 723 的深度集成** 由于 marimo 笔记本是普通的 Python 文件,我们采用 PEP 723 风格的内联元数据 [5] 来描述笔记本的环境。像 uv 这样的工具已经支持这种格式:它们读取元数据块,构建或更新相应的环境,并在其中运行脚本。 marimo CLI 已经在“沙箱”模式 [6] 下与 uv 集成,以管理由 PEP 723 元数据定义的单个笔记本的隔离环境。在扩展中,我们基于 uv 的“沙箱控制器”管理多个笔记本:每个笔记本都有自己的隔离缓存环境。控制器保持环境与文件中声明的依赖项一致,并可以在缺少导入时自动更新该元数据。 uv 通常在您运行脚本时同步这些环境,确保其与元数据中声明的依赖项匹配;我们在单元格级别应用这一概念,以便在单元格运行时环境保持同步。如果您通过 uv 以脚本形式运行笔记本(例如,uv run notebook.py),则会重用相同的缓存 uv 环境。 ——— 这项工作是一次完全重写,我们感谢社区的早期反馈。虽然 VS Code 和 LSP 支持一部分笔记本功能,但生态系统在很大程度上受到 Jupyter 的影响,我们不得不绕过一些现有 API 中固有的假设。我们一直在与 VS Code 团队协调,希望我们的工作能够帮助拓宽对话——推动 LSP 笔记本模型向前发展,并为非 Jupyter 基础的运行时腾出空间。 我们期待听到您的想法! [1] [https://marimo.io](https://marimo.io) [2] [https://github.com/marimo-team/marimo-lsp](https://github.com/marimo-team/marimo-lsp) [3] [https://microsoft.github.io/language-server-protocol/](https://microsoft.github.io/language-server-protocol/) [4] [https://github.com/microsoft/vscode-languageserver-node/issues/1336](https://github.com/microsoft/vscode-languageserver-node/issues/1336) [5] [https://peps.python.org/pep-0723/](https://peps.python.org/pep-0723/) [6] [https://docs.marimo.io/guides/package_reproducibility/](https://docs.marimo.io/guides/package_reproducibility/)
2作者: ovo1013 个月前原帖
我开发了一个命令行工具来基准测试DNS解析器,因为我发现DNS为我的API请求增加了300毫秒的延迟。 <p>v0.3.0版本刚刚发布,新增了以下功能: - compare:在所有解析器中测试单个域名 - top:根据延迟/可靠性/平衡性对解析器进行排名 - monitor:持续跟踪并提供阈值警报 <p>首周下载量超过1400次。 <p>快速开始: ``` pip install dns-benchmark-tool dns-benchmark compare --domain google.com ``` <p>命令行工具将永久免费。托管版本(多区域、历史跟踪、警报)预计在2026年第一季度推出。 <p>GitHub: <a href="https://github.com/frankovo/dns-benchmark-tool" rel="nofollow">https://github.com/frankovo/dns-benchmark-tool</a> 反馈: <a href="https://forms.gle/BJBiyBFvRJHskyR57" rel="nofollow">https://forms.gle/BJBiyBFvRJHskyR57</a> <p>使用Python和dnspython构建。欢迎提出问题和反馈!
5作者: ciclotrone3 个月前原帖
我是vHPC的主要开发者,这是一个基于Docker Compose的SLURM高性能计算集群。<p>作为我工作的一个部分,我正在开发一个需要与意大利最大的高性能计算集群之一(Cineca Leonardo,270 PFLOPS)进行交互的软件解决方案。当然,在生产系统上进行开发是不现实的,因为这会导致反馈循环过长。因此,我开始寻找现有的容器化解决方案,但总是缺少一些关键要素,无法有效模拟我们的目标系统(如计费、MPI、过时的软件等)。<p>因此,我决定从头开始构建自己的虚拟集群,同时在这个过程中学习一些关于SLURM的知识。尽管它满足了我正在进行的项目的特定需求,我还是尽量让vHPC保持简单和多功能。<p>我向公司提议将其开源,截至今天早上(CET),vHPC已经成为自由开源软件,供他人使用和调整。我随时可以回答任何问题。