Python 潮流週刊#17:Excel 終於支持 Python 了、Meta 重磅開源新項目、Mojo 新得 1 億美元融資

你好,我是貓哥。這裏每週分享優質的 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

🦄文章&教程

1、Excel 終於支持 Python 了!

本週的重磅新聞!微軟將 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 文件摘要工具,介紹了項目的設計思路、架構設計與編程實現,效果圖如下:

PDF摘要工具的效果圖

4、放棄 Python 擁抱 Mojo?鵝廠工程師真實使用感受

Mojo 是 LLVM 作者發佈的一門新語言,完全兼容 Python 的語法。這篇文章上手體驗了 Mojo 編程,對比 Python 討論了它的一些語法、特性以及當前存在的問題。

5、Mojo 如何獲得比 Python 快 35000 倍的加速?

Mojo 在生成曼德博集合時比 Python 快 35000 倍,這篇文章介紹了爲什麼要選用曼德博算法作衡量,以及 Mojo 語言做了哪些優化來實現高性能?(附:Mojo 所屬的公司 Modular 本週宣佈獲得 1 億美元融資,總融資已達到 1.3 億美元!!)

6、APL 語言教會我的那些 Python 知識

APL 是在 1960 年代開發的一種高度符號化的編程語言,作者在學習這門語言後,反而加深了對 Python 編程的理解。作者受到觸動的只是簡單的一行代碼,但它包含了內置函數、布爾值、數據驅動、列表推導式等 Python 優雅編程的要素。(附:從這 27 門編程語言中,也可以加深對 Python 的理解

7、深度解析 Jupyter 的內核架構

Jupyter Notebooks 非常強大,它是如何做到的呢?這篇文章分析了 Jupyter 架構的內核以及一些有趣的實現細節,包括代碼的執行工作流、代碼解析執行、自動補全、代碼檢查、調試、虛擬輸入、客戶端和網關等。作者預告後續還會解析 Jupyter Server、JupyterLab、JupyterHub、Jupyter Enterprise Gateway 等項目。

Jupyter的內核架構

8、Fixit 2:Meta 的下一代自動修復 linter

Meta 開源的 linter 工具 Fixit 發佈了2.0 版本,它支持自動修復問題,支持用戶自定義 lint 規則。這篇文章介紹了 Meta 在使用 Flake8 時遇到的問題、爲什麼要開發 FIXit,以及爲什麼要重構出 Fixit 2 這個新版本?

9、使用 Python 構建代碼圖像生成器

一篇超級詳細的全棧實戰教程,涉及技術有 Flask、Jinja、Playwright、Pygments 和 Javascript,實現的是一個代碼-圖片生成器,也就是可以給代碼片段添加樣式並生成美觀的圖片。

10、apipkg 教程:Python 中的增強延遲加載

週刊第 16 期分享了一篇 importlib 實現延遲加載的文章,這篇文章中的 apipkg 也能實現同樣的效果,但用法稍有不同,可以對照學習。

11、當 asyncio、twisted、tornado 和 gevent 一起走進酒吧...

當談到 Python 併發時,就離不開標題的這些庫。文章介紹和對比了這幾個庫,討論了它們的設計與使用。那麼,該使用哪個異步庫呢?

12、Python 標準化鎖定文件的現狀

作者想給 Python 提供一種標準化的依賴包鎖定文件,曾在 2021 年發起了 PEP-665 ,但因爲缺少對 sdist 的支持而被拒絕了。作者現在做了一些概念驗證的事情,計劃有 5 步,目前進展到第 3 步。(附:本月新發起的 PEP-725 – 在 pyproject.toml 中指定外部依賴項

13、Python:只需編寫 SQL

作者看到 Go 編程時不喜歡用 ORM,因此也想嘗試不用 ORM 而在 Python 中直接寫 SQL。這種迴歸傳統做法的主要問題是會混淆數據庫操作與業務邏輯,但並不是不可行。

14、Python 中如何比較不兼容的類型?

一篇很詳細的基礎教程,探討了TypeError 的含義、出現的原因以及解決方法。文章非常之細緻,介紹了 20 多種容易出錯的場景,有些是初學者問題,但也有些是老手也易忽視的編程細節。

15、使用 Python 開發一個文件比較工具

有很多版本管理和差異比較工具,但是能否用 Python 開發一個簡單的工具實現呢?文章使用 difflib、argparse 和 HtmlDiff 分別開發了命令行工具和 HTML 網頁兩個版本的文件比較工具。

16、我最喜歡的素數生成函數

埃拉託斯特尼篩法是一種生成素數的算法,作者提供了一個 Python 實現,但是代碼的性能和內存佔用是主要的問題,因此作者做了一些優化改進,最後給出了一個有詳細註釋的優化版本。

🎁Python潮流週刊🎁已免費發佈了 17 期,訪問下方鏈接,即可查看全部內容:https://pythoncat.top/tags/weekly

原文:https://pythoncat.top/posts/2023-08-26-weekly

🐿️項目&資源

1、codellama:Meta 最新開源的代碼生成模型

本週最火的開源項目!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)

3、Torchscale:(M)LLM 的基礎架構

微軟開源的一個 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)

6、funNLP:幾乎最全的中文 NLP 資源庫

一個非常豐富的資料庫,包含 NLP/人工智能的大量內容。(star 55.7K)

7、prettymapp:在 Web 應用中創建精美的地圖

這是一個 Web 應用和 Python 包,可從 OpenStreetMap 獲取數據生成漂亮的地圖作品。它基於另一個有 10K star 的項目 prettymaps ,主要簡化了配置、降低代碼複雜性、並使用 streamlit 開發了 Web 端應用。(star 1.7K)

美觀的地圖

8、pycparser:純 Python 實現的完整 C99 解析器

一個用 Python 寫的 C 語言解析器,可輕鬆集成到需要解析 C 源代碼的程序中。它最主要的用途是在 cffi 庫中,用於解析 C 函數和類型的聲明。(star 3K)

9、quivr:生成式 AI 打造你的第二大腦

利用生成式 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)

13、trafilatura:一個採集 Web 文本的工具

一個 Python 包和命令行工具,可以處理 Web 的文本信息,並轉化成各種常用格式輸出。包含爬蟲功能、HTML 解析、網頁內容萃取等等。(star 1.9K)

🐢播客&視頻

1、2023 年 PyCon 澳大利亞的 84 個視頻

澳大利亞今年 PyCon 上的演講視頻。目前已發佈 84 個視頻。

2、2023 年 Pycon 以色列的 23 個視頻

以色列今年 PyCon 上的演講視頻。目前已發佈 23 個視頻。

3、2023 年 SciPy Talk 的 44 個視頻

SciPy Talk 是科學計算領域的年度會議,通常涵蓋數據分析、機器學習、人工智能、科學可視化等話題。目前已發佈 44 個視頻。

🥂討論&問題

1、如果只懂 Python,如何構建 Web 程序的前端?

獨自一人開發,想要快速實現全棧的 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 相關的開發者與組織的賬號。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章