查看原文
其他

Python 潮流周刊#19:Mojo 终于提供下载了!

豌豆花下猫 Python猫 2023-09-10

△点击上方“Python猫”关注 ,回复“1”领取电子书

你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。标题取自其中两则分享,不代表全部内容都是该主题,特此声明。

本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职业和副业的收入。

为了方便读者获取原始内容,我已将周刊的 Markdown 文件归档在 Github,请通过以下链接获取:https://github.com/chinesehuazhou/python-weekly

🦄文章&教程

1、Mojo🔥 终于提供下载了![1]

Mojo 语言是今年发布的“高性能的 Pyhton++”,周刊第 17 期刚分享过它获得了 1 亿美元融资,这周它就发布了 Linux 版本的安装包。除了编译器功能,它还提供了一些 IDE 工具(终端 shell、VS Code 插件、Jupyter 内核),暂不支持调试,暂无 Mac 和 Windows 版本。

2、我们能从 PEP-703 中学到什么?[2]

PEP-703 是 no-gil 项目的提案,我们曾多次介绍过。作者讨论了该 PEP 中的一些话题,例如尽量少依赖原子操作的引用计数、延迟的引用计数、gc 不再会分代、对象锁等,从中能看出 Python 社区在性能和兼容性上的权衡。

3、用 500 行 Python 代码写一个 C 语言编译器[3]

实现一个 C 语言编译器需要多少行 Python 代码?文章介绍了编译器的架构、代码解析与生成流程,尝试用 500 行代码实现了一个简易的 C 编译器。

4、简单介绍如何用 Python 作协议缓冲区编程[4]

协议缓冲区(Protocol buffer)是一种与语言无关的数据序列化格式,类似于 Python 的 pickle 格式。文章介绍了如何用 Python 创建与编译协议缓冲区文件,并与支持该协议的其它语言进行通信。

5、用 Python 和 matplotlib 创建漂亮的极坐标直方图[5]

极坐标直方图(Polar Histogram)是一种用于可视化和分析数据分布的图表形式,它将数据划分为多个扇区,每个扇区的长度或面积表示该角度范围内数据的频率或数量。文章介绍了如何 Python 绘制极坐标直方图。

6、布隆过滤器图解与 Python 实现[6]

布隆过滤器(Bloom Filter)是一种数据结构,可用于快速判断一个元素是否存在于一个集合中,场景的使用场景:去重、缓存与快速查询、防止缓存穿透、过滤垃圾邮件等。文章介绍了它是什么、如何操作、Python 实现、如何调整布隆过滤器等。

7、Python 中的堆数据结构:最小和最大堆实现[7]

堆(Heap)是一种重要的数据结构,常用于快速访问最值、堆排序、调度与分配任务、图算法、数据压缩与编码等。文章介绍了它的基本概念、如何用 Python 实现最大堆和最小堆、它们的区别。

8、Python 容器化部署教程[8]

容器是一种轻量级的虚拟化技术,可实现 Python 程序的高效打包与部署。Red Hat 的这篇教程介绍了如何用 Podman 来构建、运行和管理 Python 容器。

9、2023 年 Python 包管理的实践指南[9]

这篇文章梳理了当前 Python 包管理时比较适用的一些最佳实践,例如使用 pyproject.toml、使用 setuptools 作分发和构建工具、用 Sphinx + reStructuredText + sphinx-rtd-theme 编写文档、用 CHANGELOG 列出版本更改、使用 black 和 flake8 等。

10、记一次 Python 应用内存泄漏问题定位[10]

作者使用 Airflow 作为任务调度器,上线后每隔一段时间就出现 Scheduler 内存 OOM 问题,这篇文章详细记录了问题定位分析的过程。介绍了三个工具:objgraph、pympler、tracemalloc

11、介绍 flake8-logging[11]

作者认为标准库logging 比较难用,加上在程序错误时经常会缺少必要的日志,因此开发了 flake8-logging 插件。它有 12 条规则,这篇文章介绍了 3 条:使用 logging.getLogger() 实例化记录器、在异常处理时使用 exception()、避免预先格式化日志信息。

12、Falcon 180B 正式在 Hugging Face Hub 上发布[12]

Falcon 作为当前最大的开源大模型,有 180B 参数并且是在在 3.5 万亿 token 的 TII RefinedWeb 数据集上进行训练,是目前开源模型里最长的单波段预训练。文章介绍了它的优势以及入门使用。

🎁Python潮流周刊🎁已免费发布了 19 期,访问下方链接,即可查看全部内容:https://pythoncat.top/tags/weekly[13]

如果你觉得周刊有价值,请表达小小心意,赞赏一下猫哥吧~~

🐿️项目&资源

1、pkuseg-python:多领域中文分词工具,比 jieba 准确性更高[14]

不同于其它通用中文分词工具,它支持多领域分词、有更高的分词准确率、支持用户自训练模型、支持词性标注。准确性超过 jieba、THULAC 两个中文分词工具。(star 6.2K)

2、pysentation:在 CLI 里显示演示文稿[15]

在命令行终端里制作和展示 presentation,支持标题、颜色、主题、放大、解释、快捷键等功能。

3、compress:基于个人语料库的快捷输入工具[16]

导入个人的语料库后,可以用缩写方式输入长串的内容。使用了 Autokey 来实现 Linux 的键盘快捷键。(star 1.3K)

4、textbase:用于构建 AI 聊天机器人的简单框架[17]

一个使用 NLP 和 ML 构建聊天机器人的框架,轻松开发和部署 Web 应用。计划集成短信、本地集成大语言模型(Claude、Llama)。(star 1.2K)

5、reader:Python 开发的 feed 阅读器库[18]

功能丰富的 feed 阅读器,支持检索、存储和管理 Atom、RSS 和 JSON 源,支持标记文章为已读或重要、支持过滤 feed 和文章、支持全文搜索、支持统计用户活动、支持插件。

6、Baichuan2:百川 53B 大模型在线对话平台[19]

百川智能推出的新一代开源大语言模型,采用 2.6 万亿 Tokens 的高质量语料训练。在通用、法律、医疗、数学、代码和多语言翻译六个领域的中英文和多语言权威数据集上对模型进行了广泛测试。

7、svcs:灵活的 Python 服务定位器[20]

Python 的依赖注入容器,提供了一个注册类型/接口工厂的机制,通过自动清理和运行状况检查强制获取这些类型的实例。使用依赖注入和服务定位来实现控制反转,消除大量重复的样板代码。

8、gpt_academic: 为 ChatGPT/GLM 提供实用化交互界面[21]

GPT 学术优化,特别优化论文阅读/润色/写作体验,模块化设计,支持自定义快捷按钮&函数插件,支持 Python 和 C++ 等项目剖析&自译解功能,PDF/LaTex 论文翻译&总结功能,支持并行问询多种 LLM 模型,支持 chatglm2 等本地模型。兼容文心一言, moss, llama2, rwkv, claude2, 通义千问, 书生, 讯飞星火等。(star 41K)

🐱赞助&支持

如果你喜欢周刊,请分享给其他需要的同学,让更多人可以从中受益~

如果你觉得周刊有价值,请随意赞赏[22]买杯咖啡[23] 进行支持!

如果你想帮助周刊办得更好,欢迎向我们投稿或提出建议:投稿/建议通道[24]

如果你是品牌方或广告主,欢迎私信我,洽谈赞助与合作事项。

🐼欢迎订阅

  • 微信公众号[25]:除更新周刊外,还发布其它原创作品,并转载一些优质文章。(可加好友,可加读者交流群)
  • 博客[26]RSS[27]:我的独立博客,上面有历年原创/翻译的技术文章,以及从 2009 年以来的一些随笔。
  • Github[28]:你可以获取本周刊的 Markdown 源文件,做任何想做的事!
  • 邮件[29]:在 Substack 上开通的频道,满足你通过邮件阅读时事通讯的诉求。
  • Telegram[30]:除了发布周刊的通知外,我将它视为一个“副刊”,补充发布更加丰富的资讯。
  • Twitter[31]:我的关注列表里有大量 Python 相关的开发者与组织的账号。

参考资料

[1]

Mojo🔥 终于提供下载了!: https://www.modular.com/blog/mojo-its-finally-here

[2]

我们能从 PEP-703 中学到什么?: https://www.cnblogs.com/apocelipes/p/17679741.html

[3]

用 500 行 Python 代码写一个 C 语言编译器: https://vgel.me/posts/c500/

[4]

简单介绍如何用 Python 作协议缓冲区编程: https://www.blog.pythonlibrary.org/2023/08/30/an-intro-to-protocol-buffers-with-python

[5]

用 Python 和 matplotlib 创建漂亮的极坐标直方图: https://dev.to/oscarleo/how-to-create-a-beautiful-polar-histogram-with-python-and-matplotlib-400l

[6]

布隆过滤器图解与 Python 实现: https://codeconfessions.substack.com/p/bloom-filters-and-beyond

[7]

Python 中的堆数据结构:最小和最大堆实现: https://favtutor.com/blogs/heap-in-python

[8]

Python 容器化部署教程: https://developers.redhat.com/articles/2023/09/05/beginners-guide-python-containers

[9]

2023 年 Python 包管理的实践指南: https://robamu.github.io/posts/packaging-python-in-2023/

[10]

记一次 Python 应用内存泄漏问题定位: https://juejin.cn/post/7274626136328536116

[11]

介绍 flake8-logging: https://adamj.eu/tech/2023/09/07/introducing-flake8-logging/

[12]

Falcon 180B 正式在 Hugging Face Hub 上发布: https://segmentfault.com/a/1190000044189692

[13]

https://pythoncat.top/tags/weekly: https://pythoncat.top/tags/weekly

[14]

pkuseg-python:多领域中文分词工具,比 jieba 准确性更高: https://github.com/lancopku/PKUSeg-python

[15]

pysentation:在 CLI 里显示演示文稿: https://github.com/mimseyedi/pysentation

[16]

compress:基于个人语料库的快捷输入工具: https://github.com/eschluntz/compress

[17]

textbase:用于构建 AI 聊天机器人的简单框架: https://github.com/cofactoryai/textbase

[18]

reader:Python 开发的 feed 阅读器库: https://github.com/lemon24/reader

[19]

Baichuan2:百川 53B 大模型在线对话平台: https://github.com/baichuan-inc/Baichuan2

[20]

svcs:灵活的 Python 服务定位器: https://github.com/hynek/svcs/

[21]

gpt_academic: 为 ChatGPT/GLM 提供实用化交互界面: https://github.com/binary-husky/gpt_academic

[22]

赞赏: https://img.pythoncat.top/wechat_code.png

[23]

买杯咖啡: https://www.buymeacoffee.com/pythoncat

[24]

投稿/建议通道: https://github.com/chinesehuazhou/python-weekly/issues/new

[25]

微信公众号: https://img.pythoncat.top/python_cat.jpg

[26]

博客: https://pythoncat.top

[27]

RSS: https://pythoncat.top/rss.xml

[28]

Github: https://github.com/chinesehuazhou/python-weekly

[29]

邮件: https://pythoncat.substack.com

[30]

Telegram: https://t.me/pythontrendingweekly

[31]

Twitter: https://twitter.com/chinesehuazhou

如果你觉得本文有帮助
请慷慨分享点赞,感谢啦

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存