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)
其餘測試工具javascript

coverage:代碼覆蓋率。
FuckIt.py:代碼出錯也能夠執行。
RoboBrowser:一個簡單的,Python 風格的庫,用來瀏覽網站,而不須要一個獨立安裝的瀏覽器。
MechanicalSoup:用於自動和網絡站點交互的 Python 庫。
augmented-traffic-control:網絡模擬工具。 – 強烈推薦
持續交付java

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的算法和設計模式的實現。python

algorithms - Python的算法模塊。
PyPattyrn - 簡單有效實現通用設計模式。
python-patterns - Python中設計模式的集合。
sortedcontainers - SortedList,SortedDict和SortedSet類型的快速,純Python實現。
反病毒(Anti-spam)
django-simple-captcha - 簡單且高度可定製的Django應用,能夠將驗證碼圖像添加到任何Django表單。
資產管理(Asset Management)
用於管理,壓縮和縮小網站資產的工具。mysql

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)
操做音頻的庫。git

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)
內容管理系統github

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)
緩存數據的庫。web

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遷移的庫。redis

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)
用以進行併發和並行操做的庫。sql

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 版權聲明:本文爲博主原創文章,轉載請附上博文連接!

相關文章
相關標籤/搜索