在過去的一年裏,Mybridge 比較了近萬個 Python 開源庫,並從中挑選出最實用的 34 個工具來幫助你開發。html
這些開源項目的平均 Star 數爲 3293,下面將把它們分爲 7 類進行分享:python
開源項目對程序員來講意義非凡,能夠大大提高軟件開發速度,讓咱們花些時間,一塊兒來看看這些在可能被你錯過了的 Python 開源項目吧。git
1、Python Toolkit程序員
1. Pipenvgithub
Star 數:15710web
GitHub:算法
https://github.com/pypa/pipenvshell
介紹:Pipenv 是 Python.org 官方推動的 基於 pip 的 Python包管理工具,旨在將全部包管理工具(如 bundler、composer、npm、cargo、yarn 等)的優勢集中應用於 Python 領域中的工具,對各個平臺都有很好的支持。npm
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 團隊開發。
2、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 的迷你、可擴展、快速且高效的框架。
3、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 命令行工具。
4、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 能夠進行許多簡單的修改,但你也能夠根據須要,自定義選擇器、過濾器和修改器來構建更復雜的重構過程。
5、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
介紹: 一個用於甜美和奶油色打印調試的小庫。
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 科學棧。
6、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)的不一樣運算基準。
7、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