作者:Mybridge
編譯:仲培藝
來源:CSDN(ID:CSDNNews)
在過去的一年裡,Mybridge 比較了近 10000 個 Python 開源庫,並從中挑選出最實用的 34 個工具來幫助你開發。
這些開源專案的平均 Star 數為3293(註:本文未實時更新這些專案的Star數,當前平均值已超過此數字,以下各專案Star數僅供參考),下麵將把它們分為 8 類進行分享:
開源專案對程式員來說意義非凡,可以大大提升軟體開發速度,讓我們花些時間,一起來看看這些在可能被你錯過了的 Python 開源專案吧。
01 Python Toolkit
1. Pipenv
-
Star 數:15710
-
GitHub:
https://github.com/pypa/pipenv
-
介紹:Pipenv 是 Python.org 官方推進的 基於 pip 的 Python包管理工具,旨在將所有包管理工具(如 bundler、composer、npm、cargo、yarn 等)的優點集中應用於 Python 領域中的工具,對各個平臺都有很好的支援。
2. Pyxel
-
Star 數:4884
-
GitHub:
https://github.com/kitao/pyxel
-
介紹:一個用 Python 編寫復古遊戲的開發環境。
3. PyTest v3.5
-
Star 數:3631
-
GitHub:
https://github.com/pytest-dev/pytest
-
介紹:一個非常成熟的全功能的 Python 測試框架,使編寫小型測試變得容易,同時支援複雜的功能測試。
4. Poetry
-
Star 數:3228
-
GitHub:
https://github.com/sdispater/poetry
-
介紹:讓 Python 依賴管理和打包變得容易。
5. Loguru
-
Star 數:3048
-
GitHub:
https://github.com/Delgan/loguru
-
介紹:一個 Python 日誌記錄庫,使 Python 日誌變得極端簡單。
6. Faust
-
Star 數:2733
-
GitHub:
https://github.com/robinhood/faust
-
介紹:Faust 是一個流處理庫,用於構建 Python 流應用程式,將 Kafka 流中的思想移植到 Python 中。
7. Pampy
-
Star 數:2399
-
GitHub:
https://github.com/santinic/pampy
-
介紹:優雅的 Python 樣式匹配庫——你夢寐以求的 Python 樣式匹配。Pampy 相當小(150行),速度相當快,並且使程式碼更具可讀性,更容易推理。
8. Pyre-check
-
Star 數:2242
-
GitHub:
https://github.com/facebook/pyre-check
-
介紹:Facebook 開源的 Python 快速靜態型別檢查器。
9. Delorean
-
Star 數:1519
-
GitHub:
https://github.com/myusuf3/delorean
-
介紹:Delorean 是 Python 裡一個很方便的日期時間庫,可以讓人更簡單省心的獲取時間,不必受困於時間模組中的各種問題。
10. Cirq
-
Star 數:1394
-
GitHub:
https://github.com/quantumlib/Cirq
-
介紹:是 Google 專為 NISQ 演演算法打造的框架,用於建立、編輯和呼叫嘈雜中型量子 (NISQ,Noisy Intermediate-Scale Quantum),允許開發者為特定的量子處理器編寫量子演演算法。
11. Python-nubia
-
Star 數:1032
-
GitHub:
https://github.com/facebookincubator/python-nubia
-
介紹:一款由 Python 編寫的,用於建立命令列應用的輕型框架(命令列與互動式 shell 框架),由 Facebook 團隊開發。
02 Web
12. Requests-HTML
-
Star 數:8995
-
GitHub:
https://github.com/kennethreitz/requests-html
-
介紹:一個解析 HTML 的庫
13. Bokeh
-
Star 數:8943
-
GitHub:
https://github.com/bokeh/bokeh
-
介紹:一個 Python 互動式視覺化庫,支援在現代 Web 瀏覽器中對資料進行美觀且有意義的視覺化表示。
14. Vibora
-
Star 數:4665
-
GitHub:
https://github.com/vibora-io/vibora
-
介紹:一個快速、非同步且性感的 Python Web 框架。
15. Pywebview v2.0
-
Star 數:1208
-
GitHub:
https://github.com/r0x0r/pywebview
-
介紹:一個webview 元件的輕量級跨平臺原生封裝,實現利用 Web 技術開發 GUI 應用,允許在它自己的專用視窗中顯示 HTML 內容。
16. WhatWaf
-
Star 數:995
-
GitHub:
https://github.com/Ekultek/WhatWaf
-
介紹:檢測並繞過 Web 應用程式防火牆和保護系統。
17. Molten
-
Star 數:796
-
GitHub:
https://github.com/Bogdanp/molten
-
介紹:一個用 Python 3.6 或更高版本構建 HTTP API 的迷你、可擴充套件、快速且高效的框架。
03 Terminal
18. Termtosvg
-
Star 數:7522
-
GitHub:
https://github.com/nbedos/termtosvg
-
介紹:一款錄製終端操作的命令列工具,它可以將終端會話錄製成一個單獨的用 Python 編寫的 SVG 動畫。
19. Asciinema v2.0
-
Star 數:6668
-
GitHub:
https://github.com/asciinema/asciinema
-
介紹:Python 內建的終端會話記錄器,能夠在 Linux 等終端上進行錄屏,並且錄屏不生成影片檔案,而是生成文字形式。
20. Termgraph
-
Star 數:2005
-
GitHub:
https://github.com/mkaz/termgraph
-
介紹:在終端中繪製基本圖形的 Python 命令列工具。
04 Code Editor
21. Black
-
Star 數:7629
-
GitHub:
https://github.com/ambv/black
-
介紹:“不妥協”的 Python 程式碼格式化工具。之所以稱之為“不妥協”是因為它檢測到不符合規範的程式碼風格直接就幫你全部格式化好,根本不需要你確定,直接替你做好決定,因此速度也很快。
22. Algojammer
-
Star 數:2750
-
GitHub:
https://github.com/ChrisKnott/Algojammer
-
介紹:是一個實驗性的概念驗證程式碼編輯器,用於在 Python 中編寫演演算法。
23. Bowler
-
Star 數:879
-
GitHub:
https://github.com/facebookincubator/bowler
-
介紹:一種用於在語法樹級(syntax tree level)操縱 Python 的重構工具,可以實現安全而大規模的程式碼修改任務,同時保證生成的程式碼可以編譯和執行。它提供了一個簡單的命令列介面和流暢的 Python API 介面,用於在程式碼中進行複雜的程式碼修改。具體來說,Bowler 透過一系列選擇器、過濾器和修改器來呼叫 Query API 介面實現指令碼重構。使用現有的 API 可以進行許多簡單的修改,但你也可以根據需要,自定義選擇器、過濾器和修改器來構建更複雜的重構過程。
05 Debugging
24. Py-spy
-
Star 數:3479
-
GitHub:
https://github.com/benfred/py-spy
-
介紹:一種由 Python 程式驅動的取樣分析器,它允許視覺化 Python 程式內容,而無需重新啟動程式或以任何方式修改程式碼。它是用 Rust 語言編寫的,執行速度快,計算成本極低,不需要在配置 Python 程式的行程中同時執行,也不會以任何方式中斷當前正在執行的程式,這意味著 Py-Spy 可以安全地用於 Python 程式碼的生成。此外,Py-Spy 適用於 Linux,OSX 和 Windows 等平臺,並支援在最新版本的 CPython 直譯器上進行分析工作。
25. Birdseye
-
Star 數:1068
-
GitHub:
https://github.com/alexmojaki/birdseye
-
介紹:一個使用 AST 的快速、便捷、運算式為中心的圖形化 Python 除錯器。
26. Icecream
-
Star 數:728
-
GitHub:
https://github.com/gruns/icecream
-
介紹: 一個用於甜美和奶油色列印除錯的小庫。
06 Compiler
27. Transcrypt
-
Star 數:1561
-
GitHub:
https://github.com/qquick/Transcrypt
-
介紹:一款把 Python(Python 3.7)編寫的程式碼轉換成 JavaScript 的工具,精簡、快速、開放。讓你告別手寫繁複的 JavaScript 程式碼,使用相對簡明清晰的Python代替這一工作。
28. Pyodide
-
Star 數:1041
-
GitHub:
https://github.com/iodide-project/pyodide
-
介紹:編譯成 WebAssembly 的 Python 科學棧。
07 Data Related
29. Voluptuous
-
Star 數:1368
-
GitHub:
https://github.com/alecthomas/voluptuous
-
介紹:雖然頂著個 Voluptuous(性感豐滿的)的名字,但就是一個 Python 資料驗證庫。
30. Botflow
-
Star 數:933
-
GitHub:
https://github.com/kkyon/botflow
-
介紹:用於資料管道工作(如網路爬蟲、機器學習、量化交易等等)的 Python 快速資料驅動程式設計框架。
31. Fast-Pandas
-
Star 數:798
-
GitHub:
https://github.com/mm-mansour/Fast-Pandas
-
介紹:Pandas 中針對不同大小資料幀(DataFrame)的不同運算基準。
08 Chart
32. pywonderland:A Tour in the Wonderland of Math with Python(基於 Python 的數學仙境之旅)
-
Star 數:3172
-
GitHub:
https://github.com/neozhaoliang/pywonderland
-
介紹:一組 Python 指令碼,用於繪製漂亮的圖形及模擬有趣的數學演演算法。
33. Chartify
-
Star 數:1817
-
GitHub:
https://github.com/spotify/chartify
-
介紹:讓資料科學家畫圖變得更輕鬆的 Python 庫。
34. Hypertools v0.5
-
Star 數:1353
-
GitHub:
https://github.com/ContextLab/hypertools
-
介紹:高維資料視覺化&處理的 Python 工具包(資料降維&視覺化工具)。
原文:
https://medium.mybridge.co/34-amazing-python-open-source-libraries-for-the-past-year-v-2019-93d6ee11aceb
朋友會在“發現-看一看”看到你“在看”的內容