可愛的python測試開發庫(python測試開發工具庫彙總)

歡迎轉載,轉載請註明來源:

github地址 謝謝點贊 本文地址

Python測試開發庫

參考資料

https://github.com/vinta/awesome-python

https://github.com/atinfo/awesome-test-automation

https://westurner.github.io/wiki/awesome-python-testing

交流QQ羣:python 測試開發自動化測試 144081101 Python數據分析pandas Excel 630011153 中醫草藥自學自救大數據 391441566 南方中醫草藥鑑別學習 184175668 中醫草藥溼熱溼疹胃病 291184506 python高級人工智能視覺 6089740

wechat: pythontesting

測試開發

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

其他測試工具

  • coverage:代碼覆蓋率。鏈接

  • FuckIt.py:代碼出錯也可以執行。鏈接

  • RoboBrowser:一個簡單的,Python 風格的庫,用來瀏覽網站,而不需要一個獨立安裝的瀏覽器。鏈接

  • MechanicalSoup:用於自動和網絡站點交互的 Python 庫。鏈接

  • augmented-traffic-control:網絡模擬工具。鏈接 -- 強烈推薦

持續交付

  • 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)

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

計算機視覺(Computer Vision)

計算機視覺庫。

  • OpenCV:開源計算機視覺庫。鏈接

2018最佳人工智能圖像處理工具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 客戶端。鏈接

日期和時間(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.*

2018最佳機器學習工具書及下載(持續更新)

  • 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 - 出色的數據包操作庫。
  • 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)

國際化

與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

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的數據庫。鏈接

包管理(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](http:// msgpack.org/)。 --推薦

科學(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 - 基於流程的離散事件仿真框架。 --推薦

搜索

用於索引和執行數據搜索查詢的庫和軟件。

序列化(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。

PDF

  • PDFMiner:從PDF文檔中抽取信息的工具。鏈接

  • PyPDF2:可以分割,合併和轉換 PDF 頁面的庫。鏈接

  • ReportLab:快速創建富文本 PDF 文檔。鏈接

Markdown

  • Mistune:快速並且功能齊全的純 Python 實現的 Markdown 解析器。鏈接

  • Python-Markdown:John Gruber’s Markdown 的 Python 版實現。鏈接

  • Python-Markdown2:純 Python 實現的 Markdown 解析器,比 Python-Markdown 更快,更準確,可擴展。鏈接

YAML

  • PyYAML:Python 版本的 YAML 解析器。鏈接

CSV

  • csv: 標準庫,csv文件讀寫。鏈接

  • csvkit:用於轉換和操作 CSV 的工具。鏈接 -- 推薦

Archive

  • unp:方便解包歸檔文件的命令行工具。鏈接

靜態網站生成器(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)

模板引擎(Template Engine)

  • Genshi - 用於生成網絡感知輸出的Python模板工具包。
  • Jinja2 - 現代和設計友好的模板語言。 -- 推薦
  • Mako - Python平臺的超快速和輕量級模板。

文本處理(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)

2018最佳人工智能數據採集(爬蟲)工具書下載

  • 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系列 鏈接

  • 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應用程序在圖形中顯示它們。

參考資料

  • 討論qq羣144081101 591302926 567351477 釘釘免費羣21745728

https://github.com/vinta/awesome-python

https://github.com/atinfo/awesome-test-automation

https://westurner.github.io/wiki/awesome-python-testing

本文相關書籍下載 https://github.com/china-testing/python-api-tesing/blob/master/books.md

本文github地址 https://github.com/china-testing/python-api-tesing

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章