[雪峰磁針石部落格]可愛的python測試開發庫
歡迎轉載,轉載請註明來源:github地址 謝謝點贊
測試開發
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因為較長時間未更新未收錄
效能測試
軟體測試專家工具包2效能測試 https://china-testing.github.io/testing_tools_perf.html
- 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 介面測試框架 — 推薦
- 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之類的庫自行開發。 連結
- 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星級太少而未收錄 最近版本參見原文:https://github.com/china-testing/python-api-tesing
其他測試工具
持續交付
- buildbot – google等公司使用的持續整合框架,上手比Jenkins難,功能和效能遠比Jenkins強大。 連結 python庫介紹-buildbot教程
- 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星級太少而未收錄 最近版本參見原文:https://github.com/china-testing/python-api-tesing
資產管理(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檔案的音樂後設資料的庫。連結
- 雪峰磁針石說明:
django-elastic-transcoder, eyeD3 因為github星級太少而未收錄
scikits.talkbox 因長時間未更新未收錄 最近版本參見原文:https://github.com/china-testing/python-api-tesing
認證(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)
區塊鏈(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
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 資料庫介面。[連結](https://github.com/pudo/dataset)
- 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:一組用於迭代器,函式和字典的函數語言程式設計工具。連結
動態訊息
用來建立使用者活動的庫。
圖形使用者介面(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 – 出色的資料包操作庫。
- thrift-tools thrift抓包工具。
- mitmproxy:HTTP和抓包庫。官網
- 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合作的圖書館
作業排程(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 中的簡單模型和容器。連結
其他
包管理(Package Management)
管理包和依賴
- pip:管理包和依賴。連結 pypi –強烈推薦
- conda:跨平臺,Python 二進位制包管理工具。連結 –強烈推薦
- Curdling:管理 Python 包的命令列工具。連結
- pip-tools:保證 Python 包依賴關係更新的工具。連結
- wheel:Python 分發的新標準,意在取代 eggs。連結 –強烈推薦
包倉庫
本地 PyPI 倉庫服務和代理。
- warehouse:下一代 PyPI。連結
- Warehouse:連結
- bandersnatch:PyPA 提供的 PyPI 映象工具。連結
- devpi:PyPI 服務和打包/測試/分發工具。連結
- localshop:本地 PyPI 服務(自定義包並且自動對 PyPI 映象)。連結
許可權(Permissions)
允許或拒絕使用者訪問資料或功能的庫。
- Carteblanche – 將程式碼與使用者和設計師的想法對齊的模組。也神奇地處理導航和許可權。
- django-guardian – 為Django 1.2+許可權管理
- django-rules – 小巧但功能強大的應用程式,它為Django提供物件級許可權,而不需要資料庫。
程式(Processes)
用於啟動和與OS程式進行通訊的庫。
- delegator.py – Subprocesses用於Humans™2.0。 –推薦
- sarge – Subprocesses的另一個封裝。
- sh – 一個全面的Python子程式替代品。 –推薦
佇列(Queue)
用於處理事件和任務佇列的庫。
- celery – 基於分散式訊息傳遞的非同步任務佇列/作業佇列。 –推薦
- huey – 小多執行緒任務佇列。
- mrq – Queue先生 – 使用Redis&gevent的Python中的分散式工作者任務佇列。
- rq – 簡單的Python作業佇列。 –推薦
- simpleq – 一個簡單的,無限可擴充套件的基於Amazon SQS的佇列。
推薦系統(Recommender Systems)
用於構建推薦系統的庫。
- annoy – 針對記憶體使用進行了優化的C ++ / Python近似最近鄰居。 –推薦
- fastFM – 因式分解機器庫。
- implicit – 隱式資料集協作過濾的快速Python實現。
- libffm – Field-aware因式分解機(FFM)庫。
- LightFM – 一些流行推薦演算法的Python實現。
- surprise – 用於構建和分析推薦系統的scikit。
- TensorRec – TensorFlow中的推薦引擎框架
RESTful API
用於開發RESTful API的庫。
- Django
* django-rest-framework – 功能強大且靈活的工具包,用於構建Web API。 –強烈推薦
* django-tastypie – 為Django應用程式建立美味的API。 –推薦
- Flask
* eve – 由Flask,MongoDB提供支援的REST API框架和。 –推薦
* flask-api-utils – 負責Flask的API表示和身份驗證。
* flask-api – 適用於Flask的Browsable Web API。
* flask-restful – 快速構建適用於Flask的REST API。 –推薦
* flask-restless – 為使用SQLAlchemy定義的資料庫模型生成RESTful API。
*Pyramid
* cornice – Pyramid的RESTful框架。
*其他
* falcon – 一個用於構建雲API和Web應用後端的高效能框架。
* hug – 一個Python3框架,用於通過HTTP乾淨地公開API以及帶有自動文件和驗證的命令列。 –推薦
* restless – 基於從Tastypie學到的經驗教訓的框架不可知的REST框架。
* ripozo – 快速建立REST / HATEOAS / Hypermedia API。
* sandman – 現有資料庫驅動系統的自動化REST API。
* apistar – 為Python 3設計的智慧Web API框架。–推薦
RPC伺服器(RPC Servers)
- RPC相容伺服器。*
- SimpleJSONRPCServer – 該庫是JSON-RPC規範的實現。
- SimpleXMLRPCServer – (Python標準庫)簡單的XML-RPC伺服器實現,單執行緒。
- zeroRPC – zerorpc是基於ZeroMQ和MessagePack。 –推薦
科學(Science)
- astropy – 用於天文學的社群Python庫。
- bcbio-nextgen – 為全自動高通量測序分析提供最佳實踐管道。
- bccb – 收集與生物分析相關的有用程式碼。
- Biopython – Biopython是一套免費的生物計算工具。
- cclib – 用於解析和解釋計算化學軟體包結果的庫。
- Color – 一種顏色科學軟體包,用於實現各種顏色理論轉換和演算法。
- NetworkX – 適用於複雜網路的高效軟體。
- NIPY – 一套神經影像工具包。 –推薦
- NumPy – 用Python進行科學計算的基礎軟體包。 –強烈推薦
- Open Babel – 一種化學工具箱,專門用於講述多種化學資料的語言。
- ObsPy – 地震學的Python工具箱。
- PyDy – Python Dynamics的縮寫,用於協助動態運動建模中的工作流程。
- PyMC – 馬爾可夫鏈蒙特卡洛取樣工具包。
- RDKit – Cheminformatics和機器學習軟體。
- SciPy – 一個基於Python的數學,科學和工程開放原始碼軟體生態系統。 –強烈推薦
- statsmodels – Python中的統計建模和計量經濟學。 –推薦
- SymPy – 符號數學的Python庫。
- Zipline – Pythonic演算法交易庫。 –推薦
- SimPy – 基於流程的離散事件模擬框架。 –推薦
搜尋
用於索引和執行資料搜尋查詢的庫和軟體。
- django-haystack – Django模組化搜尋。
- elasticsearch-dsl-py – Elasticsearch的官方高階Python客戶端。
- elasticsearch-py – [Elasticsearch]的官方低階Python客戶端(https: //www.elastic.co/products/elasticsearch)。
- esengine – 用於Python的ElasticSearch ODM(物件文件對映器)。
- pysolr – Apache Solr的輕量級Python包裝(包括SolrCloud認知)。
- solrpy – [solr]的一個Python客戶端(http://lucene.apache.org/solr/)。
- Whoosh – 快速,純粹的Python搜尋引擎庫。 –推薦
序列化(Serialization)
用於序列化複雜資料型別的庫
- marshmallow – marshmallow是一個ORM / ODM /框架無關的庫,用於將複雜資料型別(如物件)轉換為本機Python資料型別和從本地Python資料型別轉換。
無伺服器框架(Serverless Frameworks
用於開發無伺服器Python程式碼的框架。
- apex – 輕鬆構建,部署和管理AWS Lambda功能。 –推薦
- python-lambda – 用於在AWS Lambda中開發和部署Python程式碼的工具包。
- Zappa – AWS Lambda和API閘道器上部署WSGI應用程式的工具。–推薦
特殊文字格式處理(Specific Formats Processing)
一些用來解析和操作特殊文字格式的庫。
通用
- tablib:處理 XLS, CSV, JSON, YAML表格資料的模組。連結
Office
-
Marmir:把輸入的Python 資料結構轉換為電子表單。連結
-
openpyxl:用來讀寫 Excel 2010 xlsx/xlsm/xltx/xltm 檔案的庫。連結 –強烈推薦
-
python-docx:讀取,查詢以及修改 Microsoft Word 2007/2008 docx 檔案。連結
-
unoconv:在 LibreOffice/OpenOffice 支援的任意檔案格式之間進行轉換。連結
-
XlsxWriter:一個用於建立 Excel .xlsx 檔案的 Python 模組。連結 — 推薦
-
xlwings: Excel 中方便呼叫 Python 的庫(反之亦然),基於 BSD 協議。連結
-
xlwt/xlrd:讀寫 MS Excel 97/2000/XP/2003 XLS Excel 檔案的資料和格式資訊。連結
- relatorio:輸出odt和pdf的模板。連結
- pyexcel:用於讀取,操作和寫入CSV,ODS,XLS,XLSX和XLSM檔案資料的單一API。連結
— 實際pandas為第一資料處理庫,支援所有excel格式, 不過會依賴上面的一些庫。
合併多個excel表,外掛mergebooks.dll和vba可以搞定。多表統計求和VBA可以搞定,參考資料, 當然pandas會比它們更強大。
PyXLL用於在excel中用python替代VBA.
Pywin32 也可通過COM口連線excel。
Markdown
-
Mistune:快速並且功能齊全的純 Python 實現的 Markdown 解析器。連結
-
Python-Markdown:John Gruber’s Markdown 的 Python 版實現。連結
- Python-Markdown2:純 Python 實現的 Markdown 解析器,比 Python-Markdown 更快,更準確,可擴充套件。連結
YAML
- PyYAML:Python 版本的 YAML 解析器。連結
CSV
靜態網站生成器(Static Site Generator)
- [Cactus(https://github.com/eudicots/Cactus) – 為設計師設計的靜態網站生成器。
- Hyde – 基於Jinja2的靜態網站生成器。
- Lektor – 易於使用的靜態CMS和部落格引擎。
- Nikola – 靜態網站和部落格生成器。
- Pelican – 將Markdown或ReST用於內容,Jinja 2用於主題。 支援DVCS,Disqus。AGPL。 –強烈推薦
- Tinkerer – 部落格引擎和靜態網站生成器,由Sphinx提供支援。
標籤(Tagging)
- django-taggit – 簡單Django的標籤。
模板引擎(Template Engine)
文字處理(Text Processing)
用於解析和操作文字的庫。
通用
- chardet:字元編碼檢測器,相容 Python2 和 Python3。連結
- difflib:(Python 標準庫)幫助我們進行差異化比較。連結
- ftfy:讓Unicode文字更完整更連貫。連結
- fuzzywuzzy:模糊字串匹配。連結 –推薦
- Levenshtein:快速計算編輯距離以及字串的相似度。連結
- pyfiglet:pyfiglet -figlet 的 Python實現。連結
- shortuuid:生成器庫,用以生成簡潔的,明白的,URL 安全的 UUID。連結
- unidecode:Unicode 文字的 ASCII 轉換形式 。連結
- uniout:列印可讀的字元,而不是轉義的字串。連結
- xpinyin:把漢字轉換為拼音的庫。連結
- pypinyin :把漢字轉換為拼音的庫。連結
- simplejson:Python的JSON編碼、解碼器。連結
- smassedit:Python的sed。連結
Slugify
- awesome-slugify:一個 Python slug 化庫,可以保持 Unicode。連結
- python-slugify:Python slug 化庫,可以把 unicode 轉化為 ASCII。連結
- unicode-slugify:slug 工具,可以生成 unicode slugs ,需要依賴 Django 。連結
解析器
- phonenumbers:解析,格式化,儲存,驗證國際電話號碼。連結
- PLY:lex 和 yacc 解析工具的 Python 實現。連結
- Pygments:通用語法高亮工具。連結 –強烈推薦
- pyparsing:生成通用解析器的框架。連結
- python-nameparser:把人名分解為幾個獨立的部分。連結
- python-user-agents:瀏覽器 user agent 解析器。連結
- sqlparse:無驗證的 SQL 解析器。官網連結
第三方 API(Third-party APIs)
用來訪問第三方 API的庫。 參見: List of Python API Wrappers and Libraries。 連結
- apache-libcloud:為各種雲設計的 Python 庫。連結
- boto3:Amazon Web Services 的 Python 介面。連結
- django-wordpress:WordPress models and views for Django.連結
- facebook-sdk:Facebook 平臺的 Python SDK.連結
- facepy:Facepy 讓和 Facebook`s Graph API 的互動變得更容易。連結
- gmail:Gmail 的 Python 介面。連結
- google-api-python-client:Python 用的 Google APIs 客戶端庫。連結
- gspread:Google 電子表格的 Python API.連結
- twython:Twitter API 的封裝。連結
URL處理(URL Manipulation)
解析URLs的庫
- furl:處理 URL 更簡單小型 Python 庫。連結
- purl:簡單的,不可變的URL類,具有簡潔的 API 來進行詢問和處理。連結
- pyshorteners:純 Python URL 縮短庫。連結
- shorturl:生成短小 URL 和類似 bit.ly 短鏈的Python 實現。連結
- webargs:解析 HTTP 請求引數的庫,內建對流行 web 框架的支援,包括 Flask, Django, Bottle, Tornado和 Pyramid。連結
Video
用來操作視訊和GIF的庫。
- moviepy:一個用來進行基於指令碼的視訊編輯模組,適用於多種格式,包括動圖 GIFs。連結
WSGI 伺服器(WSGI Servers)
相容 WSGI 的 web 伺服器
- gunicorn:Pre-forked, 部分是由 C 語言編寫的。連結 –推薦
- uwsgi:uwsgi 專案的目的是開發一組全棧工具,用來建立託管服務, 由 C 語言編寫。連結
- bjoern:非同步,非常快速,由 C 語言編寫。連結
- fapws3:非同步 (僅對於網路端),由 C 語言編寫。連結
- meinheld:非同步,部分是由 C 語言編寫的。連結
- netius:非同步,非常快速。連結
- paste:多執行緒,穩定,久經考驗。連結 –推薦
- waitress:多執行緒, 是它驅動著 Pyramid 框架。連結
- Werkzeug:一個 WSGI 工具庫,驅動著 Flask ,而且可以很方便大嵌入到你的專案中去。連結 –推薦
網頁內容提取(Web Content Extracting)
用於進行網頁內容提取的庫。
- Haul:可以擴充套件的影像爬取工具。連結
- html2text:將 HTML 轉換為 Markdown 格式文字連結
- lassie:人性化的網頁內容檢索庫。連結
- micawber:一個小型網頁內容提取庫,用來從 URLs 提取富內容。連結
- newspaper:使用 Python 進行新聞提取,文章提取以及內容策展。連結 –推薦
- opengraph:用來解析開放圖形協議的 Python模組。連結
- python-goose:HTML內容/文章提取器。連結
- python-readability:arc90的易讀性工具的移植。連結
- sumy:一個為文字檔案和 HTML 頁面進行自動摘要的模組。連結
- textract:從任何格式的文件中提取文字,Word,PowerPoint,PDFs 等等。連結
網路爬蟲(Web Crawling)
- Scrapy:快速高階的螢幕爬取及網頁採集框架。連結 –強烈推薦
- cola:高層分散式爬蟲框架。連結
- Demiurge:基於PyQuery 的爬蟲微型框架。連結
- feedparser:通用 feed 解析器。連結
- Grab:站點爬取框架。連結
- MechanicalSoup:用於自動和網路站點互動的 Python 庫。連結
- portia:Scrapy 視覺化爬取。連結 –推薦
- pyspider:一個強大的爬蟲系統。連結 –強烈推薦
- RoboBrowser:一個簡單的,Python 風格的庫,用來瀏覽網站,而不需要一個獨立安裝的瀏覽器。連結
- MechanicalSoup:用於自動和網路站點互動的 Python 庫。連結
Web 框架(Web Frameworks)
全棧 Web 框架。
- Django:Python 界最流行的 web 框架。連結 wesome-django系列 連結 –強烈推薦
- Flask:Python 微型框架。連結 awesome-flask系列 連結 –強烈推薦 python web框架第一名
-
pyramid:一個小巧,快速,接地氣的開源Python web 框架。連結
awesome-pyramid系列 [連結](https://github.com/uralbash/awesome-pyramid)
- Bottle:一個快速小巧,輕量級的 WSGI 微型 web 框架。連結 –推薦
- CherryPy:一個極簡的 Python web 框架,支援HTTP/1.1 協議且具有WSGI 執行緒池。連結
- sanic:python3 快速的web伺服器,類似flask。連結 –推薦
- web.py:既簡單,又強大的web 框架。連結
- TurboGears:易於擴充套件的全棧微框架。連結
- web2py:全棧 web 框架和平臺,用於安全資料庫訪問的web用。連結
- Tornado – web 框架和非同步網路庫. 連結
WebSocket
- AutobahnPython:WebSocket & WAMP 基於 Twisted 和 asyncio。連結
- Crossbar:開源統一應用路由(Websocket & WAMP for Python on Autobahn).連結
- django-channels:Django非同步。連結
- django-socketio:Django WebSocket。連結
- WebSocket-for-Python:為Python2/3 以及 PyPy 編寫的 WebSocket 客戶端和伺服器庫。連結
監控
python應用效能監控工具簡介 https://china-testing.github.io/python_monitor.html
- sentry Sentry is cross-platform application monitoring, with a focus on error reporting. https://sentry.io 推薦
- Graphite 儲存時間序列資料,並通過Django Web應用程式在圖形中顯示它們。
參考資料
https://github.com/vinta/awesome-python
https://github.com/atinfo/awesome-test-automation
https://westurner.github.io/wiki/awesome-python-testing
緊張整理更新中,討論 釘釘免費群21745728 qq群144081101 567351477
相關書籍下載 https://github.com/china-testing/python-api-tesing/blob/master/books.md
相關文章
- [雪峰磁針石部落格]介面測試面試題面試題
- [雪峰磁針石部落格]multi-mechanize效能測試工具
- [雪峰磁針石部落格]2019-Python最佳資料科學工具庫Python資料科學
- [雪峰磁針石部落格]滲透測試簡介1滲透測試簡介
- [雪峰磁針石部落格]2018最佳python編輯器和IDEPythonIDE
- [雪峰磁針石部落格]使用jython進行dubbo介面及ngrinder效能測試
- [雪峰磁針石部落格]軟體自動化測試初學者忠告
- [雪峰磁針石部落格]使用python3和flask構建RESTfulAPI(介面測試服務)PythonFlaskRESTAPI
- [雪峰磁針石部落格]tesseractOCR識別工具及pytesseract
- [雪峰磁針石部落格]軟體測試專家工具包1web測試Web
- [雪峰磁針石部落格]python應用效能監控工具簡介Python
- [雪峰磁針石部落格]python爬蟲cookbook1爬蟲入門Python爬蟲
- [雪峰磁針石部落格]python庫介紹-argparse:命令列選項及引數解析Python命令列
- [雪峰磁針石部落格]flask構建自動化測試平臺1-helloFlask
- [雪峰磁針石部落格]flask構建自動化測試平臺3-模板Flask
- [雪峰磁針石部落格]2018最佳ssh免費登陸工具
- [雪峰磁針石部落格]pythontkinter圖形工具樣式作業Python
- [雪峰磁針石部落格]python網路作業:使用python的socket庫實現ICMP協議的pingPython協議
- [雪峰磁針石部落格]python包管理工具:Conda和pip比較Python
- [雪峰磁針石部落格]selenium自動化測試工具python筆試面試專案實戰5鍵盤操作Python筆試面試
- [雪峰磁針石部落格]pythonGUI工具書籍下載-持續更新PythonNGUI
- [雪峰磁針石部落格]python計算機視覺深度學習1簡介Python計算機視覺深度學習
- [雪峰磁針石部落格]python標準模組介紹-string:文字常量和模板Python
- [雪峰磁針石部落格]web開發工具flask中文英文書籍下載-持續更新WebFlask
- [雪峰磁針石部落格]flask構建自動化測試平臺7-新增google地圖FlaskGo地圖
- [雪峰磁針石部落格]python計算機視覺深度學習2影像基礎Python計算機視覺深度學習
- [雪峰磁針石部落格]大資料Hadoop工具python教程9-Luigi工作流大資料HadoopPythonUI
- [雪峰磁針石部落格]資料倉儲快速入門教程1簡介
- [雪峰磁針石部落格]Bokeh資料視覺化工具1快速入門視覺化
- [雪峰磁針石部落格]pythonGUI作業:tkinter控制元件改變背景色PythonNGUI控制元件
- [雪峰磁針石部落格]資料分析工具pandas快速入門教程4-資料匯聚
- [雪峰磁針石部落格]python3.7極速入門教程1安裝:Linux(Ubuntu18.04)及Windows上安裝AnacondaPythonLinuxUbuntuWindows
- [雪峰磁針石部落格]Python經典面試題:用3種方法實現堆疊和佇列並示例實際應用場景Python面試題佇列
- [雪峰磁針石部落格]計算機視覺opcencv工具深度學習快速實戰1人臉識別計算機視覺深度學習
- [雪峰磁針石部落格]計算機視覺opcencv工具深度學習快速實戰2opencv快速入門計算機視覺深度學習OpenCV
- [雪峰磁針石部落格]python人工智慧作業:Windows使用SAPI和tkinter用不到40行實現文字轉語音工具Python人工智慧WindowsAPI
- [雪峰磁針石部落格]pythonopencv3例項(物件識別和擴增實境)1-影像幾何轉換PythonOpenCV物件
- 部落格測試