乐趣区

关于python:Python潮流周刊3PyPI-的安全问题

你好,我是豌豆花下猫。这里记录每周值得分享的 Python 及通用技术内容,局部为英文,已在小标题注明。(题目取自其中一则分享,不代表全部内容都是该主题,特此申明。)

文章 & 教程

1、把握 Python 面向对象编程的要害:类与对象

介绍类和对象概念,通过示例展现 Python 中的类和对象如何工作,包含定义、实例化和继承等。文章出自《Python 全景系列》,目前已更新七篇。

2、umongo + motor: 构建高效 MongoDB 利用的最佳组合

介绍如何在 Tornado 中集成 umongo 和 motor,实现用异步非阻塞的形式与 MongoDB 进行交互。文章出自《tornado 并发编程系列》,目前已更新六篇。

3、徒手应用 LangChain 搭建一个 ChatGPT PDF 知识库

演示了如何应用 langchain 和 ChatGPT 搭建一个本地的 PDF 知识库,文中应用了 pdfplumber 解决 PDF 文件、应用 streamlit 绘制 UI 界面。知识库搭建和应用流程图如下:

4、Python 真的是靠一个 switch 来执行字节码的吗?

一个风行的观点说:CPython 有一个大 switch,会依据不同的 opcode 跳到相应的 case 分支去执行字节码。文章提出了质疑,最初的论断是:只有 Python 启用了 computed goto(比方在 Mac 和 Linux 上),字节码的执行就不依赖 switch。而这个性能在 Python 3.2 中就已是默认开启的。

5、SQLite 的文艺复兴

文章的结尾把我震惊了:“SQLite 源码有 15 多万行,但测试代码和脚本竟有九千多万行”!文章介绍了 SQLite 的架构,以及多个基于它的开源我的项目,如 Litefs、sql.js、absurd-sql、postlite、sqlite3vfshttp 等等,答复了为什么 SQLite 能在如此多畛域有翻新的我的项目呈现?

6、八十行代码实现开源的 Midjourney、Stable Diffusion“咒语”作图工具

通过 Docker 和 80 行左右的 Python 代码,实现一款相似 Midjourney 官网图片解析性能 Describe 的 Prompt 工具。提供了两个版本的工具,别离反对 CPU 和 GPU 推理应用。

7、像写 Rust 一样写 Python(英文)

分享了从 Rust 中学到的一些编程习惯:应用类型提醒、应用数据类代替元组或字典、应用代数数据类型、应用“newtype”、应用构造函数、应用互斥锁等。总体而言,它们并不是那些“集体爱好式”的编程格调,而是切实能晋升代码健壮性和可维护性的编程教训。

8、一系列的 Flask 小贴士(英文)这个《Flask Tips》栏目已分享了 58 个应用 Flask 的小常识,另外其作者在最新的博文《我开发 Flask 程序时最喜爱用的库》中,介绍了 APIFairy、Frozen-Flask、Flask-SQLAlchemy 等 10 个罕用的库。

9、Celery 的诸多问题(英文)

Celery 是一个分布式工作队列库,用于实现异步解决和定时工作等性能。但它有很多“问题”,这篇文章一口气列出了 15 个,是一份避坑指南。不过,并非所有问题都有解决方案,比如说它 API 接口不够 Pythonic、没有类型查看等,这些就只能“Live with it”了……

10、Python 借助 Gopy 库实现调用 Go 包(英文)

作者遇到一个动态验证 PromQL 查问的需要,但没有可用的 Python 库。文章介绍了应用 Gopy 将 Go 代码编译成 wheel 文件的办法,另外也揭示几个注意事项,比方对谬误的解决、操作系统的兼容性问题、调试和测试的问题。

11、最实用于 Pandas 的文件格式(英文)

应用 Pandas 前须要加载数据,它反对十分多种数据格式,但哪种才最合适呢?文中给出了三个衡量标准(类型反对、磁盘格式、读写速率),并测试了三种数据文件(CSV、JSON 和 Parquet),你猜最初的论断是什么呢?

12、对于 PyPI 的一系列新闻 / 文章(英文)

PyPI 在 3 月上线了官网博客,5 月初刚发表取得了 AWS 的 14.4 万美元资助,用于开设一个新的平安工程师职位。巧的是本周密集呈现了几件与平安相干的事件。

  • 5.21,PyPI 在间断一周受到恶意软件的侵扰后,长期暂停了新用户的注册及新我的项目的上传。(这有一篇文章,提到一则有相关性的新闻,这些恶意软件可能是趁 ChatGPT 的热点,通过窃取剪贴板内容从而劫持加密货币交易)
  • 5.23,PyPI 发表移除 PGP 签名,因为近三年上传的签名仅有 36% 为无效的,移除这项性能有利于升高保护老本。(这有一篇文章,应用大量数据和统计图剖析了 PyPI 上蹩脚的 PGP 状况)
  • 5.24,PyPI 发了一篇博客,披露 PSF 收到了美国司法部的三张要求提供 PyPI 用户数据的传票,在律师的倡议下,他们提供了司法部索要的数据,并公开了传票的相干细节。
  • 5.25,PyPI 公布《通过双因素身份验证爱护 PyPI 帐户》,发表在 2023 年底前,PyPI 上的帐户都必须启用双重验证(2FA),以此晋升账户的安全性。
  • 5.26,PyPI 公布《缩小 PyPI 中存储的 IP 数据》,介绍了团队出于不存储用户 IP 的目标而做的一些事件,试图既要爱护用户的隐衷,又能更好地运维治理。

我的项目 & 资源

1、CyberWaifu:应用 LLM 和 TTS 实现的聊天机器人

应用 LangChain 作为 LLM 主体框架,应用 go-cqhttp 进行 QQ 机器人部署,TTS 反对 vits、edge-tts,语言模型反对 ChatGPT 和 Claude。

2、FastGPT:基于 openai 搭建的知识库平台

技术栈: NextJs + TS + ChakraUI + Mongo + Postgres,反对私有化部署,能够在线体验。

3、jesth:更具可读性的数据序列化格局(英文)

文档将这种新格局与 TOML、YAML 和 JSON 别离做了比照,并具体展现了在 Python 中的应用办法。

4、trogon:为 CLI 程序生成敌对的用户界面(英文)

命令行程序本就是无界面的,然而这对于用户来说不够敌对。这个我的项目能够生成好看的界面,用于编辑和运行命令。

5、ipyflow:用于 Jupyter 笔记本的响应式 Python 内核(英文)

可在交互式会话期间,跟踪符号和单元格之间的数据流关系,反对的性能:显示执行倡议、反对响应式执行、语法拓展、集成了 ipywidgets,等等。

6、solara:一个纯 python、React- 格调的框架(英文)

solara 可应用 Reacton(纯 Python 实现的 React)创立基于 ipywidget 的程序。可用在 Jupyter Notebook,也能够作为独立的 Web 程序在 FastAPI 等框架中应用。

7、Python 3.12 的 beta 1 版本已公布(英文)

3.12 的最终版本打算在 10 月 2 日公布,目前公布了 beta 1 版本,意味着不会再退出新性能。总体而言,这个版本更为精简了(删除了很多函数、类和办法),性能方面也有很多优化。值得一提的是,这个版本尽管引入了 PEP-684(每个子解释器的独立 GIL),但须要等 3.13 版本实现 PEP-554(规范库中的多解释器)后,才真正的可用。

8、比照 Python 与 Rust 的编程习惯用法(英文)

这是一个有意思的网站,可比拟不同编程语言在 300 多项习惯用法上的区别,晋升学习效率。咱们这里比拟了 Python 和 Rust,在网站首页可选的语言有 30 种。

播客 & 视频

1、哈佛大学的 Python 编程入门课程(英文)

哈佛大学计算机科学业余的入门课程,向初学者介绍计算机科学和编程根底,以及如何应用 Python 进行编程。目前已有 50 万人参加学习。

2、举荐 10 个最好用的 Django 插件(英文)

这期视频中,《Django by Example》书籍的作者举荐了 10 个 Django 插件,例如 Django Debug Toolbar、Django REST Framework、Django Channels,等等。

问题 & 探讨

1、Windows 要反对 tar、7-zip、rar、gz 等格局啦?(英文)

来自一则匿名爆料,Windows 要利用开源我的项目 libarchive 实现对 rar 等格局的反对了。这会是真的么?

2、构建 API 的最佳语言——TS/JS vs. Python(英文)

从可维护性、优雅性、灵活性和开发速度的角度来看,这两种语言的 API 开发体验哪种更好?

资助 & 反对

内容创作不易,如果你感觉有帮忙,请随便赞叹、买杯咖啡或在爱发电进行反对!如果你喜爱本周刊,请转发分享给其余须要的同学~

另诚邀赞助者,欢送通过私信分割。

对于周刊

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

订阅形式:Python 猫 | RSS | 邮件 | Github | Telegram | Twitter

退出移动版