Python 潮流周刊#69:是时候停止使用 Python 3.8了
你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。另有电报频道[1]作为副刊,补充发布更加丰富的资讯,欢迎关注。
本期分享了 12 篇文章,12 个开源项目,全文 2100 字。
🦄文章&教程[2]
1、是时候停止使用 Python 3.8 了[3]
Python 3.8 发布于 2019 年 10 月,将在今年 10 月 End Of Life,之后即便有安全漏洞,也不会再发布修复版本!一些三方库和框架,也将停止对 Python 3.8 的支持,因此,尽快升级到较新版本吧。(附:下个月要发布 Python 3.13 了,什么时候升级到 Python 3.13 比较好?[4])
2、多版本 Python 库的思考[5]
如何让一个库同时依赖多个版本的其它库,例如 pydantic 1.x 和 2.x?作者在思考它的可能性,并提出了一种端到端的解决方案,讨论了需要解决的技术问题。
3、为什么我要从 Pandas 切换用 Polars?[6]
作者决定将自己的 Pandas 项目切换到 Polars,文章解释了这么做的原因:起决定作用的并不是因为 Polars 更快,而是因为它语法直观,更易于记忆和使用。文章对比了 Polars、Pandas、Tidyverse 和 Base R 处理 CSV 文件的代码。
4、我们如何将 Jupyter Notebook 的加载速度提高 10 倍?[7]
作者的产品中嵌入了 Jupyter iframe,加载耗时很长。通过将 JupyterLab 的 UI 与后端服务分离、并行加载、模拟静态请求、预渲染扩展 UI 等措施,最终得到 87% 提升。
5、异步 IO:下一个 10 亿美元的错误? [8]
作者提出一个疑问,异步IO(非阻塞IO)算得上是“十亿美元错误”么?在平行宇宙中,如果我们花的二十年是在提升操作系统的线程性能,会不会有更好的结果?
6、使用各种 Web 框架开发相同的程序[9]
用不同的 Web 框架来开发相同功能的项目,能够看出些什么?作者分别用 FastAPI + Jinja + HTML + CSS + JavaScript、FastHTML、Next.JS、SvelteKit、FastAPI + Svelte 做了实验。FastHTML 的表现让人眼前一亮。
7、用 Weaviate 和 Streamlit 开发一个电影推荐应用[10]
Weaviate 是一个 AI 原生数据库,可简化数据存储、检索和查询的复杂性,并与 AI 模型集成。文章介绍用它和 Streamlit 开发一个接受自然语言的电影推荐应用,支持关键词、语义和混合搜索模式。
8、用于 Docker 构建的 PyPI 代理[11]
能否通过在本地缓存 PyPI 数据来改进 CI 系统?作者探索了两种方法:在构建期间挂载缓存,使用代理服务器 Proxpi。介绍了如何使用 Docker 和 Docker Compose 来设置Proxpi。
9、被 Unicode 咬伤了[12]
作者遇到了一个 Unicode 问题,因为连字符在视觉上与减号相似(HYPHEN-MINUS 和 HYPHEN),导致负数金额错误使用了连字符而被解析为正数。文章介绍了如何用标准库 unicodedata 来识别和区分这两种符号。
10、Rust 用于小型任务?那么 Python 呢?[13]
Rust 在数据工程的特定任务重越来越受欢迎,例如 Polars,但是由于它代码冗长,在许多场景中并不及 Python 的简单易用。文章作了简单代码对比,能看出 Python 在快速开发和原型设计中更具优势。
11、Go 与 Python 无服务器应用:性能、成本和易用性[14]
Serverless 让开发者关注于开发应用,而无需担心底层的基础设施。那么,Go 和 Python 在无服务器应用开发中,有何优劣呢?文章从三个维度对它们作了比较。
12、Google Trends API 替代方案:维基百科网页浏览统计[15]
Google Trends 没有官方的 Python API,但非官方的 API 并不可靠,因此作者寻找替代方案来了解搜索及话题趋势。文章介绍了维基百科相关 API 的使用。
🐿️项目&资源[16]
1、polar:开源的 Lemon Squeezy 替代品[17]
面向开源和独立开发者的一体化的资金和商业化平台,售卖数字产品和订阅制产品,包括 Github 代码库、Discord 频道、文件下载和许可证等。(star 2.6K)
2、gigi:用于实时渲染的原型设计和开发框架[18]
用于快速原型设计和开发实时渲染技术。包括编辑器、查看器和编译器三个组件,支持 DirectX 12 代码生成。
3、nestedtext:一种用户友好的数据格式[19]
一种保存结构化数据的文件格式,与 JSON 类似,可直观输入、编辑和查看。只支持字符串类型,不支持其它类型(整数、实数、布尔类型等)。
4、maestro-cli:在命令行中播放音乐或任意音频[20]
一个命令行工具,可播放音频。支持 YouTube、YouTube Music 和 Spotify 的歌曲,支持歌词、剪辑、按标签过滤、统计数量、音频可视化、音乐发现。
5、repo2file: 选定代码仓多文件,转储成单个文件[21]
将代码仓的文件转储到单文件中,便于在 RAG 和 LLM 中使用。支持整个代码仓、遵循 .gitignore、可按文件类型筛选。
6、edx-platform:Open edX LMS 和 Studio[22]
一个面向服务的平台,用于编写和提供任意规模的在线学习。提供内容管理服务和学习管理服务。(star 7.3K)
7、langflow:用于 RAG 和多代理 AI 的低代码应用开发工具[23]
基于 Python,与模型、API、数据源和数据库无关。可视化 IDE,支持拖拽。多代理编排和对话管理。集成 LangSmith、LangFuse 和 LangWatch,实现可观测性。(star 28.3K)
8、crawl4ai:LLM 友好的网络爬虫和抓取器[24]
简化了网络爬取和数据提取,使其可用于大语言模型和 AI 应用。支持同时爬取多个 URL、提取所有内外部链接、在爬取前执行自定义 JavaScript、支持 CSS 选择器。(star 2.7K)
9、litecli:SQLite 的 CLI,支持自动补全和语法高亮[25]
用 Python 开发的 SQLite 命令行客户端,支持常规数据库操作、自动补全命令、语法高亮。(star 2.5K)
10、defusedxml:拆除 XML 炸弹和其它漏洞[26]
提供安全的方式来处理 XML 文件,通过修改标准库中的 XML 解析器,移除可能导致安全漏洞的功能。
11、sail:使命是统一流处理、批处理和计算密集型 (AI) 工作负载[27]
在单进程设置中提供了 Spark SQL 和 Spark DataFrame API 的直接替代品。
12、dbos-transact-py:超轻量级的持久执行[28]
当出现中断或崩溃,它会自动从最后完成的步骤恢复,达到持久执行的效果。使用 Postgre 保存执行状态,用 OpenTelemetry 跟踪工作流。
🐧 往年回顾[29]
Python 潮流周刊#19:Mojo 终于提供下载了
🐱欢迎订阅[31]
技术周刊是聪明人在信息过载时代中筛选优质知识的聪明手段。这是一个专为国内 Python 开发者量身打造的资讯平台,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等丰富内容。立即订阅[32],每周将收到一篇文章推送,每周进步一点点。
欢迎留言,说说你最喜欢本期的哪一则分享?大家反馈得越多,我今后分享的也会越多!
欢迎将本专栏[33]分享给同样爱学习的同学,当有人通过你分享的海报或者链接,购买了专栏,那么你将获得高额的返利。
Python 潮流周刊第 2 季完结了,分享几项总结[34]
Python 潮流周刊第一季精华合集(1~30)[35]
万字浓缩版,Python 潮流周刊第 1 季的 800 个链接![36]
🎭关联阅读
上一期:Python 潮流周刊#68:2023 年 Python 开发者调查结果[37]
下一期:Python 潮流周刊#70:微软 Excel 中的 Python 正式发布![38]
电报频道: https://t.me/pythontrendingweekly
[2]🦄文章&教程: https://xiaobot.net/p/python_weekly
[3]是时候停止使用 Python 3.8 了: https://pythonspeed.com/articles/stop-using-python-3.8/
[4]什么时候升级到 Python 3.13 比较好?: https://pythonspeed.com/articles/upgrade-python-3.13/
[5]多版本 Python 库的思考: https://lucumr.pocoo.org/2024/9/9/multiversion-python/
[6]为什么我要从 Pandas 切换用 Polars?: https://arilamstein.com/blog/2024/09/04/why-im-switching-to-polars/
[7]我们如何将 Jupyter Notebook 的加载速度提高 10 倍?: https://www.singlestore.com/blog/how-we-made-notebooks-load-10-times-faster/
[8]异步 IO:下一个 10 亿美元的错误? : https://yorickpeterse.com/articles/asynchronous-io-the-next-billion-dollar-mistake/
[9]使用各种 Web 框架开发相同的程序: https://eugeneyan.com//writing/web-frameworks/
[10]用 Weaviate 和 Streamlit 开发一个电影推荐应用: https://blog.streamlit.io/how-to-recommendation-app-vector-database-weaviate/
[11]用于 Docker 构建的 PyPI 代理: https://www.robopenguins.com/pypi-proxy/
[12]被 Unicode 咬伤了: https://pyatl.dev/2024/09/01/bitten-by-unicode/
[13]Rust 用于小型任务?那么 Python 呢?: https://dataengineeringcentral.substack.com/p/rust-for-the-small-things
[14]Go 与 Python 无服务器应用:性能、成本和易用性: https://atakanerbas.com/programming/2024/08/29/go-vs-python-serverless.html
[15]Google Trends API 替代方案:维基百科网页浏览统计: https://substack.com/@franz101/p-148522892
[16]🐿️项目&资源: https://xiaobot.net/p/python_weekly
[17]polar:开源的 Lemon Squeezy 替代品: https://github.com/polarsource/polar
[18]gigi:用于实时渲染的原型设计和开发框架: https://github.com/electronicarts/gigi
[19]nestedtext:一种用户友好的数据格式: https://github.com/KenKundert/nestedtext
[20]maestro-cli:在命令行中播放音乐或任意音频: https://github.com/PrajwalVandana/maestro-cli
[21]repo2file: 选定代码仓多文件,转储成单个文件: https://github.com/artkulak/repo2file
[22]edx-platform:Open edX LMS 和 Studio: https://github.com/openedx/edx-platform
[23]langflow:用于 RAG 和多代理 AI 的低代码应用开发工具: https://github.com/langflow-ai/langflow
[24]crawl4ai:LLM 友好的网络爬虫和抓取器: https://github.com/unclecode/crawl4ai
[25]litecli:SQLite 的 CLI,支持自动补全和语法高亮: https://github.com/dbcli/litecli
[26]defusedxml:拆除 XML 炸弹和其它漏洞: https://github.com/tiran/defusedxml
[27]sail:使命是统一流处理、批处理和计算密集型 (AI) 工作负载: https://github.com/lakehq/sail
[28]dbos-transact-py:超轻量级的持久执行: https://github.com/dbos-inc/dbos-transact-py
[29]🐧 往年回顾: https://xiaobot.net/p/python_weekly
[30]Python 潮流周刊#19:Mojo 终于提供下载了!: https://pythoncat.top/posts/2023-09-09-weekly
[31]🐱欢迎订阅: https://xiaobot.net/p/python_weekly
[32]立即订阅: https://xiaobot.net/p/python_weekly
[33]本专栏: https://xiaobot.net/p/python_weekly
[34]Python 潮流周刊第 2 季完结了,分享几项总结: https://pythoncat.top/posts/2024-07-14-iweekly
[35]Python 潮流周刊第一季精华合集(1~30): https://pythoncat.top/posts/2023-12-11-weekly
[36]万字浓缩版,Python 潮流周刊第 1 季的 800 个链接!: https://xiaobot.net/post/78c3d645-86fa-4bd8-8eac-46fb192a339e
[37]Python 潮流周刊#68:2023 年 Python 开发者调查结果: https://pythoncat.top/posts/2024-09-07-weekly
[38]Python 潮流周刊#70:微软 Excel 中的 Python 正式发布!: https://pythoncat.top/posts/2024-09-21-weekly