python 三方面庫整理
測試開發
Web UI測試自動化
splinter - web UI測試工具,基於selnium封裝。
selenium - web UI自動化測試。 –推薦
mechanize- Python中有狀態的程式化Web瀏覽。
selene - 使用Python + Ajax支援+ PageObjects + Widgets進行簡明UI測試
hitch - 基於服務的應用程式的高階整合測試框架。
Needle - Css 自動化測試框架。
seleniumbase - 端到端自動化測試框架。
pytest_splinter - pytest spinter和selenium整合。
Browsermob Proxy - Browsermob Proxy的python包裝器。
Selenium-Requests - 擴充套件Selenium WebDriver類以包含請求庫中的請求函式,同時完成所有需要的cookie和請求頭處理。
移動測試自動化
appium - 移動端UI自動化測試。 –推薦
uiautomator- 安卓UI自動化測試。
ATX - 智慧手機自動化工具。支援iOS,Android,WebApp和遊戲。 網易出品 –推薦
uiautomator2- Android Uiautomator2 Python Wrapper。 –推薦
facebook-wda Facebook WebDriverAgent Python Client Library (not official) 可用於IOS應用測試。 –推薦
Windows UI測試自動化
Winium.Desktop - 開源測試自動化工具,用於基於WinForms和WPF平臺自動測試Windows應用程式,基於Selenium遠端WebDriver實現。
pyautogui- 跨平臺的UI自動化工具,控制滑鼠和鍵盤。
autopy - 簡單的跨平臺GUI自動化工具包,適用於Python。
pywinauto - Windows UI自動化。
SikuliX - 基於OpenCV的GUI測試框架,使用影象識別來定位與之間的專案,來自python 2.7的指令碼,跨平臺。
UI測試
pyautoacad - AutoCAD自動化。
sikuli - 點陣圖自動化。
monkeyrunner- 安卓自動化。
ldtp - Linux UI自動化。
dogtail- Linux UI自動化。
pyautoit- autoit python api。
效能測試
funkload - 效能及功能測試工具。 –推薦
multi-mechanize - python效能測試工具,基於多程序和多執行緒,是學習效能測試goon工具的佳品。 –推薦
locust - 強大的效能測試工具,使用了協程。 連結 –推薦
ngrinder - 市面上最強大的效能測試工具之一,主要用jython書寫指令碼,效能在loadrunner和jmeter之上,擴充套件性好。 連結 –強烈推薦
boom - 類似ab(ApacheBench)的效能測試工具。
測試框架
pyresttest 介面測試框架 – 推薦
HttpRunner HTTP介面測試框架 – 推薦
augmented-traffic-control facebook開發的最強悍弱網網路模擬工具 –強烈推薦
Hypothesis - 高階單元測試測試框架,支援行為驅動,基於property 。 – 推薦
unittest - (Python 標準庫) 單元測試框架 – 推薦
mamba - 行為驅動測試框架。
nose- 更好的單元測試框架。 – 推薦
nose2- nose基於unittest2的版本。
pytest- 很好的強大的單元測試框架,實際上廣泛使用在自動化單元、介面、功能等測試。 – 強烈推薦
testify - 單元測試框架,提供增強的測試fixture設定,將測試套件拆分成易於並行化的儲存bucket,PEP8命名約定,帶有大量日誌/報告選項及顏色測試執行器。
trial - Twisted的單元測試框架,基於unittest。
Robot Framework- 通用的python測試框架,易於上手,生成的報告比較好看,適合小型公司使用,支援關鍵字和資料等驅動,系業界內很出名的框架。不過因為寫用例不能很靈活的應用python,需要大量的python封裝,大公司通常使用pytest,django,flask之類的庫自行開發。
pytest- 很好的強大的單元測試框架,實際上廣泛使用在自動化單元、介面、功能等測試。 – 強烈推薦
green- 彩色(命令列能顯示多種顏色)的單元測試框架。
tox- 基於virtualenv的測試框架,主要用於解決多版本python問題。
sixpack- A/B 測試框架。
lettuce- 行為驅動 測試框架。
pyccuracy- 行為驅動 web驗收測試框架。
pytest-bdd- 基於pytest的行為驅動 測試框架。
ddt- 資料驅動測試。
behave- 行為驅動測試。
lettuce- 行為驅動測試。
mamba - Python的測試定義工具,基於行為驅動。
pyvows - Python的非同步行為驅動開發,Vows.js的python移植。
pyhamcrest - Python的Hamcrest匹配器。
sure - 強大而靈活的斷言python測試庫。
factory_boy - 基於thinkbot的factory_girl的fixture替代。
Mock
doublex:強大的測試樁框架。
mock:(Python3 標準庫) mock和patch。
freezegun:偽造時間。[連結]https://github.com/spulec/freezegun)
httmock:Python 2.7+ 和 3.4+ mock requests庫。
httpretty:Python 的 HTTP 請求 客戶端mock 工具,暫時不支援python3。
responses:針對requests 庫的mock庫。
VCR.py:錄製HTTP請求加快測試執行速度並可進行mock。 – 推薦
factoryboy:Python測試fixtures(setup和teardown)替代庫。
mixer:另外一個測試fixtures(setup和teardown)替代庫,支援 Django, Flask, SQLAlchemy, Peewee 等。
modelmommy:為 Django測試建立隨機fixtures
faker:生成多種偽資料。
fake2db:偽造資料庫生成器。
mimesis:生成mock資料。[連結]https://github.com/lk-geimfari/mimesis)
其他測試工具
coverage:程式碼覆蓋率。
FuckIt.py:程式碼出錯也可以執行。
RoboBrowser:一個簡單的,Python 風格的庫,用來瀏覽網站,而不需要一個獨立安裝的瀏覽器。
MechanicalSoup:用於自動和網路站點互動的 Python 庫。
augmented-traffic-control:網路模擬工具。 – 強烈推薦
持續交付
buildbot - google等公司使用的持續整合框架,上手比Jenkins難,功能和效能遠比Jenkins強大。
BitBake – 嵌入式Linux上類似make工具。
buildout – 用於從多個部分建立,組裝和部署應用程式的構建系統。
PlatformIO – 在不同的開發平臺的控制檯構建工具。
PyBuilder – 純Python編寫的持續構建工具。
SCons – 軟體構建工具。
測試工具對接
jira –自動化JIRA。
awesome-python
管理面板(Admin Panels)
Ajenti - Linux & BSD web管理面板。管理程序和檔案等。
django-suit - 現代主題的Django管理介面(僅限非商業用途)。
django-xadmin - 方便的Django admin替代。 完全支援外掛擴充套件,基於 Twitter Bootstrap,並有站內書籤、支援 xls, csv, xml和json資料匯入等不少增強。
flask-admin - Flask的簡單和可擴充套件的 web 管理介面框架。
flower - Celery的實時監控和網路。
Grappelli - Django管理介面的爵士面板。[連結]https://github.com/sehmaschine/django-grappelli)
Wooey - 為Python指令碼建立自動Web UI的Django應用程式。
演算法和設計模式(Algorithms and Design Patterns)
Python的演算法和設計模式的實現。
algorithms - Python的演算法模組。
PyPattyrn - 簡單有效實現通用設計模式。
python-patterns - Python中設計模式的集合。
sortedcontainers - SortedList,SortedDict和SortedSet型別的快速,純Python實現。
反病毒(Anti-spam)
django-simple-captcha - 簡單且高度可定製的Django應用,可以將驗證碼影象新增到任何Django表單。
資產管理(Asset Management)
用於管理,壓縮和縮小網站資產的工具。
django-compressor - 將連結和內聯的JavaScript或CSS壓縮到單個快取檔案中。
django-pipeline - Django的資產包裝庫。
django-storages - Django自定義儲存後端集。
fanstatic - 用 Python 的包的方式封裝,優化靜態檔案並解依賴。
fileconveyor - 檢測和同步檔案到CDN,S3和FTP的後臺程式。
flask-assets - 整合web 資源到Flask應用。
jinja-assets-compressor - Jinja擴充套件程式,用於編譯和壓縮資源。 – github星級不到100.
webassets - 為靜態資源打包,優化和管理基於快取的唯一URL。
音訊(Audio)
操作音訊的庫。
audiolazy - 數字訊號處理(DSP)軟體包。
audioread - 跨庫(GStreamer +Core Audio+ MAD + FFmpeg)音訊解碼。連結
beets - 音樂庫管理和MusicBrainzb標籤。 – 推薦
dejavu - 音訊指紋識別。 – 推薦
id3reader - 用於讀取MP3元資料的Python模組。
m3u8 - 解析m3u8檔案的模組。
mingus - 先進的音樂理論和MIDI檔案和播放支援符號包。
mutagen - 用於處理音訊元資料的Python模組。
pyAudioAnalysis - Python音訊分析庫:特徵提取,分類,分割和應用。 – 推薦
pydub - 通過簡單易用的高階介面處理音訊。 – 推薦
pyechonest - Echo Nest API的Python客戶端。
talkbox - 用於語音/訊號處理的Python庫。
TimeSide - 開放的Web音訊處理框架。
tinytag - 用於讀取MP3,OGG,FLAC和Wave檔案的音樂元資料的庫。
認證(Authentication)
Authomatic:簡單但是強大的框架,身份驗證/授權客戶端。
django-allauth:Django 的驗證應用。
django-oauth-toolkit: Django OAuth2。
django-oauth2-provider:Django OAuth2。
Flask-OAuthlib: Flask OAuthlib 。
OAuthLib: 通用完整的實現OAuth請求-簽名邏輯。
python-oauth2:建立 OAuth 客戶端和服務端完全測試的抽象介面。
python-social-auth:設定簡單的社交認證。
rauth:OAuth 1.0/a, 2.0, 和 Ofly。
sanction:一個超級簡單的OAuth2 客戶端實現。
PyJWT:JSON Web 令牌草案 01。
python-jwt:生成和驗證 JSON Web 令牌。
內建類增強(Built-in Classes Enhancement)
attrs - 替換類定義中的init,eq,repr等樣板檔案。
bidict - 高效的雙向字典。
Box - 點符號訪問的Python字典
CMS(Content Management Systems)
內容管理系統
django-cms:開源的,基於Django的企業級 CMS。
djedi-cms:輕量級但卻非常強大的 Django CMS ,考慮到了外掛,內聯編輯以及效能。[連結]http://djedi-cms.org/)
FeinCMS:基於 Django 構建的最先進的內容管理系統之一。
Kotti:高層的的web應用框架,基於 Pyramid 構建。
Mezzanine:強大的,一致的,靈活的內容管理平臺。 – 推薦
Opps:雜誌,報紙網站以及大流量入口網站設計的 CMS 平臺,基於 Django。[連結]https://github.com/opps/opps)
Plone:構建於開源應用伺服器 Zope 之上的 CMS。
Quokka:靈活,可擴充套件的小型 CMS,基於 Flask 和 MongoDB。
Wagtail:Django 內容管理系統。 – 推薦
Widgy: CMS 框架,基於 Django。
快取(Caching)
快取資料的庫。
Beaker:快取和會話庫,可以用在 web 應用和獨立 Python指令碼和應用上。
DiskCache:Python磁碟快取(Django相容)。。
django-cache-machine:Django 模型的自動快取和失效。
django-cacheops:具有自動顆粒化事件驅動失效功能的 ORM。
dogpile.cache:dogpile.cache 是 Beaker 的替代,由同一作者開發。
HermesCache:Python 快取庫,具有基於標籤的失效和 dogpile effect 保護功能。
johnny-cache:django應用快取框架。[連結]https://github.com/jmoiron/johnny-cache)
pylibmc:libmemcached 介面的 Python 封裝。
自動聊天工具(ChatOps Tools)
Errbot:最簡單和最流行的聊天機器人用來實現自動聊天工具。
程式碼分析和lint(Code Analysis)
coala:語言獨立和易於擴充套件的程式碼分析應用程式。
code2flow:把你的 Python 和 JavaScript 程式碼轉換為流程圖。暫時無法繼續維護。
pycallgraph:這個庫可以把你的Python 應用的流程(呼叫圖)進行視覺化。
Flake8:模組化原始碼檢查工具: pep8, pyflakes 以及 co。
Pylint:一個完全可定製的原始碼分析器。
pylama:python程式碼審計。
YAPF: Google的Python程式碼格式化工具。 –推薦
pylama:Python 和 JavaScript 的程式碼審查工具。
autopep8:自動格式化 Python 程式碼,以使其符合 PEP8 規範。 –推薦
mypy :靜態型別檢查。 –推薦
pep8 :python風格檢查。 –推薦
prospector - 分析Python程式碼並輸出有關錯誤,潛在問題,違反常規和複雜性的資訊的工具。
命令列工具(Command-line Tools)
命令列程式開發( Command-line Application Development)
asciimatics:跨平臺,全屏終端包(即滑鼠/鍵盤輸入和彩色,定位文字輸出),完整的複雜動畫和特殊效果的高階API。
cement:Python 的命令列程式框架。
click:一個通過組合的方式來建立精美命令列介面的包。 –推薦
cliff:一個用於建立命令列程式的框架,可以建立具有多層命令的命令列程式。
clint:Python 命令列程式工具。
colorama:跨平臺彩色終端文字。
docopt:Python 風格的命令列引數解析器。 –推薦
Gooey:一條命令,將命令列程式變成一個 GUI 程式。
Python-Fire:將命令列程式變成一個 GUI 程式。 –推薦
python-prompt-toolkit:構建強大的互動式命令列程式的庫。 –推薦
Pythonpy:在命令列中直接執行任何Python指令。
生產力工具(Productivity Tools)
aws-cli:Amazon Web Services 的通用命令列介面。
bashplotlib:在終端中進行基本繪圖。
caniusepython3:判斷是哪個專案妨礙你你移植到 Python 3。
cookiecutter:從 cookiecutters(專案模板)建立專案的一個命令列工具。
doitlive:一個用來在終端中進行現場演示的工具。
howdoi:通過命令列獲取即時的程式設計問題解答。 –推薦
httpie:命令列HTTP 客戶端,cURL 的替代品,易用性更好。
PathPicker:從bash輸出中選出檔案。
percol:向UNIX shell 傳統管道概念中加入互動式選擇功能。
SAWS:一個加強版的 AWS 命令列。
thefuck:修正你之前的命令列指令。
mycli:一個 MySQL 命令列客戶端,具有自動補全和語法高亮功能。 –推薦
pgcli:Postgres 命令列工具,具有自動補全和語法高亮功能。 –推薦
try:很簡單的命令列工具,用來試用python庫。
相容性(Compatibility)
幫助從 Python 2 向 Python 3遷移的庫。
Python-Future:這就是 Python 2 和 Python 3 之間丟失的那個相容性層。
Python-Modernize:使 Python 程式碼更加現代化以便最終遷移到 Python 3。[連結]https://github.com/mitsuhiko/python-modernize)
Six:Python 2 和 3 的相容性工具。
計算機視覺(Computer Vision)
計算機視覺庫。
OpenCV:開源計算機視覺庫。
pyocr:Tesseract 和 Cuneiform 的包裝庫。
pytesseract:Google Tesseract OCR 的另一包裝庫。
SimpleCV:一個用來建立計算機視覺應用的開源框架。
併發和並行及非同步與網路(Concurrency and Parallelism)
用以進行併發和並行操作的庫。
multiprocessing:(Python 標準庫) 基於程序的“執行緒”介面。 –推薦
threading:(Python 標準庫)更高層的執行緒介面。 –推薦
eventlet:支援 WSGI 的非同步框架。連結
gevent:一個基於協程的 Python 網路庫,使用greenlet。 –推薦
Tomorrow:用於產生非同步程式碼的神奇的裝飾器語法實現。
uvloop:在libuv之上超快速實現asyncio事件迴圈。 –推薦
asyncio - (Python 標準庫) 非同步 I/O, 事件迴圈, 協程以及任務 –推薦
aiohttp 非同步http client/server框架(asyncio) –推薦
curio 協程併發庫.
pulsar - 事件驅動的併發框架.
pyzmq - ZeroMQ 訊息庫的 Python 封裝
Twisted - 事件驅動的網路引擎. 和asyncio有很多類似的地方,逐漸被代替,需要資料庫等相關生態圈的支援
diesel - 基於Greenlet 的事件 I/O 框架。
Tornado - web 框架和非同步網路庫.
Trio – 非同步I/O 連結 可能會飆升
NAPALM - 處理網路裝置的跨供應API.
txZMQ - 基於 Twisted 的 ZeroMQ 訊息庫的 Python 封裝。
配置(Configuration)
用來儲存和解析配置的庫。
config:logging 模組作者寫的分級配置模組。 – 較長時間未更新
ConfigObj:INI 檔案解析器,帶驗證功能。
ConfigParser:(Python 標準庫) INI 檔案解析器。
profig:通過值轉換配置多種格式。
python-decouple:將設定和程式碼完全隔離。
加密(Cryptography)
cryptography:這個軟體包意在提供密碼學基本內容和方法提供給 Python 開發者。
hashids:在 Python 中實現 hashids 。
Paramiko:SSHv2 協議的 Python (2.6+, 3.3+) ,提供客戶端和服務端的功能。 – 推薦
Passlib:安全密碼儲存/雜湊庫,
PyCrypto:Python 密碼學工具箱。
PyNacl:網路和密碼學(NaCl) 庫的 Python 繫結。
資料分析(Data Analysis)
blaze:NumPy 和 Pandas 的大資料介面。
Open Mining:使用 Python 挖掘商業情報 (BI) (Pandas web 介面)。
orange:通過視覺化程式設計或 Python 指令碼進行資料探勘,資料視覺化,分析和機器學習。
Pandas:提供高效能,易用的資料結構和資料分析工具。–強烈推薦
書籍:利用Python進行資料分析 2017 第二版 程式碼 –推薦
利用Python進行資料分析·第2版 –推薦
資料驗證(Data Validation)
資料驗證庫。多用於表單驗證。
Cerberus: 輕量級可擴充套件的資料驗證庫.
colander:驗證並反序列化XML、JSON、HTML表單獲取的資料。
colander:json模式的實現。
kmatch:一種用於匹配/驗證/篩選 Python 字典的語言。
schema:一個用於對 Python 資料結構進行驗證的庫。
Schematics:人性化的python資料結構。
valideer:輕量級可擴充套件的資料驗證和適配庫。
voluptuous:Python 資料驗證庫。主要是為了驗證傳入 Python的 JSON,YAML 等資料。
資料視覺化(Data Visualization)
進行資料視覺化的庫。 參見: awesome-javascript。
matplotlib:Python 2D 繪相簿。 –推薦
bokeh:用Python進行互動式web繪圖。 –推薦 英文快速入門 中文快速入門
ggplot:ggplot的 Python移植。 -薦
plotly:互動式基於瀏覽器的繪圖。
pyecharts:基於百度 Echarts 的資料視覺化庫。-薦
pygal:Python SVG 圖表建立工具。
pygraphviz:Graphviz 的 Python 介面。
PyQtGraph:互動式實時 2D/3D/ 影象繪製及科學/工程學元件。
SnakeViz:基於瀏覽器的 Python cProfile 模組輸出結果檢視工具。
vincent:把 Python 轉換為 Vega 語法的轉換工具。
VisPy:基於 OpenGL 的高效能科學視覺化工具。
Altair - 用於Python的宣告式統計視覺化庫。
bqplot - Jupyter Notebook的互動繪相簿。
Seaborn - 使用Matplotlib進行統計資料視覺化。 -薦
plotly.py 互動式基於瀏覽器的繪圖 -薦
A Dramatic Tour through Python’s Data Visualization Landscape (including ggplot and Altair)
Python data visualization: Comparing 7 tools
10 Useful Python Data Visualization Libraries for Any Discipline
Overview of Python Visualization Tools
Effectively Using Matplotlib
pyecharts + notebook
Bokeh vs Dash
01+ Resources to Learn Data Science chinese
資料庫(Database)
Python實現的資料庫。
pickleDB:簡單,輕量級鍵值儲存資料庫。
PipelineDB:流式 SQL 資料庫。
TinyDB:輕型的,面向文件型資料庫。
ZODB: Python 原生物件資料庫。鍵值和物件圖資料庫。
資料庫驅動(Database Drivers)
連線和操作資料庫的庫。
mysql-python:Python 的 MySQL 資料庫聯結器。 不支援python3,不推薦
PyMySQL:純 Python MySQL 驅動,相容 mysql-python。 –推薦
mysql-connector-python:mysql官方python API。–推薦
psycopg :Python 中最流行的 PostgreSQL 介面卡。 –推薦
queries:psycopg2 庫的封裝,用來和 PostgreSQL 進行互動。
txpostgres:基於 Twisted 的非同步 PostgreSQL 驅動。
apsw:另一個 Python SQLite 封裝。
dataset:在資料庫中儲存 Python 字典
pymssql:簡單的 Microsoft SQL Server 資料庫介面。
cassandra-python-driver:Cassandra 的 Python 驅動。
HappyBase:Apache HBase。
Plyvel:快速且功能豐富的 LevelDB 的 Python 介面。
pycassa:Cassandra 的 Python Thrift 驅動。
PyMongo:MongoDB 的官方 Python 客戶端。 – 推薦
redis-py:Redis 的 Python 客戶端。 – 推薦
telephus:基於 Twisted 的 Cassandra 客戶端。
txRedis:基於 Twisted 的 Redis 客戶端。
---------------------
作者:qq_41235053
來源:CSDN
原文:https://blog.csdn.net/qq_41235053/article/details/82355641?utm_source=copy
版權宣告:本文為博主原創文章,轉載請附上博文連結!