你好,我是貓哥。這裡每週分享優質的 Python、AI 及通用技術內容,大部分為英文。本週刊開源,歡迎投稿。另有電報頻道作為副刊,補充發布更加豐富的資訊。
?品牌贊助
本週刊由“Python貓”出品,這是一個以 Python 技術科普和分享為主的科技自媒體,歡迎關注同名公眾號。品牌合作請私信聯絡。
?文章&教程
1、Kenneth Reitz:遲來的道歉,以及 requests 3 的進展
2019 年時 requests 3 的籌款鬧出了不小的風波,後來似乎沒什麼訊息。現在作者發了一篇道歉文,看來專案是要重啟了!文中列舉了目前已經完成的一些事情,包括給所有公開介面加上了型別提示、重構所有名稱空間和調整成相容非同步程式設計等。(附:籌款風波之《Why I'm not collaborating with Kenneth Reitz》)
grequests
構建在 gevent
庫之上,可以併發多個請求,有效利用非同步程式設計的強大功能。這篇基礎教程介紹了它的基本使用方法,以及一個提升效能的建議。
這是一系列博文,目前已更新 6 篇,目標是探索和研究實現 Python 等程式語言所需的概念和演算法,將會涉及分詞器、解析器、編譯器和直譯器。
4、使用 Python+ChatGPT 開發一個書籍摘要 AI
一篇教程,用 Python、Langchain 和 OpenAI embedding 開發一個書籍摘要工具。另外,作者使用 Streamlit 釋出了一個線上體驗網站。
GeneratedField
是正在開發的 Django 5.0 的新功能,利用資料庫的能力自動計算資料列的值。作者是 Django 的貢獻者,測試了在 SQLite 中使用這個新功能的各種場景。(附:這篇文章還介紹了一些 Django 5.0 中的新東西)
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 排程器、資料庫支援、身份驗證及授權、測試、軟體架構、學習曲線等方面的差異。沒有更好的,只有是否適合你的。
如何在新的 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 開發社群的現狀,鼓勵你花費幾分鐘來填寫:填寫地址
?️專案&資源
一個影片翻譯工具,可將一種語言的影片翻譯為另一種語言和配音的影片。(star 1.4K)
2、pyink:Google 內部修改 Black 而成的程式碼格式化工具
由 Black 派生而成,用於解決 Google 數千名工程師在 monorepo 上工作產生的問題。
由 FastAPI 作者開源的 SQL 資料庫,結合了 SQLAlchemy 和 Pydantic,旨在實現簡單性、相容性和穩健性。(star 11.2K)
一個專注於使用者體驗的後臺管理系統,上期分享了關於“Django Admin 醜陋”的文章,wagtail 是可提供給終端使用者使用的最佳推薦。(star 16.2K)
5、NBA-Machine-Learning-Sports-Betting:使用機器學習的 NBA 比賽預測
一個機器學習 AI,用於預測 NBA 比賽勝負。包含 2007-08 賽季到本賽季的所有球隊資料。
6、Python_EBook_Free:Python 電子書和資源
這個倉庫歸檔了一些 Python 電子書和學習資源,都是 PDF 格式。
一個資料處理框架,結合了 LLM 程式的批處理、流式處理和實時 API,可與各種資料來源互動(如 Kafka、CSV 檔案、SQL/noSQL 資料庫和 REST API)。
它是資料密集型工作流的編排器,可將 Python 函式轉換為可觀察和編排的工作單元。支援自動重試、分散式執行、排程、快取等功能,擁有強大的儀表板進行監控。(star 13.2K)
一個支援高畫質晰度的影片生成和編輯工具,目前包括文字生成影片及圖片生成影片兩種模型。(star 3K)
這篇文章收集了一系列基礎資源、課程和教程、編碼遊戲、書籍、播客、YouTube 頻道、最佳實踐等等。
用於建立、操作和研究複雜網路的結構、動力學和功能,適用於複雜網路的分析。(star 13.4K)
12、PythonFrameworks:Python 的各種框架彙總
這個專案收錄了 Python 中的各種框架,有 Web 框架、API 框架、CMS、ML&DL&AI、任務/訊息佇列、並行&分散式計算、工作流&管道、DevOps、爬蟲、GUI&TUI,等等。提供有一個線上網站。
?播客&影片
由 Python 核心開發者 Pablo Galindo 和 Łukasz Langa 主理的播客,已推出兩期節目:核心開發者 Sprint 及 Python 3.13.0 alpha 1、PEP-703:移除 GIL
上世紀 90 年代誕生的 Python、Ruby、PHP 和 JavaScript 這些動態程式語言都在擁抱靜態型別(mypy、Sorbet、Hack 和 TypeScript),誕生不算久的 Go、Kotlin、Dart 和 Rust 等都是靜態型別。為什麼靜態型別捲土重來?這對未來意味著什麼?
3、《Boost your Git DX》作者的兩期播客
Adam Johnson 新書《提升你的 Git 開發者體驗》上市後,分別參加了Real Python Podcast #179 和 Pybites #139 兩期播客節目。