你好,我是猫哥。这里每周分享优质的 Python 及通用技术内容,局部为英文,已在小标题注明。(题目取自其中一则分享,不代表全部内容都是该主题,特此申明。)
首发于我的博客:https://pythoncat.top/posts/2023-07-01-weekly
周刊的投稿通道已凋谢 ,请在 Github 我的项目中提交 issue:https://github.com/chinesehuazhou/python-weekly
🦄文章 & 教程
- 本地部署开源大模型的残缺教程:LangChain + Streamlit+ Llama (英)
一篇步骤清晰的教程,它应用 LangChain 及 Facebook 开源的 LLaMA 大语言模型搭建了一个基于文档的问答助手,另外应用 Streamlit 构建出一个好看的用户界面。(附一篇中文的翻译文)
- Python Asyncio 协程对象开销老本
一个 Python Asyncio 协程会占用有多少内存呢?文章的测试论断是约 2Kb。另外,文中还测试了以下的问题:每秒可创立多少个裸协程?每秒可解决多少个协程?应用 uvloop
后,创立及解决协程工作,能有多少晋升?
- 如何应用 asyncio.Runner 执行多个协程 (英)
asyncio.Runner 是 Python 3.11 中新增的性能,反对在同一事件循环中执行多个协程。文章次要内容:如何应用 asyncio.run() 运行多个协程,如何应用包装办法运行多个协程,以及如何应用 asyncio.Runner 类在同一个事件循环中以自适应甚至有条件的形式执行协程。
- 不应用锁的并发实现 (英)
在并发编程中,通常须要应用锁,然而不应该滥用锁。这篇文章探讨了如何尽量不依赖锁来实现并发,演示的例子是生成短链接,次要的思维是“申请饶恕”而不是“提前查看”、应用 PostgreSQL 数据库提供的性能。
- 奉献 CPython 日记 (3) CPython 是如何运行的
文章介绍了 CPython 是如何把 Python 代码跑起来的,次要过程:词法剖析、语法分析、编译到字节码、执行字节码。
- Python JIT 编译器 – 即时编译 (英)
文章探讨了 JIT 编译的概念及其长处,并深入分析了支流的 Python JIT 编译器的优缺点(如 PyPy、Numba 和 Cython),介绍了在 Python 中应用 JIT 编译器的最佳实际和准则。
- CPython、Pypy、MicroPython、Jython……都是些什么?(英)
当咱们说 Python 时,通常指的是官网实现的 CPython,但还有很多的“Python”,比方 Pypy、Jython、MicroPython、Brython、RustPython 等等,还有很多像是新“Python”的货色,比方 Nuitka、WinPython、Psyco、Pyjion 等等。文章解释了相干的概念和工具。
- Python APScheduler:感触 AsyncIOScheduler 的弱小 (英)
APScheduler 是一个调度和自动化工作工具,它的 AsyncIOScheduler 反对调度异步函数和协程,文章介绍了它的性能、长处以及如何优化异步任务调度需要。
- 在生成代码时防止产生技术债权 (英)
GPT 和其它大语言模型能够疾速生成大量代码,但这也可能导致很多的凌乱代码。文章探讨了如何改良这些工具生成的代码,并将其融入到我的项目中的几种办法,包含采纳专家角色、提供示例、遵循最佳实际、遵循规范和明确指南以及代码搁置的失当地位等。
- 当 NumPy 太慢时 (英)
在不思考并行处理的状况下,如何晋升 Numpy 性能?NumPy 有三个固有瓶颈(急迫执行、通用编译代码和向量化导致的高内存使用率)。针对这些瓶颈,文章介绍四种解决方案:手动优化代码、应用 JAX 作即时编译、应用 Numba 作即时编译,以及应用提前编译。
- Numba 教程:应用 JIT 编译减速 Python 代码 (英)
Numba 是一个专用的即时编译器,通过将 Python 代码编译为高效的机器代码来打消解释执行的开销,从而晋升性能。文章介绍了 Numba 的性能、外部原理、次要用法和常见问题。
- 自动化晋升 Python 代码品质 (英)
如何应用较少的工夫和精力来晋升代码的品质?文章介绍了一些晋升代码品质的工具(flake8、Black、isort、mypy、bandit 等),以及应用 IDE、CI 和 pre-commit 等形式自动化调用这些工具。
- 应用 PandasAI 加强数据分析 (英)
PandasAI 是最近火爆的库,为 Pandas 集成了 AI 对话性能,可简化数据操作。文章介绍了 PandasAI 作简单查问与图表可视化的办法,以及介绍了它提供的十几个不便好用的函数。
- 写单元测试的最佳实际 (英)
单元测试的益处毋庸赘述,然而写单测却是开发者最厌恶的事件之一。文章列举了 10 条写单元测试的最佳实际,介绍了手工写单元测试的步骤,最初介绍了应用 Codium.AI 自动化编写测试的办法。
- Netflix 如何平安地迁徙到 GraphQL (英)
Netflix 官网的一篇博客,介绍了在将手机 APP 平安地从 Falcor 迁徙到 GraphQL 的过程中,所采纳的三种测试策略:AB 测试、Replay 测试和 Sticky Canaries。AB 测试用于评估新性能对客户的影响,Replay 测试用于验证迁徙的正确性,Sticky Canaries 用于验证性能和业务指标。
🎁Python 潮流周刊 🎁已收费公布了 9 期,拜访下方链接,即可查看全部内容:https://pythoncat.top/tags/weekly
🐿️我的项目 & 资源
- PyGWalker:将 pandas 数据转换为 Tableau 款式的可视化界面 (中英)
一个在 Jupyter Notebook 环境中运行的可视化摸索式剖析工具,仅一条命令即可生成一个可交互的图形界面,以相似 Tableau/PowerBI 的形式,通过拖拽字段进行数据分析。(star 6.5K)
- jnumpy:疾速用 Julia 编写 Python C 扩大 (英)
用 Julia 为 Python 写高性能的 C 扩大,提速约 200x。(@xgdgsc 投稿)
- jupyter-ai:JupyterLab 的生成式 AI 扩大 (英)
JupyterLab 官网提供的生成式 AI 扩大,次要提供了:%%ai
指令、原生的聊天 UI 页面、反对大量平台的大语言模型(AI21、Anthropic、Cohere、Hugging Face、OpenAI、SageMaker 等)。
- broadcast-service: 一个弱小的 Python 公布订阅者框架
一个公布订阅者框架,反对同步异步调度、定时工作、主题治理、公布订阅者回调等性能。(@Zeeland 投稿)
- cushy-storage: 一个基于磁盘缓存的 ORM 框架
一个基于磁盘缓存的 ORM 框架,可对根本数据类型及自定义的数据通过 ORM 进行增删改查,反对多种序列化操作和数据压缩形式。(@Zeeland 投稿)
- giskard:专用于 ML 模型的测试框架 (英)
如何测试机器学习模型、要涵盖哪些问题、如何施行测试?这个框架可扫描数十种破绽(性能偏差、数据透露、不鲁棒性、虚伪关联、适度自信、信念有余、不道德问题等),并基于后果生成特定畛域的测试套件。(star 1K)
- DragGAN:基于点的交互式图像编辑 (英)
本周最火我的项目,可在图像上通过拖动点的形式,生成想要的新图像,十分惊艳!(star 28K)
- plumbum: 永远不要再写 shell 脚本 (英)
除了相似 shell 的语法和不便的快捷方式外,这个库还提供了本地和近程命令执行(通过 SSH)、本地和近程文件系统门路、简略的目录和环境操作、以及一个可编程的 CLI 工具包。(star 2.6K)
- threestudio:用于生成 3D 内容的对立框架 (英)
反对用文本提醒、单个图像和大量镜头图像创立 3D 内容。反对多种模型,如 ProlificDreamer、DreamFusion、Magic3D、Score Jacobian Chaining,等等。(star 1.8K)
- rembg:一个删除图像背景的工具 (英)
反对删除图像的背景,反对多种应用形式(cli、库、docker)和多种弱小的性能。(star 10.5K)
🐼对于周刊
Python 潮流周刊,由豌豆花下猫主理,精心筛选国内外的 250+ 信息源,为你筛选最值得分享的文章、教程、开源我的项目、软件工具、播客和视频、热门话题等内容。愿景:帮忙所有读者精进 Python 技术,并增长职业和副业的支出。
内容创作要花费大量的工夫和精力,如果你感觉有帮忙,请随便赞叹、买杯咖啡或在爱发电进行反对!如果你喜爱本周刊,请转发分享给其余须要的同学,让更多人能够从中受害~
订阅形式:Python 猫 (可加群)| 邮件 | Github | Telegram | Twitter