Python 潮流週刊#26:requests3 的現狀

豌豆花下貓發表於2023-11-12

你好,我是貓哥。這裡每週分享優質的 Python、AI 及通用技術內容,大部分為英文。本週刊開源,歡迎投稿。另有電報頻道作為副刊,補充發布更加豐富的資訊。

?品牌贊助

本週刊由“Python貓”出品,這是一個以 Python 技術科普和分享為主的科技自媒體,歡迎關注同名公眾號。品牌合作請私信聯絡。

?文章&教程

1、Kenneth Reitz:遲來的道歉,以及 requests 3 的進展

2019 年時 requests 3 的籌款鬧出了不小的風波,後來似乎沒什麼訊息。現在作者發了一篇道歉文,看來專案是要重啟了!文中列舉了目前已經完成的一些事情,包括給所有公開介面加上了型別提示、重構所有名稱空間和調整成相容非同步程式設計等。(附:籌款風波之《Why I'm not collaborating with Kenneth Reitz》)

2、grequests:非同步的 HTTP 請求

grequests 構建在 gevent 庫之上,可以併發多個請求,有效利用非同步程式設計的強大功能。這篇基礎教程介紹了它的基本使用方法,以及一個提升效能的建議。

3、開發一個 Python 編譯器和直譯器

這是一系列博文,目前已更新 6 篇,目標是探索和研究實現 Python 等程式語言所需的概念和演算法,將會涉及分詞器、解析器、編譯器和直譯器。

4、使用 Python+ChatGPT 開發一個書籍摘要 AI

一篇教程,用 Python、Langchain 和 OpenAI embedding 開發一個書籍摘要工具。另外,作者使用 Streamlit 釋出了一個線上體驗網站

AI作書籍摘要

5、資料庫生成的列 :Django & SQLite

GeneratedField 是正在開發的 Django 5.0 的新功能,利用資料庫的能力自動計算資料列的值。作者是 Django 的貢獻者,測試了在 SQLite 中使用這個新功能的各種場景。(附:這篇文章還介紹了一些 Django 5.0 中的新東西

6、你能用 Python 的 bisect 模組做到這些事

bisect 模組只有兩個函式,但可以做很多事,文章介紹了:二分搜尋、字首搜尋、在列表中查詢連續的相等值、查詢字典中最接近的鍵、自定義物件的排序、按照字典 key 搜尋。

7、為什麼說在 Windows 上為 Python 3.12 構建的 SciPy 是一個小奇蹟?

每當 Python 釋出新版本時,三方庫的維護者們也要緊鑼密鼓開發相容的對應版本,這不是輕鬆的事。作者介紹了他們遇到的嚴峻挑戰,其實就是 Python 社群老大難的打包問題。好在維護者們已經找到了適用的解決方案。

8、使用 AI 進行網頁抓取實驗(使用 GPT-4 解析 HTML)

OpenAI 釋出了新的模型,它的能力到底如何呢?使用 GPT-4 作網頁抓取,具有哪些優點和缺點呢?文章分別實驗了抓取結構良好的網站、抓取 Google 自然搜尋結果、抓取 Google SERP、以及抓取 Google MAPS 結果。

9、Django vs Flask:哪個是最好的 Python Web 框架?

Python 圈最為流行的兩大 Web 框架,到底應該如何取捨呢?這是一篇細緻的長文,詳細對比了它們在模板系統、URL 排程器、資料庫支援、身份驗證及授權、測試、軟體架構、學習曲線等方面的差異。沒有更好的,只有是否適合你的。

Web框架的使用率佔比

10、在 Mac 上安裝 Python 的正確方法

如何在新的 M2 MacBook 上安裝 Python 呢?這篇手把手的指導教程中,作者給出的建議是 Pyenv + pyenv-virtualenv

11、用 Python 開發簡單的 Android 資料分析應用

這篇教程指導你開發一個 Android 資料分析應用,其作用是記錄和顯示你全天在螢幕上花費的時間。使用的 GUI 框架是kivy ,資料分析使用了Pandas

12、改進 Numpy 的 Python API,為 2.0 版本準備

NEP-52 是 Numpy 的一則增強提案,旨在識別 Numpy 中過時、重複和棄用的 Python API,並作重構最佳化。這項工作是為了順利遷移到 Numpy 2.0 而做的準備。作者介紹了他在其中遇到的挑戰和取得的部分成就。

?Python開發者調查?官方第七次開發者調查,旨在瞭解 Python 開發社群的現狀,鼓勵你花費幾分鐘來填寫:填寫地址

?️專案&資源

1、pyvideotrans:影片的語言翻譯,並新增配音

一個影片翻譯工具,可將一種語言的影片翻譯為另一種語言和配音的影片。(star 1.4K)

2、pyink:Google 內部修改 Black 而成的程式碼格式化工具

由 Black 派生而成,用於解決 Google 數千名工程師在 monorepo 上工作產生的問題。

3、sqlmodel:Python 中的 SQL 資料庫

由 FastAPI 作者開源的 SQL 資料庫,結合了 SQLAlchemy 和 Pydantic,旨在實現簡單性、相容性和穩健性。(star 11.2K)

4、wagtail:一個 Django 內容管理系統

一個專注於使用者體驗的後臺管理系統,上期分享了關於“Django Admin 醜陋”的文章,wagtail 是可提供給終端使用者使用的最佳推薦。(star 16.2K)

Wagtail美觀的介面設計

5、NBA-Machine-Learning-Sports-Betting:使用機器學習的 NBA 比賽預測

一個機器學習 AI,用於預測 NBA 比賽勝負。包含 2007-08 賽季到本賽季的所有球隊資料。

6、Python_EBook_Free:Python 電子書和資源

這個倉庫歸檔了一些 Python 電子書和學習資源,都是 PDF 格式。

7、pathway:高吞吐量和低延遲實時資料處理框架

一個資料處理框架,結合了 LLM 程式的批處理、流式處理和實時 API,可與各種資料來源互動(如 Kafka、CSV 檔案、SQL/noSQL 資料庫和 REST API)。

8、prefect:一個工作流編排工具,構建資料管道

它是資料密集型工作流的編排器,可將 Python 函式轉換為可觀察和編排的工作單元。支援自動重試、分散式執行、排程、快取等功能,擁有強大的儀表板進行監控。(star 13.2K)

Prefect的儀表板

9、VideoCrafter:生成高質量影片模型

一個支援高畫質晰度的影片生成和編輯工具,目前包括文字生成影片及圖片生成影片兩種模型。(star 3K)

10、程式設計師值得看的 42 個學習資源

這篇文章收集了一系列基礎資源、課程和教程、編碼遊戲、書籍、播客、YouTube 頻道、最佳實踐等等。

11、networkx:Python 的網路分析庫

用於建立、操作和研究複雜網路的結構、動力學和功能,適用於複雜網路的分析。(star 13.4K)

12、PythonFrameworks:Python 的各種框架彙總

這個專案收錄了 Python 中的各種框架,有 Web 框架、API 框架、CMS、ML&DL&AI、任務/訊息佇列、並行&分散式計算、工作流&管道、DevOps、爬蟲、GUI&TUI,等等。提供有一個線上網站

一部分Web框架

?播客&影片

1、core.py:一檔新的 Python 播客

由 Python 核心開發者 Pablo Galindo 和 Łukasz Langa 主理的播客,已推出兩期節目:核心開發者 Sprint 及 Python 3.13.0 alpha 1PEP-703:移除 GIL

2、為什麼靜態型別又流行起來了?

上世紀 90 年代誕生的 Python、Ruby、PHP 和 JavaScript 這些動態程式語言都在擁抱靜態型別(mypy、Sorbet、Hack 和 TypeScript),誕生不算久的 Go、Kotlin、Dart 和 Rust 等都是靜態型別。為什麼靜態型別捲土重來?這對未來意味著什麼?

3、《Boost your Git DX》作者的兩期播客

Adam Johnson 新書《提升你的 Git 開發者體驗》上市後,分別參加了Real Python Podcast #179Pybites #139 兩期播客節目。

?歡迎訂閱

  • 微信公眾號:除更新週刊外,還發布其它原創作品,並轉載一些優質文章。(可加好友,可加讀者交流群)
  • 部落格RSS:我的獨立部落格,上面有歷年原創/翻譯的技術文章,以及從 2009 年以來的一些隨筆。
  • Github:你可以獲取本週刊的 Markdown 原始檔,做任何想做的事!
  • 郵件:在 Substack 上開通的頻道,滿足你透過郵件閱讀時事通訊的訴求。
  • Telegram:除了釋出週刊的通知外,我將它視為一個“副刊”,補充發布更加豐富的資訊。
  • Twitter:我的關注列表裡有大量 Python 相關的開發者與組織的賬號。

相關文章