你好,我是貓哥。這裏每週分享優質的 Python、AI 及通用技術內容,大部分爲英文。標題取自其中兩則分享,不代表全部內容都是該主題,特此聲明。
本週刊由 Python貓 出品,精心篩選國內外的 250+ 信息源,爲你挑選最值得分享的文章、教程、開源項目、軟件工具、播客和視頻、熱門話題等內容。願景:幫助所有讀者精進 Python 技術,並增長職業和副業的收入。
微信 | 博客 | 郵件 | Github | Telegram | Twitter
本週的大新聞一個接一個啊!微軟在 Python 之父 Guido 的幫助下,在 Excel 中集成了 Python;Meta 開源了 Code Llama,讓程序員看到擁有自己編碼助手的福音;Mojo 宣佈 1 億美元的鉅額融資,勢頭之猛讓人驚歎。本期週刊還分享了幾則關於 FastAPI 的內容、大量學習資源、100 多個新鮮出爐的演講視頻等等,不容錯過喲~~
來源:https://pythoncat.top/posts/2023-08-26-weekly
🦄文章&教程
本週的重磅新聞!微軟將 Python 引入到 Excel 中,支持在 Excel 中使用 Python 強大的數據分析、統計建模以及數據可視化庫(pandas、statsmodels、Matplotlib 和 seaborn 等)。Guido 發推表示他參與了這個項目。
2、如何使用 FastAPI 與 aiohttp 進行 SSE 響應開發?
Server-Sent Events(服務器推送事件)可以讓服務端一邊生成內容,一邊將數據返回給客戶端。文章介紹了 FastAPI 如何使用 SSE 方式返回數據,並用 requests 和 aiohttp 來獲取與展示接口數據。
3、用 FastAPI 和 Hamilton 實現的 PDF 摘要工具
文章使用 FastAPI、Hamilton、Streamlit 和 ChatGPT 開發了一個 PDF 文件摘要工具,介紹了項目的設計思路、架構設計與編程實現,效果圖如下:
4、放棄 Python 擁抱 Mojo?鵝廠工程師真實使用感受
Mojo 是 LLVM 作者發佈的一門新語言,完全兼容 Python 的語法。這篇文章上手體驗了 Mojo 編程,對比 Python 討論了它的一些語法、特性以及當前存在的問題。
5、Mojo 如何獲得比 Python 快 35000 倍的加速?
Mojo 在生成曼德博集合時比 Python 快 35000 倍,這篇文章介紹了爲什麼要選用曼德博算法作衡量,以及 Mojo 語言做了哪些優化來實現高性能?(附:Mojo 所屬的公司 Modular 本週宣佈獲得 1 億美元融資,總融資已達到 1.3 億美元!!)
APL 是在 1960 年代開發的一種高度符號化的編程語言,作者在學習這門語言後,反而加深了對 Python 編程的理解。作者受到觸動的只是簡單的一行代碼,但它包含了內置函數、布爾值、數據驅動、列表推導式等 Python 優雅編程的要素。(附:從這 27 門編程語言中,也可以加深對 Python 的理解)
Jupyter Notebooks 非常強大,它是如何做到的呢?這篇文章分析了 Jupyter 架構的內核以及一些有趣的實現細節,包括代碼的執行工作流、代碼解析執行、自動補全、代碼檢查、調試、虛擬輸入、客戶端和網關等。作者預告後續還會解析 Jupyter Server、JupyterLab、JupyterHub、Jupyter Enterprise Gateway 等項目。
8、Fixit 2:Meta 的下一代自動修復 linter
Meta 開源的 linter 工具 Fixit 發佈了2.0 版本,它支持自動修復問題,支持用戶自定義 lint 規則。這篇文章介紹了 Meta 在使用 Flake8 時遇到的問題、爲什麼要開發 FIXit,以及爲什麼要重構出 Fixit 2 這個新版本?
一篇超級詳細的全棧實戰教程,涉及技術有 Flask、Jinja、Playwright、Pygments 和 Javascript,實現的是一個代碼-圖片生成器,也就是可以給代碼片段添加樣式並生成美觀的圖片。
週刊第 16 期分享了一篇 importlib 實現延遲加載的文章,這篇文章中的 apipkg 也能實現同樣的效果,但用法稍有不同,可以對照學習。
11、當 asyncio、twisted、tornado 和 gevent 一起走進酒吧...
當談到 Python 併發時,就離不開標題的這些庫。文章介紹和對比了這幾個庫,討論了它們的設計與使用。那麼,該使用哪個異步庫呢?
作者想給 Python 提供一種標準化的依賴包鎖定文件,曾在 2021 年發起了 PEP-665 ,但因爲缺少對 sdist 的支持而被拒絕了。作者現在做了一些概念驗證的事情,計劃有 5 步,目前進展到第 3 步。(附:本月新發起的 PEP-725 – 在 pyproject.toml 中指定外部依賴項)
作者看到 Go 編程時不喜歡用 ORM,因此也想嘗試不用 ORM 而在 Python 中直接寫 SQL。這種迴歸傳統做法的主要問題是會混淆數據庫操作與業務邏輯,但並不是不可行。
一篇很詳細的基礎教程,探討了TypeError
的含義、出現的原因以及解決方法。文章非常之細緻,介紹了 20 多種容易出錯的場景,有些是初學者問題,但也有些是老手也易忽視的編程細節。
有很多版本管理和差異比較工具,但是能否用 Python 開發一個簡單的工具實現呢?文章使用 difflib、argparse 和 HtmlDiff 分別開發了命令行工具和 HTML 網頁兩個版本的文件比較工具。
16、我最喜歡的素數生成函數
埃拉託斯特尼篩法是一種生成素數的算法,作者提供了一個 Python 實現,但是代碼的性能和內存佔用是主要的問題,因此作者做了一些優化改進,最後給出了一個有詳細註釋的優化版本。
🎁Python潮流週刊🎁已免費發佈了 17 期,訪問下方鏈接,即可查看全部內容:https://pythoncat.top/tags/weekly
原文:https://pythoncat.top/posts/2023-08-26-weekly
🐿️項目&資源
本週最火的開源項目!Code Llama 基於 Llama 2,可免費商用,可預見不久的將來會出現大量的編程工具!目前支持的語言包括 Python、C++、Java、PHP、Typescript/Javascript、C# 和 Bash。值得一提的是,它包含一個“Code Llama – Python”專用版本,基於 100B token 微調!(star 4K)
2、seamless_communication:最先進的語音和文本翻譯的基礎模型
SeamlessM4T 也是 Meta 開源的項目,旨在提供高質量的翻譯,讓不同語言的人通過語音和文本輕鬆交流。支持 101 種語言的語音輸入、96 種語言的文本輸入與輸出、35 種語言的語音輸出。(star 3.7K)
微軟開源的一個 PyTorch 庫,可讓開發者高效地擴展 Transformers,聚焦於提升建模的能力與通用性,同時提升訓練的穩定性與效率。(star 2.4K)
4、fastapi-best-practices:FastAPI 的最佳實踐
這個 Github 項目是一篇集合了 20 多項 FastAPI 最佳實踐的長文,包括項目結構、數據校驗、解耦與重用依賴、遵循 REST、文檔、linter 等等話題。(star 4.5K)
5、yappi:又一個 Python Profiler,支持多線程、asyncio 和 gevent
yappi 是 PyCharm 默認的性能分析器之一,它是用 C 編寫的,支持多線程、asyncio 和 gevent,可以顯示掛機時間與實際 CPU 時間。(star 1.2K)
一個非常豐富的資料庫,包含 NLP/人工智能的大量內容。(star 55.7K)
這是一個 Web 應用和 Python 包,可從 OpenStreetMap 獲取數據生成漂亮的地圖作品。它基於另一個有 10K star 的項目 prettymaps ,主要簡化了配置、降低代碼複雜性、並使用 streamlit 開發了 Web 端應用。(star 1.7K)
8、pycparser:純 Python 實現的完整 C99 解析器
一個用 Python 寫的 C 語言解析器,可輕鬆集成到需要解析 C 源代碼的程序中。它最主要的用途是在 cffi 庫中,用於解析 C 函數和類型的聲明。(star 3K)
利用生成式 AI 來存儲和檢索非結構化的信息,可以理解成支持人工智能的 Obsidian。可以處理各種形式的文件如文本、圖片、代碼、音頻和視頻等,依賴於 ChatGPT、Docker、Supabase,只支持操作系統是 Ubuntu 22+。(star 21.7K)
10、KeymouseGo: 類似按鍵精靈的鼠標鍵盤錄製和自動化操作
一箇中文項目。記錄用戶的鼠標鍵盤操作,通過觸發按鈕自動執行之前記錄的操作,可設定執行的次數,可以理解爲精簡綠色版的按鍵精靈。支持 Windows、Linux 和 Mac 系統。(star 4.3K)
11、ahkunwrapped:集成 AutoHotkey,用 Python 執行自動化
AutoHotkey 是一種自動化腳本語言和工具,用於在 Windows 上創建快捷鍵、宏和自動化任務,例如模擬按鍵和鼠標操作、窗口管理、剪貼板操作、自動化表單填寫等。這個項目覆蓋了 AutoHotkey API,使用 Python 來橋接,擴展 AutoHotkey 的能力。
12、100+ AI/機器學習/深度學習/計算機視覺/NLP 項目與代碼
這個倉庫收錄了很多學習資源,其中很多也是一些聚合類的項目,也就是說實際包含的項目與資料有上萬之多。(star 13.2K)
一個 Python 包和命令行工具,可以處理 Web 的文本信息,並轉化成各種常用格式輸出。包含爬蟲功能、HTML 解析、網頁內容萃取等等。(star 1.9K)
🐢播客&視頻
澳大利亞今年 PyCon 上的演講視頻。目前已發佈 84 個視頻。
以色列今年 PyCon 上的演講視頻。目前已發佈 23 個視頻。
SciPy Talk 是科學計算領域的年度會議,通常涵蓋數據分析、機器學習、人工智能、科學可視化等話題。目前已發佈 44 個視頻。
🥂討論&問題
獨自一人開發,想要快速實現全棧的 SaaS 應用,支持用戶身份驗證、訂閱、付款等業務功能,前端該如何選擇呢?Reddit 上的這個帖子,或許能給你提供一些思路/方法。
2、V2EX 上三則關於 Python 後端的熱門討論
近期在 Python 節點下最熱鬧的三篇帖子:Python 後端該如何提升自己呢? 、深夜睡不着,思考爲什麼國內 Python Web 後端太少 、Python 做後端,相對於 Java 或者 go 來說,到底差在哪? 從就業的角度來看,Python 後端在國內確實偏少,不僅後端,其它領域也有一種“熱度退潮”的感覺(除了 AI 相關)。Python 潮流週刊的創刊想法之一就是去歐美盜火,爲國內 Python 社區注入活力。願論壇裏將來能少一些沮喪性的、要拋棄 xx 另附高枝的情緒吧。
🐱贊助&支持
如果你喜歡週刊,請分享給其他需要的同學,讓更多人可以從中受益~
如果你想幫助週刊辦得更好,歡迎向我們投稿或提出建議:投稿/建議通道
如果你是品牌方或廣告主,歡迎私信我,洽談贊助與合作事項。
🐼歡迎訂閱
原文:https://pythoncat.top/posts/2023-08-26-weekly
- 微信公衆號:除更新週刊外,還發布其它原創作品,並轉載一些優質文章。(可加好友,可加讀者交流羣)
- 博客 及 RSS:我的獨立博客,上面有歷年原創/翻譯的技術文章,以及從 2009 年以來的一些隨筆。
- Github:你可以獲取本週刊的 Markdown 源文件,做任何想做的事!
- 郵件:在 Substack 上開通的頻道,滿足你通過郵件閱讀時事通訊的訴求。
- Telegram:除了發佈週刊的通知外,我將它視爲一個“副刊”,補充發布更加豐富的資訊。
- Twitter:我的關注列表裏有大量 Python 相關的開發者與組織的賬號。