<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python 潮流周刊#39:Rust 開(kāi)發(fā)的性能超快的打包工具

          共 8148字,需瀏覽 17分鐘

           ·

          2024-04-11 02:21

          請(qǐng)給“ Python貓 ”加星標(biāo) ,以免錯(cuò)過(guò)文章推送

          5158d8662b83b8e362c2f3c84453ce04.webp

          你好,我是貓哥。這里每周分享優(yōu)質(zhì)的 Python、AI 及通用技術(shù)內(nèi)容,大部分為英文。本周刊開(kāi)源,歡迎投稿[1]。另有電報(bào)頻道[2]作為副刊,補(bǔ)充發(fā)布更加豐富的資訊,歡迎關(guān)注。

          ??文章&教程

          1、uv:Rust 開(kāi)發(fā)的 Python 打包工具[3]

          Ruff 所屬團(tuán)隊(duì)用 Rust 開(kāi)發(fā)的一個(gè)利器:Python 的包解析與安裝器uv !它被設(shè)計(jì)為 pippip-tools 的直接替代品,不使用緩存時(shí)比它們快 8-10 倍。也可通過(guò) uv venv 用作虛擬環(huán)境管理器,比 python -m venv 快 80 倍,比virtualenv 快 7 倍。

          dac608816f9fd909666d3d99f02474af.webp解析和安裝Trio庫(kù)的性能對(duì)比

          2、Rye:愿景延續(xù)[4]

          Rye 是 Flask 作者在去年 4 月發(fā)布的 Python 打包和項(xiàng)目管理工具,作者在文章中總結(jié)了它已實(shí)現(xiàn)的功能(下載 Python、管理虛擬環(huán)境、構(gòu)建和發(fā)布包、linting 和格式化、依賴管理等) ,介紹了自己的設(shè)計(jì)想法。(附1:作者的 16 分鐘教程視頻 Rye: a Hassle-Free Python Experience[5])(附2:上一則分享的 uv 團(tuán)隊(duì)已接管了 Rye,將來(lái)會(huì)融合成一個(gè)。Rye Grows With UV[6])

          3、為什么越來(lái)越多用 Rust 開(kāi)發(fā)的庫(kù)?[7]

          Rust 正在逐步取代 C 語(yǔ)言成為 Python 的高性能后端支撐。文章介紹了 Rust 相比 C 的優(yōu)勢(shì)所在,介紹了用 Rust 開(kāi)發(fā)的一些知名的 Python 庫(kù)。

          4、80 行 Python 實(shí)現(xiàn)一個(gè)搜索引擎[8]

          這篇文章略微標(biāo)題黨了,但是文章介紹的內(nèi)容很完整:基于 RSS 的異步爬蟲(chóng)、倒排索引、搜索排名、基于 FastAPI 的 Web 網(wǎng)頁(yè)。可以學(xué)習(xí)搜索引擎的工作原理,學(xué)習(xí)從數(shù)據(jù)獲取、數(shù)據(jù)解析、開(kāi)放接口、到網(wǎng)頁(yè)呈現(xiàn)的項(xiàng)目開(kāi)發(fā)流程。

          5、如何計(jì)算 Python 中的 CPU 指令數(shù)?[9]

          你知道執(zhí)行 Python 的 print("Hello") 大約需要多少個(gè) CPU 指令么?答案是 17000。導(dǎo)入 seaborn 則需要大約 20 億個(gè)。作者開(kāi)發(fā)了 Cirron[10] 庫(kù)以計(jì)算 CPU 指令數(shù)、分支未命中數(shù)及代碼的時(shí)間損耗等指標(biāo)。

          6、Python 復(fù)用裝飾器代碼[11]

          有多個(gè)裝飾器要加在不同的函數(shù)上,而且相同的裝飾器可能有不同傳參,如何復(fù)用這些裝飾器?問(wèn)題初看可能不好理解,文章中有直觀示例和解決過(guò)程,可以加深你對(duì)裝飾器的理解和掌握高階運(yùn)用。

          7、像專業(yè)人士一樣處理 Asyncio 任務(wù)[12]

          如何理解 Asyncio 中的 Task 對(duì)象?Asyncio 協(xié)程的工作原理是什么?如何等待一個(gè)任務(wù),又如何等待多個(gè)或一組任務(wù)?文章介紹了 Asyncio 的工作原理以及任務(wù)處理相關(guān)的函數(shù)用法。

          8、使用 textwrap 模塊操作字符串[13]

          文章介紹了 textwrap 庫(kù)的幾個(gè)主要功能,例如 shorten() 裁剪字符串長(zhǎng)度、wrap() 將字符串等寬分割、dedent() 處理字符串縮進(jìn)等。

          9、總結(jié) Python 版本間的主要變更點(diǎn)[14]

          Python 的一些新特性是在什么版本引入的?作者為了方便,梳理了一些重要語(yǔ)法和標(biāo)準(zhǔn)庫(kù)的變更記錄,同時(shí)也指出了每個(gè)版本終止維護(hù)的時(shí)間(例如 Python 3.8 將在今年 10 月 EOL)。(附:這個(gè)網(wǎng)站[15]可以查看 Python 及很多項(xiàng)目的 EOL 時(shí)間)

          10、將 Postgres 作為隊(duì)列使用[16]

          直接將數(shù)據(jù)庫(kù)作為隊(duì)列使用,性能會(huì)不會(huì)很受影響?作者測(cè)試的結(jié)果是影響很小。具體該如何實(shí)現(xiàn)將 Postgres 作為隊(duì)列使用?如何處理鎖和事務(wù)、任務(wù)重試、處理任務(wù)超時(shí)等問(wèn)題?

          11、我在所有 Django 項(xiàng)目中都用的 20 個(gè)包[17]

          Django 框架適用于構(gòu)建復(fù)雜的 Web 項(xiàng)目,作者介紹了自己常用的 20 軟件包,在 Django 自身的核心功能之外,提供了更豐富的功能。

          12、Python 元類的真實(shí)案例[18]

          Python 中的元類是什么?為什么要學(xué)習(xí)元類?這個(gè)高級(jí)特性并不常用,但值得學(xué)習(xí)了解。文章介紹了元類的工作原理,并用現(xiàn)實(shí)例子演示它的強(qiáng)大用途。

          13、一萬(wàn)億行氣象數(shù)據(jù)的編程挑戰(zhàn)[19]

          一個(gè)編程挑戰(zhàn)項(xiàng)目:有 100,000 個(gè)文件,每個(gè)文件 1000 萬(wàn)行,計(jì)算每個(gè)氣象站的最低、平均和最高溫度。數(shù)據(jù)存儲(chǔ)在 S3 上,總大小 2.5 TB。作者給出了自己的實(shí)現(xiàn)(運(yùn)行 8.5 分鐘),以及優(yōu)化成本的方案。

          ??Python潮流周刊??每 30 期為一季,第一季的精華內(nèi)容已整理成一篇,方便你隨時(shí)查看。在線訪問(wèn)地址:Python 潮流周刊第一季精華合集(1~30)[20]

          ???項(xiàng)目&資源

          1、uv:性能極快的 Python 包安裝和解析器[21]

          用 Rust 開(kāi)發(fā)的速度極快的 Python 包安裝器和解析器。Ruff 團(tuán)隊(duì)作品。可直接替換 pippip-toolsvirtualenv 常用命令。(star 6.6K)

          2、sqlite-web:基于 Web 的 SQLite 數(shù)據(jù)庫(kù)工具[22]

          基于 Flask 開(kāi)發(fā)的 Web 端 SQLite 管理工具,可視化管理數(shù)據(jù)庫(kù)、數(shù)據(jù)表、數(shù)據(jù)項(xiàng)和索引等,支持 JSON 和 CSV 格式文件的導(dǎo)入導(dǎo)出。(star 2.6K)

          3、celery-exporter:導(dǎo)出 Celery 指標(biāo)用于 Prometheus[23]

          實(shí)時(shí)獲取 Celery 的任務(wù)狀態(tài)、工作線程、活動(dòng)任務(wù)數(shù)等監(jiān)控指標(biāo),遵循 Prometheus 導(dǎo)出器最佳實(shí)踐,并利用 Celery-mixin 提供了 Grafana 儀表板及 Prometheus 告警功能。

          4、pyupgrade:自動(dòng)升級(jí) Python 較新版本的語(yǔ)法 [24]

          一個(gè)強(qiáng)力的工具和 pre-commit 鉤子,可以自動(dòng)刪除冗余寫法、用新語(yǔ)法重寫過(guò)時(shí)的代碼、用更優(yōu)雅的寫法重構(gòu)代碼,等等。項(xiàng)目文檔中給出了很多例子,推薦閱讀。(star 3.2K)

                
                # 兩個(gè)重寫成字典推導(dǎo)式的示例
          -dict((a, b) for a, b in y)
          +{a: b for a, b in y}
          -dict([(a, b) for a, b in y])
          +{a: b for a, b in y}

          5、ollama-python:Ollama Python 庫(kù)[25]

          支持 Python 3.8+,簡(jiǎn)單快速集成 Llama 2、Code Llama、mistral、gemma 等大語(yǔ)言模型,可自定義客戶端,還可創(chuàng)建異步客戶端。

          6、web2pdf:將網(wǎng)頁(yè)轉(zhuǎn)換為 PDF 的 CLI[26]

          一個(gè)命令行工具,可將網(wǎng)頁(yè)轉(zhuǎn)換為格式精美的 pdf。支持批量轉(zhuǎn)換、自定義樣式、附加 CSS、復(fù)雜布局、頁(yè)碼、目錄和分頁(yè)符等功能。

          7、natural-sql:文本生成 SQL 的大語(yǔ)言模型[27]

          NaturalSQL-7B 是擁有超高準(zhǔn)確性的文本生成 SQL 大模型,在 SQL-Eval 基準(zhǔn)測(cè)試中領(lǐng)先 GPT-3.5-turbo 和 claude-2,也領(lǐng)先于同數(shù)據(jù)規(guī)模的 sqlcoder-7b。

          8、rawdog:在 CLI 中自動(dòng)生成并執(zhí)行 Python 腳本[28]

          Rawdog(具有確定性輸出生成的遞歸增強(qiáng))是 RAG(檢索增強(qiáng)生成)的一種新穎替代方案,可以自己運(yùn)行腳本并獲取輸出作為上下文,然后再次調(diào)用自己。演示視頻的例子很驚艷。(star 1.6K)

          9、UFO:基于 UI 與 Windows 系統(tǒng)交互的 AI 代理[29]

          微軟新推出的 AI 代理框架,可無(wú)縫跨多應(yīng)用操作,完成用戶的復(fù)雜任務(wù)。使用 GPT-Vision 的多模態(tài)功能來(lái)理解應(yīng)用 UI,使用 Windows UI 自動(dòng)化控件交互。(star 1.9K)

          7a409a945f2b7d1ca2e67bca65af91a3.webp基于不同素材自動(dòng)編寫并發(fā)送郵件

          10、toolong:查看、跟蹤、合并和搜索日志文件(以及 JSONL)的終端應(yīng)用[30]

          在命令行終端快速查看日志文件,支持實(shí)時(shí)尾隨、語(yǔ)法高亮、快捷搜索、自動(dòng)檢測(cè)時(shí)間戳合并日志等功能,支持 JSONL 文件,可自動(dòng)打開(kāi) .bz 和 .bz2 文件。(star 2K)

          11、Owl:在本地運(yùn)行的個(gè)人可穿戴 AI[31]

          在可穿戴設(shè)備上搭載 AI,傾聽(tīng)和觀察你生活中發(fā)生的一切。支持 ESP 平臺(tái)、Sony Spresense 或 Apple Watch 等硬件,支持本地和在線模型,多模態(tài)采集,說(shuō)話人驗(yàn)證等。

          12、hyperdiv:用 Python 構(gòu)建響應(yīng)式 Web UI[32]

          一個(gè)用 Python 快速開(kāi)發(fā)響應(yīng)式 UI 應(yīng)用的框架,具有內(nèi)置組件、簡(jiǎn)潔的即時(shí)模式語(yǔ)法和少量的工具樣板。支持 Shoelace 組件,支持 Markdown,集成 Chart.js 圖表,支持讀寫瀏覽器緩存,支持表單驗(yàn)證等。

          13、fabric:使用 AI 增強(qiáng)人類[33]

          這個(gè)項(xiàng)目旨在使每個(gè)人能將 AI 用于解決日常問(wèn)題。它的方法是將問(wèn)題拆解成很多獨(dú)立組件,使用結(jié)構(gòu)化的清晰提示讓 AI 完成任務(wù)。(star 5.6K)

          ??播客&視頻

          1、Meta 喜歡 Python[34]

          Meta 官方的一期播客節(jié)目,討論了開(kāi)發(fā)團(tuán)隊(duì)對(duì)最新 Python 版本的貢獻(xiàn),包括允許自定義 JIT(如 Cinder)的新鉤子、永生對(duì)象、對(duì)類型系統(tǒng)的改進(jìn)、更快的推導(dǎo)式等等。Meta 對(duì) Python 社區(qū)的貢獻(xiàn)確實(shí)很足哦~(附:谷歌、微軟、Meta?誰(shuí)才是 Python 最大的金主?[35])

          2、Talk Python To Me #449:使用 FastUI 構(gòu)建 UI[36]

          FastUI 是一個(gè) Web 界面開(kāi)發(fā)框架,可使用 React 構(gòu)建響應(yīng)式 Web 應(yīng)用,而無(wú)需編寫任何 JavaScript 或接觸 npm。這期播客的嘉賓是該框架的作者。

          ??歡迎訂閱

          • 微信公眾號(hào)[37]:除更新周刊外,還發(fā)布其它原創(chuàng)作品,并轉(zhuǎn)載一些優(yōu)質(zhì)文章。(可加好友,可加讀者交流群)
          • 博客[38] 及 RSS[39]:我的獨(dú)立博客,上面有歷年原創(chuàng)/翻譯的技術(shù)文章,以及從 2009 年以來(lái)的一些隨筆。
          • 郵件[40] 及 RSS[41]:在 Substack 上開(kāi)通的頻道,滿足你通過(guò)郵件閱讀時(shí)事通訊的訴求。
          • Github[42]:你可以獲取本周刊的 Markdown 源文件,做任何想做的事!
          • Telegram[43]:除了發(fā)布周刊的通知外,我將它視為一個(gè)“副刊”,補(bǔ)充發(fā)布更加豐富的資訊。
          • Twitter[44]:我的關(guān)注列表里有大量 Python 相關(guān)的開(kāi)發(fā)者與組織的賬號(hào)。
          參考資料 [1]

          投稿: https://github.com/chinesehuazhou/python-weekly

          [2]

          電報(bào)頻道: https://t.me/pythontrendingweekly

          [3]

          uv:Rust 開(kāi)發(fā)的 Python 打包工具: https://astral.sh/blog/uv

          [4]

          Rye:愿景延續(xù): https://lucumr.pocoo.org/2024/2/4/rye-a-vision/

          [5]

          Rye: a Hassle-Free Python Experience: https://www.youtube.com/watch?v=q99TYA7LnuA

          [6]

          Rye Grows With UV: https://lucumr.pocoo.org/2024/2/15/rye-grows-with-uv/

          [7]

          為什么越來(lái)越多用 Rust 開(kāi)發(fā)的庫(kù)?: https://baincapitalventures.com/insight/why-more-python-developers-are-using-rust-for-building-libraries/

          [8]

          80 行 Python 實(shí)現(xiàn)一個(gè)搜索引擎: https://www.alexmolas.com/2024/02/05/a-search-engine-in-80-lines.html

          [9]

          如何計(jì)算 Python 中的 CPU 指令數(shù)?: https://blog.mattstuchlik.com/2024/02/08/counting-cpu-instructions-in-python.html

          [10]

          Cirron: https://github.com/s7nfo/Cirron

          [11]

          Python 復(fù)用裝飾器代碼: https://www.kawabangga.com/posts/5757

          [12]

          像專業(yè)人士一樣處理 Asyncio 任務(wù): https://jacobpadilla.com/articles/handling-asyncio-tasks

          [13]

          使用 textwrap 模塊操作字符串: https://martinheinz.dev/blog/108

          [14]

          總結(jié) Python 版本間的主要變更點(diǎn): https://www.nicholashairs.com/posts/major-changes-between-python-versions/

          [15]

          網(wǎng)站: https://endoflife.date/python

          [16]

          將 Postgres 作為隊(duì)列使用: https://leontrolski.github.io/postgres-as-queue.html

          [17]

          我在所有 Django 項(xiàng)目中都用的 20 個(gè)包: https://learndjango.com/tutorials/20-django-packages-i-use-every-project

          [18]

          Python 元類的真實(shí)案例: https://dev.to/anbagu/real-case-of-python-metaclass-application-2pj8

          [19]

          一萬(wàn)億行氣象數(shù)據(jù)的編程挑戰(zhàn): https://blog.coiled.io/blog/1trc.html

          [20]

          Python 潮流周刊第一季精華合集(1~30): https://pythoncat.top/posts/2023-12-11-weekly

          [21]

          uv:性能極快的 Python 包安裝和解析器: https://github.com/astral-sh/uv

          [22]

          sqlite-web:基于 Web 的 SQLite 數(shù)據(jù)庫(kù)工具: https://github.com/coleifer/sqlite-web

          [23]

          celery-exporter:導(dǎo)出 Celery 指標(biāo)用于 Prometheus: https://github.com/danihodovic/celery-exporter

          [24]

          pyupgrade:自動(dòng)升級(jí) Python 較新版本的語(yǔ)法 : https://github.com/asottile/pyupgrade

          [25]

          ollama-python:Ollama Python 庫(kù): https://github.com/ollama/ollama-python

          [26]

          web2pdf:將網(wǎng)頁(yè)轉(zhuǎn)換為 PDF 的 CLI: https://github.com/dvcoolarun/web2pdf

          [27]

          natural-sql:文本生成 SQL 的大語(yǔ)言模型: https://github.com/cfahlgren1/natural-sql

          [28]

          rawdog:在 CLI 中自動(dòng)生成并執(zhí)行 Python 腳本: https://github.com/AbanteAI/rawdog

          [29]

          UFO:基于 UI 與 Windows 系統(tǒng)交互的 AI 代理: https://github.com/microsoft/UFO

          [30]

          toolong:查看、跟蹤、合并和搜索日志文件(以及 JSONL)的終端應(yīng)用: https://github.com/Textualize/toolong

          [31]

          Owl:在本地運(yùn)行的個(gè)人可穿戴 AI: https://github.com/OwlAIProject/Owl

          [32]

          hyperdiv:用 Python 構(gòu)建響應(yīng)式 Web UI: https://github.com/hyperdiv/hyperdiv

          [33]

          fabric:使用 AI 增強(qiáng)人類: https://github.com/danielmiessler/fabric

          [34]

          Meta 喜歡 Python: https://engineering.fb.com/2024/02/12/developer-tools/meta-loves-python/

          [35]

          谷歌、微軟、Meta?誰(shuí)才是 Python 最大的金主?: https://pythoncat.top/posts/2022-11-21-sponsors

          [36]

          Talk Python To Me #449:使用 FastUI 構(gòu)建 UI: https://talkpython.fm/episodes/show/449/building-uis-in-python-with-fastui

          [37]

          微信公眾號(hào): https://qinglite-1253448069.cos.ap-shanghai.myqcloud.com/web/e60bd68bc8457412c2aa53620ba674452ec756f7

          [38]

          博客: https://pythoncat.top

          [39]

          RSS: https://pythoncat.top/rss.xml

          [40]

          郵件: https://pythoncat.substack.com

          [41]

          RSS: https://pythoncat.substack.com/feed

          [42]

          Github: https://github.com/chinesehuazhou/python-weekly

          [43]

          Telegram: https://t.me/pythontrendingweekly

          [44]

          Twitter: https://twitter.com/chinesehuazhou

          82d6b42ed16c738f0fd2a17a2065ed7f.webp 如果你覺(jué)得本文有幫助 請(qǐng)慷慨 分享 點(diǎn)贊 ,感謝啦
          瀏覽 39
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费在线黄色小视频 | 国产探花视频在线播放 | 多毛视频 | 激情短片成人网站 | 亚洲一级二级三级片 |