你好,我是貓哥。這裡每週分享優質的 Python、AI 及通用技術內容,大部分為英文。標題取自其中兩則分享,不代表全部內容都是該主題,特此宣告。
微信 | 部落格 | 郵件 | Github | Telegram | Twitter
本週刊的原始檔歸檔在 Github 上,已收穫 777 star 好評,如果你也喜歡本週刊,就請給顆 star 支援一下吧:https://github.com/chinesehuazhou/python-weekly
?文章&教程
PEP-703 是 no-GIL 專案形成的提案,就在本週,Python 指導委員會宣佈採納了這個提案!這篇文章寫於訊息宣佈的兩週前,總結了過去一段時間裡發生的技術思考和進展。(附:PEP-703 的討論)
2、PEP-730 CPython 提供對 iOS 的官方支援
這是一個新提案,建議 CPython 提供對 iOS 系統的 Tier 3 級支援。如果提案被採納,則 Python 將會有更廣泛的使用。 BeeWare 和 Kivy 是支援 iOS 的 Python APP 開發框架,說明瞭技術的可行性。
文章探討在 Django 應用中整合一些高階的特性,例如:實現所見即所得編輯器、使用者認證授權、實時通訊功能、非同步任務、整合 Elasticsearch 作全文搜尋、自動化測試與持續整合。
介紹了使用 multiprocessing.Pool、multiprocessing.Queue 和 Redis 實現簡單的任務佇列,實現基礎的任務排程處理。
上期週刊分享了一則吐槽 Flask 向後相容性不好的文章(見下),這篇是對它的回應,作者是 Flask 的維護者之一。
這是上週《我們必須聊聊 Flask》的後續,作者收到了一些正面和反面的回應,文章延續了之前的話題,並主要反駁了一些觀點。
rip 是用 Rust 開發的 PyPI 包解析及安裝庫,即 Rust 版本 pip。它試圖在 Conda 和 PyPI 間架起一座堅固的橋樑,文章介紹它為了克服這兩者的主要區別(後設資料提取、Wheel 檔案後設資料、依賴項規範)而做的一些工作。
如何使用 Rust 實現關鍵程式碼來提升 Python 程式的效能?文章從多個方面最佳化 k-CorrSet 問題的實現,得到了很高的速度提升。
什麼是 lambda 表示式和 lambda 函式?lambda 函式與 Python 的其它函式有何不同?它有什麼侷限性、什麼時候應該避免使用、通常使用在什麼場景?
影片翻譯是對原始語言的影片處理後,顯示為其它語言的字幕及配音。文章是一個低成本的嘗試,技術棧:語音識別使用 openai-whisper 離線模型、文字翻譯使用 Google 介面、文字合成語音使用 Microsoft Edge tts。
整合測試是指將各個程式碼單元作為一個整體進行測試。文章介紹基於 FastAPI 的整合測試方法,包括如何模擬身份驗證、如何模擬外部 API、如何模擬 MangoDB 相關操作、如何模擬 AWS S3。
latexify_py 是一個 Google 開源的 Python 包,可以將 Python 原始碼片段編譯為相應的 LaTeX 表示式。文章介紹了它的使用方法,包括如何將 Python 函式轉為公式、Latexify 引數設定、Latexify 生成虛擬碼。
?Python潮流週刊?已免費釋出了 24 期,訪問下方連結,即可檢視全部內容:https://pythoncat.top/tags/weekly
?️專案&資源
Python 中比較成熟的任務佇列庫,支援 RabbitMQ、Redis 等中介軟體,很容易與主流 Web 框架整合。(star 22.4K)
RQ(Redis Queue)是基於 Redis 的任務作業庫,使用門檻低,支援排隊、定時、重試等功能。(star 9.2K)
簡單輕量級的任務佇列庫,支援 Redis、SQLite、檔案系統和記憶體儲存,支援多程式、多執行緒或 Greenlet 任務執行模型。(star 4.7K)
4、rip:快速解決和安裝 Python 包(Rust 版 pip)
用 Rust 實現的 pip,支援下載、解析和安裝 PyPI 包,支援 wheel (部分支援),計劃將 sdist 檔案。
5、Selenium-python-helium:Web 自動化庫,讓 Selenium 更好用
Selenium 是 Web 自動化的最優庫之一,Helium 是在其基礎上的封裝,使 Web 自動化更為方便。除了高階 API,它還簡化了 Web 驅動管理、支援與巢狀的 iFrame 中元素互動、支援隱式等待、支援顯式等待。(star 3.6K)
6、rendercv:用 YAML/JSON 檔案建立 PDF 格式的簡歷
它支援解析 YAML 及 JSON 檔案的簡歷,建立 latex 檔案,然後渲染成 PDF 格式。目前僅有一款主題。
7、latexify_py:用 Python 程式碼生成 LaTeX 表示式
可以將 Python 原始碼或 AST 編譯為 LaTex,使用 IPython 來漂亮地列印編譯的函式。(star 6.5K)
8、localpilot:Mac 上的 Github Copilot
在 Macbook 本機上使用的程式設計助手,配置及使用非常簡易。(star 2.6K)
用於搜尋空間中靠近給定查詢點的點,與其它同類庫的最大不同是可使用靜態檔案作為索引,可實現跨程式共享索引。被 Spotify 用作音樂推薦。(star 12.1K)
10、voyager:用於 Python 和 Java 的近似鄰搜尋庫
可對記憶體中的向量集合執行快速的近似最近鄰搜尋。也是出自 Spotify,每天被查詢數億次,扛得住海量使用者的請求。召回率比 annoy 高。
它旨在構建測試領域的“智慧體”,融合大模型和質量領域工程化技術,促進質量技術代系升級。開源了測試領域模型 TestGPT-7B,該模型以 CodeLlama-7B 為基座。
12、waymax:用於自動駕駛研究的基於 JAX 的模擬器
Waymo 是 Google 旗下的自動駕駛公司,Waymax 是其開源的輕量級、多智慧體、基於 JAX 的自動駕駛模擬器,可輕鬆分發和部署在 GPU 和 TPU 等硬體加速器上。
?播客&影片
Jinja 的主要作者 Armin Ronacher 在 2012 年的演講影片,介紹了 Jinja 編譯器基礎結構的設計,為什麼這樣設計,以及不同版本的迭代發展過程。(附:演講的 PPT)
2、讓我們聊一聊模板
Armin Ronacher 在 2014 年的演講影片,比較了 Jinja 和 Django 的模板,分析它們產生截然不同設計的歷史原因。(附:演講的 PPT)
JupyterCon 是一個專注於 Jupyter 應用和工具的年度活動,包括資料科學、機器學習、科學計算、資料視覺化、教育和科學研究等領域。
?贊助&支援
如果你喜歡週刊,請分享給其他需要的同學,讓更多人可以從中受益~
如果你想幫助週刊辦得更好,歡迎向我們投稿或提出建議:投稿/建議通道
如果你是品牌方或廣告主,歡迎私信我,洽談贊助與合作事項。