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。
雪峰磁針石說明: autopy、WATSUP、winGuiAuto因為較長時間未更新未收錄
性能測試
funkload - 性能及功能測試工具。
Locust.io– 了解服務器端性能的好工具。 語言python3。源碼python3+ python2.7+ github上star和fork最多的性能測試工具。
Bees with Machine Guns– 進行負載測試的蜜蜂(微型EC2實例)。 語言python3+ python2.6+
Multi-Mechanize– 用于性能和負載測試的開源框架,它運行并發Python腳本以生成針對遠程站點或服務的負載(復合事務)。它通常用于Web性能和擴展性測試,但您也可以使用Multi-Mechanize來測試任何遠程API。 --基于python多進程和多線程實現,學習自行開發性能測試的佳品。 Python 2.6 or 2.7 較長時間沒有更新,一般只建議改造使用。
ngrinder - 市面上最強大的性能測試工具之一,主要用jython書寫腳本,性能在loadrunner和jmeter之上,擴展性好。
boom - 類似ab(ApacheBench)的性能測試工具。
測試框架
pyresttest接口測試框架
HttpRunnerHTTP接口測試框架
augmented-traffic-controlfacebook開發的最強悍弱網網絡模擬工具
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之類的庫自行開發。
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)
雪峰磁針石說明: radar 因為github星級太少而未收錄
其他測試工具
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表單。
雪峰磁針石說明:
django-simple-spam-blocker因為github星級太少而未收錄
資產管理(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擴展程序,用于編譯和壓縮資源。
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文件的音樂元數據的庫。
雪峰磁針石說明:
django-elastic-transcoder, eyeD3 因為github星級太少而未收錄
scikits.talkbox 因長時間未更新未收錄
認證(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 令牌。
雪峰磁針石說明:
jose,python-jws因為github星級太少而未收錄
scikits.talkbox 因長時間未更新未收錄
內置類增強(Built-in Classes Enhancement)
attrs- 替換類定義中的__init__,eq,__repr__等樣板文件。
bidict- 高效的雙向字典。
Box- 點符號訪問的Python字典
區塊鏈(Blockchain)
blockchain- 簡單的區塊鏈。
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 封裝。
雪峰磁針石說明:
django-viewlet因為github星級太少而未收錄
自動聊天工具(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 Sciencechinese
數據庫(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 客戶端。
日期和時間(Date and Time)
操作日期和時間的類庫。
arrow:更好的 Python 日期時間操作類庫。 -- 推薦
Chronyk:Python 3 的類庫,用于解析手寫格式的時間和日期。
dateutil:Python datetime 模塊的擴展。
delorean:解決 Python 中有關日期處理的棘手問題的庫。
moment:用來處理時間和日期的 Python 庫。靈感來自于 Moment.js。
pendulum:更處理datetime。
PyTime:簡單易用的 Python 模塊,用于通過字符串來操作日期/時間。
pytz:現代以及歷史版本的世界時區定義。將時區數據庫引入 Python。 --推薦
when.py:提供用戶友好的函數來幫助用戶進行常用的日期和時間操作。
when.py:人性化的datetime。
調試工具(Debugging Tools)
代碼調試的庫。
ipdb:IPython的 pdb。
pudb:pdb的替代。 -- 推薦
pudb:全屏,基于控制臺的 Python 調試器。
pyringe:可以在 Python 進程中附加和注入代碼的調試器。
wdb:一個奇異的 web 調試器,通過 WebSockets 工作。
winpdb:一個具有圖形用戶界面的 Python 調試器,可以進行遠程調試,基于 rpdb2。
django-debug-toolbar:為 Django 顯示各種調試信息。
django-devserver:一個 Django 運行服務器的替代品。
flask-debugtoolbar:django-debug-toolbar 的 flask 版。
性能分析器 lineprofiler:逐行性能分析。
Memory Profiler:監控 Python 代碼的內存使用。官網、內存 profiling:一個交互式 Python 性能分析工具。
其他 pyelftools:解析和分析 ELF 文件以及 DWARF 調試信息。
python-statsd:statsd 服務器的 Python 客戶端。
深度學習(Deep Learning)
機器學習庫。 參見:awesome-deep-learning.*
Caffe- 快速開放的深度學習框架
Keras- 高級神經網絡庫,能夠在TensorFlow或Theano之上運行。 --推薦
MXNet- 高效率和靈活的深度學習框架。
Neupy- 運行和測試不同的人工神經網絡算法.
Pytorch- Python中的張量和動態神經網絡,具有強大的GPU加速功能。 --推薦
Serpent.AI- 游戲代理框架。 使用任何視頻游戲作為深度學習沙盒。 --推薦
TensorFlow- 由Google創建的最受歡迎的深度學習框架。 --強烈推薦
Theano- 用于快速數值計算的庫. --推薦
DevOps工具(DevOps Tools)
DevOps的軟件和庫。*
Ansible- 極其簡單的IT自動化平臺。 --推薦
Cloud-Init- 處理云實例的早期初始化的多分發包。
cuisine- 為 Fabric 提供一系列高級函數。
Docker Compose- 使用Docker的快速隔離開發環境。 --推薦
Fabric- 簡單的Pythonic遠程執行和部署工具。 --推薦
Fabtools- 編寫真棒Fabric文件的工具。
honcho- 一個[Foreman]的Python克隆(https://github.com/ddollar/foreman),用于管理基于Procfile的應用程序。
nova- OpenStack計算。 --推薦
swift- OpenStack存儲。 --推薦
pexpect- 在像GNU expect這樣的偽終端中控制交互式程序。 --強烈推薦
psutil- 跨平臺的進行和系統實用程序模塊。 --推薦
SaltStack- 基礎設施自動化和管理系統。 --推薦
supervisor- 用于UNIX的Supervisor進程控制系統。
gitapi:Git 的純 Python API。官網
hgapi:Mercurial 的純 Python API。官網
honcho:Foreman的 Python 克隆版,用來管理基于Procfile的應用。官網
分發(Distribution)
打包為可執行文件以便分發。
PyInstaller:將 Python 程序轉換成獨立的執行文件(跨平臺)。 --推薦
dh-virtualenv:構建并將 virtualenv 虛擬環境作為Debian 包來發布。鏈接
Nuitka:將腳本、模塊、包編譯成可執行文件或擴展模塊。鏈接
py2app:將 Python 腳本變為獨立軟件包(Mac OS X)。 --推薦
py2exe:將 Python 腳本變為獨立軟件包(Windows)。鏈接--已經比較久沒有更新了。
pynsist:用來創建 Windows 安裝程序的工具,可以在安裝程序中打包 Python本身。
文檔(Documentation)
用以生成項目文檔的庫。
Sphinx:Python 文檔生成器。
awesome-sphinxdoc:
MkDocs:對 Markdown 友好的文檔生成器。 -- 推薦
pdoc:替換Epydoc 的庫,可以自動生成 Python 庫的 API 文檔。
Pycco:文學編程風格的文檔生成器。
readthedocs:一個基于 Sphinx/MkDocs 的在線文檔托管系統,對開源項目免費開放使用。-- 推薦
下載器(Downloader)
用來進行下載的庫.
s3cmd:一個用來管理Amazon S3 和 CloudFront 的命令行工具。
s4cmd:超級 S3 命令行工具,性能更加強勁。
you-get:YouTube/Youku/Niconico 視頻下載器,使用 Python3 編寫。 --推薦
youtube-dl:一個小巧的命令行程序,用來下載 YouTube 視頻。
電子商務(E-commerce)
用于電子商務以及支付的框架和庫。
django-oscar:基于Django 的開源的電子商務框架。 -- 推薦
django-shop: 基于 Django 的店鋪系統。
Cartridge:一個基于 Mezzanine 構建的購物車應用。
shoop:基于 Django 的開源電子商務平臺。
alipay:非官方的 Python 支付寶 API。
merchant:可以接收來自多種支付平臺支付的 Django 應用。
money:Python錢類,帶有可選的CLDR支持的區域識別格式和可擴展的貨幣兌換解決方案。
forex-python:外匯匯率,比特幣價格指數和貨幣兌換。
saleor - Python和Django的電子商務店面。
雪峰磁針石說明:
python-currencies因為星級較少沒有收錄
編輯器插件(Editor Plugins and IDEs)
編輯器和 IDE 的插件
Elpy:Emacs Python 開發環境。
SublimeJEDI:Sublime Text 插件,用來實現自動補全庫 Jedi。
Anaconda:把你的 Sublime Text 3 變成功能齊全的 Python IDE。
YouCompleteMe:引入基于 Jedi 的 Python 自動補全引擎。
Jedi-vim:綁定 Vim 和 Jedi 自動補全庫對 Python 進行自動補全。
Python-mode:Vim 變成 Python IDE 的多合一插件。
PTVS:Visual Studio 的 Python 工具鏈接
wingIDE:商業化的 Python IDE,功能強大,占用資源少,python開發。也有免費的社區版提供。[鏈接]https://wingware.com/) -- 推薦
PyCharm:商業化的 Python IDE ,由 JetBrains 開發。也有免費的社區版提供。
LiClipse:基于 Eclipse 的免費多語言 IDE 。使用 PyDev 來支持 Python 。
Spyder:開源 Python IDE。
komodo-ide
電子郵件(Email)
用來發送和解析電子郵件的庫。
mailer:用簡單的方式發送郵件。 -- 推薦
envelopes:人性化的電子郵件庫。
flanker:email 地址和 Mime 解析庫。
imbox:人性化的Python IMAP 庫
inbox.py:人性化的Python SMTP 服務器。
inbox:具有時尚API的IMAP/SMTP同步系統。 -- 推薦
lamson:Python 風格的 SMTP 應用服務器。
marrow.mailer:高性能可擴展郵件分發框架。
modoboa:一個郵件托管和管理平臺,具有現代的、簡約的 Web UI。
pyzmail:創建,發送和解析電子郵件。
Talon:Mailgun 庫,用來抽取信息和簽名。
yagmail- 另外一個 Gmail/SMTP客戶端。
sync-engine - IMAP/SMTP同步。 -- 推薦
環境管理(Environment Management)
Python版本和環境管理
Pipenv:Pipfile,Pip和Virtualenv的結合。--強烈推薦
p:簡單的python版本管理工具。
pyenv:簡單的python版本管理。 --強烈推薦
venv:創建python虛擬環境,python3標準庫。 --強烈推薦
virtualenv:創建獨立的Python 環境。 --強烈推薦
virtualenvwrapper:virtualenv 的擴展。 --強烈推薦
文件(Files)
文件管理和 MIME(多用途的網際郵件擴充協議)類型檢測。
imghdr:(Python 標準庫)檢測圖片類型。
mimetypes:(Python 標準庫)將文件名映射為 MIME 類型。
path.py:對 os.path 進行封裝的模塊。
pathlib:(Python3.4+ 標準庫)跨平臺的、面向對象的路徑操作庫。 --強烈推薦
python-magic:文件類型檢測的第三方庫 libmagic 的 Python 接口。
Unipath:用面向對象的方式操作文件和目錄。
watchdog:管理文件系統事件的 API 和 shell 工具。 --推薦
外部函數接口(Foreign Function Interface)
cffi:調用 C 代碼。鏈接--強烈推薦
ctypes:(Python 標準庫) 調用 C 代碼。 --強烈推薦
PyCUDA:Nvidia CUDA API 的封裝。
SWIG:簡單的包裝器和接口生成器。
表單(Forms)
Deform:Python HTML 表單生成庫,受到了 formish 表單生成庫的啟發。
django-bootstrap3:集成了 Bootstrap 3 的 Django。--推薦
django-crispy-forms:非常優雅且 DRY(Don't repeat yourself) 的方式來創建美觀的表單。 --推薦
django-remote-forms:平臺獨立的 Django 表單序列化工具。
WTForms:靈活的表單驗證和渲染庫。
函數式編程(Functional Programming)
CyToolz:Toolz 的 Cython 實現 : 高性能函數工具。
fn.py:在 Python 中進行函數式編程 : 實現了一些函數式編程缺失的功能。 -- 推薦
funcy:炫而實用的函數式工具。
Toolz:一組用于迭代器,函數和字典的函數式編程工具。
##動態消息
用來創建用戶活動的庫。
django-activity-stream:從你的站點行為中生成通用活動信息流。
Stream-Framework:使用 Cassandra 和 Redis 創建動態消息和通知系統。
圖形用戶界面(GUI)
curses:內置的ncurses 封裝,用來創建終端圖形用戶界面。標準庫。
Eel - 用于制作簡單電子類離線HTML / JS GUI應用程序的小程序庫。
enaml:使用類似 QML 的 Declaratic 語法來創建美觀的用戶界面。
kivy:創建NUI應用程序的庫,可以運行在 Windows, Linux, Mac OS X, Android 以及 iOS 平臺上。-推薦
pyglet:Python 的跨平臺窗口及多媒體庫。
PyQt:跨平臺用戶界面框架 Qt 的 Python 綁定 ,支持 Qt v4 和 Qt v5。
PySide:跨平臺用戶界面框架 Qt 的 Python 綁定 ,支持 Qt v4。
Tkinter:Python GUI 標準庫。
Toga:Python 原生的, 操作系統原生的 GUI 工具包。
urwid:創建終端 GUI 應用的庫,支持組件,事件和豐富的色彩等。
wxPython:wxPython 是 wxWidgets C++ 類庫和 Python 語言混合的產物。
PyGObject:GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 綁定。
Flexx:純 Python編寫的用來創建 GUI 程序的工具集,它使用 web 技術進行界面的展示。
##游戲開發(Game Development)
Cocos2d- cocos2d是用于構建2D游戲,演示和其他圖形/交互式應用程序的框架。它基于pyglet。
Panda3D- 由迪士尼開發并由卡內基梅隆娛樂技術中心維護的3D游戲引擎。用C ++編寫,完全用Python包裝。 -推薦
Pygame- Pygame是一套用于編寫游戲的Python模塊。 -推薦
PyOgre- Ogre 3D渲染引擎的Python綁定,可用于游戲,模擬,任何3D。
PyOpenGL- 用于OpenGL的Python ctypes綁定及其相關的API。
PySDL2- SDL2庫的基于ctypes的包裝器。
RenPy- Visual Novel引擎。
##地理位置(Geolocation)
地理編碼地址和緯度和經度的圖書館。
django-countries- Django應用程序,提供與表單一起使用的國家選項,標志圖標靜態文件和模型的國家/地區字段。
GeoDjango- 世界級的地理網絡框架。 -推薦
GeoIP- MaxMind GeoIP遺留數據庫的Python API。
geojson- GeoJSON的Python綁定和實用程序。
geopy- Python地理編碼工具箱。
pygeoip- 純Python GeoIP API。
HTML操作(HTML Manipulation)
用于處理HTML和XML的庫。
BeautifulSoup- Python風格的方式來對HTML或XML進行迭代,搜索和修改。 -推薦
bleach- 基于白名單的HTML清理和文本鏈接庫。
cssutils- Python的CSS庫。
html5lib- 用于解析和序列化HTML文檔和片段的符合標準的庫。
lxml- 用于處理HTML和XML的非常快速,易于使用和多功能的庫。 -推薦
MarkupSafe- 為Python實現XML / HTML / XHTML標記安全字符串。
pyquery- 用于解析HTML的jQuery類庫。
untangle- 將XML文檔轉換為Python對象以便于訪問。
WeasyPrint- 可導出為PDF的HTML和CSS可視化呈現引擎。
xmldataset- 簡單的XML解析。
xhtml2pdf:HTML/CSS 轉 PDF 工具。官網
xmltodict- 像處理 JSON 一樣處理 XML。
HTTP
使用 HTTP 的庫。
aiohttp:基于 asyncio 的異步 HTTP 網絡庫。官網
requests:人性化的 HTTP 請求庫。官網--強烈推薦
grequests:requests 庫 + gevent ,用于異步 HTTP 請求.官網
httplib2:全面的 HTTP 客戶端庫。官網
treq:類似 requests 的 Python API 構建于 Twisted HTTP 客戶端之上。官網
urllib3:一個具有線程安全連接池,支持文件 post,清晰友好的 HTTP 庫。官網
硬件(Hardware)
用于硬件編程的庫。
ino- 用于Arduino的命令行工具包。
keyboard- 鉤和模擬Windows和Linux上的全球鍵盤事件。
鼠標- 在Windows和Linux上掛鉤并模擬全局鼠標事件。
Pingo- Pingo提供統一的API來編程像Raspberry Pi,pcDuino,Intel Galileo等設備。
PyUserInput- 用于跨平臺控制鼠標和鍵盤的模塊。
scapy- 出色的數據包操作庫。
wifi- 用于在Linux上使用WiFi的Python庫和命令行工具。
Pyro:Python 機器人編程庫。官網
PyUserInput:跨平臺的,控制鼠標和鍵盤的模塊。官網
圖像處理(Image Processing)
用于處理圖像的庫。
pillow:Pillow 是一個更加易用版的PIL。官網-推薦
hmap:圖像直方圖映射。官網
imgSeek:使用視覺相似性搜索一組圖片集合的項目。官網較長時間沒有更新
nude.py:裸體檢測。官網
pyBarcode:不借助 PIL 庫在 Python 程序中生成條形碼。官網
pygram:類似 Instagram 的圖像濾鏡。官網
python-qrcode:純 Python 實現的二維碼生成器。官網--推薦
Quads:基于四叉樹的計算機藝術。官網
scikit-image:一個用于(科學)圖像處理的 Python 庫。官網--推薦
thumbor:小型圖像服務,具有剪裁,尺寸重設和翻轉功能。官網--推薦
wand:MagickWand的 Python 綁定。MagickWand 是 ImageMagick 的 C API 。官網
face_recognition:簡單易用的 python 人臉識別庫。官網--強烈推薦
pagan- 基于輸入字符串和散列的復古identicon(阿凡達)生成。
實現(Implementations)
Python的實現。*
CLPython- 用Common Lisp編寫的Python編程語言。
CPython-用C編寫的Python編程語言的默認,最廣泛使用的實現。--強烈推薦
Cython- 優化Python的靜態編譯器。使用類型mixin將Python編譯為C或C ++模塊,從而獲得巨大的性能提升 --強烈推薦
Grumpy- 更多的編譯器比解釋器更強大的CPython2.7替換(alpha)。 --推薦
IronPython- 實現用C#編寫的面向.NET Framework和Mono的Python編程語言。 --推薦
Jython- 為Java虛擬機(JVM)實現用Java編寫的Python編程語言。 --推薦
MicroPython- MicroPython - 精簡高效的Python編程語言實現,用于微控制器和受限制的系統 --推薦
Numba- 針對科學Python的LLVM的Python JIT編譯器。 --推薦
PeachPy- 嵌入在Python中的x86-64匯編程序。可以用作Python的內聯匯編程序,也可以用作Windows,Linux,OS X,Native Client和Go的獨立匯編程序。 --推薦
Pyjion- 基于CoreCLR的Python JIT。
PyPy- 實現用RPython編寫并編譯為C的Python編程語言.PyPy關注速度,效率以及與原始CPython解釋器的兼容性。解釋器使用黑魔法使Python非常快速,而無需添加額外的類型信息。 --強烈推薦
PySec- python的強化版本,使安全專業人員和開發人員可以更輕松地編寫應用程序,從而更有彈性地處理攻擊和操作。
Pyston- 使用LLVM和現代JIT技術構建的Python實現,其目標是實現良好的性能。 --推薦
Stackless Python- Python編程語言的增強版本,它允許程序員在沒有性能和復雜性的情況下獲得基于線程編程的好處與傳統線程相關的問題。 --推薦
交互式Python解釋器(Interactive Interpreter)
bpython- 界面豐富的 Python 解析器。
IPython- 功能豐富的工具,非常有效的使用交互式Python。 --強烈推薦
Jupyter Notebook- 功能豐富的工具,非常有效的使用交互式Python。 --推薦
ptpython- 在[python-prompt-toolkit]之上構建的高級Python REPL(https://github.com/jonathanslenders/python-prompt-toolkit) 。 --推薦
國際化
與i18n合作的圖書館
Babel- Python國際化庫。
PyICU- Unicode C ++庫的國際組件封裝(ICU)。
作業調度(Job Scheduler)
用于調度作業的庫。
APScheduler- 輕量但功能強大的進程內任務調度程序,可讓您安排功能。
django-schedule- Django的日歷應用程序。
doit- 任務運行者和構建工具。
gunnery- 具有基于Web界面的分布式系統的多用途任務執行工具。
Joblib- 一組用Python提供輕量級流水線的工具。
plan- 用Python編寫crontab文件就像一個魅力一樣。
schedule- 人性化的 Python 任務調度庫。 --推薦
Spiff- 以純Python實現的強大的工作流引擎。
TaskFlow- 可以讓你方便執行任務的 Python 庫,一致并且可靠。
AirFlow:Airflow 是Airbnb公司開源的,是一個工作流分配管理系統,通過有向非循環圖的方式管理任務流程,設置任務依賴關系和時間調度。官方
日志(Logging)
用于生成和處理日志的庫。
Eliot- 復雜和分布式系統日志。
logbook- 記錄Python的替代品。
logging- (Python標準庫)Python的日志工具。 --推薦
raven- Sentry的Python客戶端,用于Web應用程序的日志/錯誤跟蹤,崩潰報告和聚合平臺。
機器學習
機器學習庫。請參閱:awesome-machine-learning。
Metrics- 機器學習評估指標。
NuPIC- 用于智能計算的Numenta平臺。 --推薦
scikit-learn- 流行的機器學習Python庫。 --推薦
Spark ML-Apache Spark的可擴展機器學習庫。--推薦
vowpal_porpoise- 用于[Vowpal Wabbit]的輕量級Python包裝器(https://github.com/JohnLangford/vowpal_wabbit/)。
xgboost- 可擴展,可移植且分布式的漸變增強庫。 --推薦
MapReduce
MapReduce的框架和庫。*
PySpark- Apache Spark Python API。
dpark:Spark 的 Python 克隆版,類似 MapReduce 的框架。官網
dumbo:這個 Python 模塊可以讓人輕松的編寫和運行 Hadoop 程序。官網
luigi- 可幫助您構建批處理作業復雜管道的模塊。
mrjob- 在Hadoop或Amazon Web Services上運行MapReduce作業。
streamparse- 針對實時數據流運行Python代碼。與Apache Storm集成。
dask- 靈活的分析計算并行計算庫。
微軟Windows
Microsoft Windows上的Python編程。*
Python(x,y)- 基于Qt和Spyder的面向科學應用的Python發行版。 --推薦
pythonlibs- Python擴展包的非官方Windows二進制文件。 --推薦
PythonNet- .NET公共語言運行時(CLR)的Python集成。
PyWin32- Python的Windows擴展。 --推薦
WinPython- Windows 7/8的便攜式開發環境。 --推薦
雜項
不適合上述類別的有用庫或工具。
blinker:快速的 Python 進程內信號/事件分發系統。官網
itsdangerous:一系列輔助工具用來將可信的數據傳入不可信的環境。官網
pluginbase:一個簡單但是非常靈活的 Python 插件系統。官網
Pychievements:一個用來創建和追蹤成就的 Python 框架。官網
Tryton:通用商務框架。官網
自然語言處理(Natural Language Processing)
NLTK:構建Python程序以處理人類語言數據的領先平臺。連接- 推薦
jieba:中文分詞工具。官網- 推薦
langid.py:獨立的語言識別系統。官網
Pattern:Python 網絡信息挖掘模塊。官網- 推薦
SnowNLP:用來處理中文文本的庫。官網- 推薦
TextBlob:為進行普通自然語言處理任務提供一致的 API。官網- 推薦
TextGrocery:一簡單高效的短文本分類工具,基于 LibLinear 和 Jieba。官網
thulac:清華大學自然語言處理與社會人文計算實驗室研制推出的一套中文詞法分析工具包官網
gensim-人 性化的話題建模庫。
spaCy- 用于Python和Cython的工業強度自然語言處理的庫。 -推薦
網絡虛擬化(Network Virtualization)
用于虛擬網絡和SDN(軟件定義網絡)的工具和庫。
Mininet:流行的網絡模擬器以及用 Python 編寫的 API。官網-推薦
POX:一個針對基于 Python 的軟件定義網絡應用(例如 OpenFlow SDN 控制器)的開源開發平臺。官網
Pyretic:火熱的 SDN 編程語言中的一員,為網絡交換機和模擬器提供強大的抽象能力。官網
SDX Platform:基于 SDN 的 IXP 實現,影響了 Mininet, POX 和 Pyretic。官網
NRU:一個基于組件的軟件定義網絡框架。官網
網絡(Networking)
用于網絡編程的庫。
asyncio:(Python 標準庫) 異步 I/O, 事件循環, 協程以及任務。官網-推薦
Twisted:一個事件驅動的網絡引擎。官網-推薦
pulsar:事件驅動的并發框架。官網
diesel:基于 Greenlet 的事件 I/O 框架。官網
pyzmq:ZeroMQ 消息庫的 Python 封裝。官網
Toapi:輕巧,簡單,快速的 Flask 庫,致力于為所有網站提供 API 服務。官網-推薦
txZMQ:基于 Twisted 的 ZeroMQ 消息庫的 Python 封裝。官網
NAPALM- 用于操縱網絡設備的跨供應商API。
動態消息
用來創建用戶活動的庫。
django-activity-stream:從你的站點行為中生成通用活動信息流。官網
Stream-Framework:使用 Cassandra 和 Redis 創建動態消息和通知系統。官網-推薦
ORM
實現對象關系映射或數據映射技術的庫。
關系型數據庫
Django Models:Django 的一部分。鏈接
SQLAlchemy:Python SQL 工具以及對象關系映射工具。鏈接
awesome-sqlalchemy系列鏈接
Peewee:一個小巧,富有表達力的 ORM, 支持postgresql, mysql and sqlite。[鏈接]https://github.com/coleifer/peewee)
PonyORM:提供面向生成器的 SQL 接口的 ORM。鏈接
python-sql:編寫 Python 風格的 SQL 查詢。鏈接
NoSQL 數據庫
django-mongodb-engine:Django MongoDB 后端。鏈接
PynamoDB:Amazon DynamoDB 的一個 Python 風格接口。鏈接
flywheel:Amazon DynamoDB 的對象映射工具。鏈接
MongoEngine:Python 對象文檔映射工具,用于 MongoDB。鏈接
hot-redis:為 Redis 提供 Python 豐富的數據類型。鏈接
redisco:一個 Python 庫,提供可以持續存在在 Redis 中的簡單模型和容器。鏈接
其他
butterdb:Google Drive 電子表格的 Python ORM。鏈接
dataset :基于JSON的數據庫。鏈接
另外有更詳細的github上的介紹,網址:https://github.com/china-testing/python-api-tesing
作者:Thea0216
鏈接:https://www.jianshu.com/p/fc19ca41b9f4
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
總結
以上是生活随笔為你收集整理的python测试开发工具库汇总(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 监听Listener的简介及分类
- 下一篇: 【区块链整理】三、以太坊挖矿算法 ETH