精選Python開源項目Top10!
過去一個月里,我們對近 250 個 Python 開源項目進行了排名,并挑選出熱度前 10 的項目。這份清單的平均 github star 數量達 1140,涵蓋了包括性能分析、提取 PDF 中的表格、HTTP Framework、Refactoring, Unix-gazing shell、HTTP APIs、PaperTTY 等主題,希望你能從中找到一個你所感興趣的項目深入探究。
開源項目一:Py-spy
Py-spy 是一種由 Python 程序驅動的采樣分析器,它允許可視化 Python 程序內容,而無需重新啟動程序或以任何方式修改代碼。它是用 Rust 語言編寫的,運行速度快,計算成本低,不需要在配置 Python 程序的進程中同時運行,也不會以其他方式中斷當前正在運行的程序,這意味著 Py-Spy 可以安全地用于 Python 代碼的生成。此外,Py-Spy 適用于 Linux,OSX 和 Windows 等平臺,并支持在版本的 CPython 解釋器上進行分析工作。
Github 鏈接:
https://github.com/benfred/py-spy?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
開源項目二:Camelot
Camelot 是一款用于從 PDF 文件中提取表格的 Python 應用庫。它能夠幫助你輕松地從 PDF 文件中提取出所需的表格數據并轉化為 Pandas DataFrame 格式,并以 JSON、Excel 或 HTML 的格式輸出。
Github 鏈接:
https://github.com/socialcopsdev/camelot?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
開源項目三:Responder
Responder 是一款基于 Python 的 HTTP 服務框架,它將為你提供一個預安裝版本的 ASGI 應用程序,包含 jinja2 模板,基于 uvloop 的生產網絡服務器,能夠自動響應 gzip 壓縮服務請求。
Github 鏈接:
https://github.com/kennethreitz/responder?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
開源項目四:Bowler
Bowler:是一種用于在語法樹級(syntax tree level)操縱 Python 的重構工具。它可以實現安全而大規模的代碼修改任務,同時協助生成的代碼可以編譯和運行。它提供了一個簡單的命令行界面和流暢的 Python API 接口,用于在代碼中進行復雜的代碼修改。具體來說,Bowler 通過一系列選擇器、過濾器和修改器來調用 Query API 接口實現腳本重構。使用現有的 API 可以進行許多簡單的修改,但你也可以根據需要,自定義選擇器、過濾器和修改器來構建更復雜的重構過程。有關更多信息,可以查閱項目主頁的介紹。
Github 鏈接:
https://github.com/facebookincubator/bowler?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
開源項目五:Xonsh
Xonsh 是一種基于 Python,專注于 Unix 的 Shell 語言和命令行提示符的跨平臺項目。該語言是 Python 3.4+ 的超集,且帶有額外使用于 Bash 和IPython 的其他 shell 原語。Xnosh 適用于專家和新手的日常使用,并支持所有主要的操作系統,包括 Linux,Mac OSX 和 Windows。
Github 鏈接:
https://github.com/xonsh/xonsh?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
開源項目六:Molten
Molten 是一個適用于 Python 3.6 及更高版本構建 HTTP API 的小型,可擴展,快速且效果好的框架。
Github 鏈接:
https://github.com/evyatarmeged/Raccoon?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
開源項目七:Dbxfs
Dbxfs 是一款基于 Python3.5+ 的,用于 Dropbox 的用戶文件系統。它允許你掛載 Dropbox 文件夾,就像將它掛在本地文件系統上一樣。Dbxfs 與官方Dropbox 客戶端的不同之處主要在于:
訪問需要網絡連接
訪問不需要磁盤空間,但如果磁盤空間可用,則會緩存。
Dbxfs 已經在 OpenBSD,Linux 和 macOS 平臺上進行了測試,但它也能夠在任何提供與 FUSE 兼容的庫或任何能夠掛載 SMB 共享的 POSIX 系統上運行,而對 Windows 平臺的支持即將推出。在諸如 ARM 這樣非 x86 架構上運行時,Dbxfs 不需要也不依賴特定的文件系統。
Github 鏈接:
https://github.com/rianhunter/dbxfs?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
開源項目八:Twitter-cleanup
PyPortfolioOpt 是一款基于 python 的金融投資組合優化的開源項目,其中包括經典有效的前沿和實驗方法。它應用廣泛且易于擴展,對投資者和從業者同樣適用。PyPortfolioOpt 可以幫助你高效地組合 alpha 生成器。你可以訪問 ReadTheDocs 上的文檔以深入了解該項目。
Github 鏈接:
https://github.com/robertmartin8/PyPortfolioOpt?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
開源項目九:Sotawhat
Sotawhat 能夠通過抓取 arxiv 論文來總結論文摘要并返回的研究結果,它能幫助你了解每天的論文和研究進展。
Github 鏈接:
https://github.com/chiphuyen/sotawhat?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
開源項目十:PaperTTY
PapertTTY 是一個通過命令行驅動的 Python 模塊,用于將 Linux 虛擬終端或標準輸入的內容呈現到 Waveshare 電子顯示器上。它具有如下重要特征:
適用于Raspberry Pi 和Raspbian 的設計。
它能夠幫助你輕松地運行交互式控制臺程序(包括vim,tmux,irssi,nethack 等),并通過腳本顯示你想要的任何內容。
運行速度快,特別是對于小字體,還可以交互式使用,但還需進一步改進甚至更快。此外,它在Raspberry Pi 3 上的使用比Zero 更有趣。
只有更改的區域才會在顯示屏上更新,因此鍵入比全屏滾動更快。
它能夠繪制光標并在圖像移動時更新圖像。
無閃爍。
允許更改字體,字體大小,方向和一些其他參數。
支持TrueType 和位圖字體(采用PIL 格式)。
捆綁systemd 服務單元,可以在啟動時盡早啟動服務并優雅地停止服務。
目前僅支持使用單色 2.13“HAT 進行測試,但它也適用于其他型號,其他功能還有待完善。
Github 鏈接:
https://github.com/joukos/PaperTTY?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more