Python第三方庫(kù)資源大全,1000+工具包

awesome-python 是 vinta 發(fā)起維護(hù)的 Python 資源列表,內(nèi)容包括:Web 框架、網(wǎng)絡(luò)爬蟲(chóng)、網(wǎng)絡(luò)內(nèi)容提取、模板引擎、數(shù)據(jù)庫(kù)、數(shù)據(jù)可視化、圖片處理、文本處理、自然語(yǔ)言處理、機(jī)器學(xué)習(xí)、日志、代碼分析等。
中文版Github地址:
https://github.com/jobbole/awesome-python-cn
英文版Github地址:
https://github.com/vinta/awesome-python

已經(jīng)下載整理好PDF,大家在公眾號(hào)后臺(tái)回復(fù)【5】,即可獲得完整版本。
資源列表
環(huán)境管理
管理 Python 版本和環(huán)境的工具
p:非常簡(jiǎn)單的交互式 python 版本管理工具。 pyenv:簡(jiǎn)單的 Python 版本管理工具。 Vex:可以在虛擬環(huán)境中執(zhí)行命令。 virtualenv:創(chuàng)建獨(dú)立 Python 環(huán)境的工具。 virtualenvwrapper:virtualenv 的一組擴(kuò)展。 buildout:在隔離環(huán)境初始化后使用聲明性配置管理。
包管理
管理包和依賴的工具。
pip:Python 包和依賴關(guān)系管理工具。 pip-tools:保證 Python 包依賴關(guān)系更新的一組工具。 PyPI:Python 正式的第三方包軟件存儲(chǔ)庫(kù)。 pipenv:Python 官方推薦的新一代包管理工具。 poetry:可完全取代 setup.py 的包管理工具。 conda:跨平臺(tái)的 Python 二進(jìn)制包管理工具。 Curdling:管理 Python 包的命令行工具。 wheel:Python 分發(fā)的新標(biāo)準(zhǔn),意在取代 eggs。
包倉(cāng)庫(kù)
本地 PyPI 倉(cāng)庫(kù)服務(wù)和代理。
warehouse:下一代 PyPI。 bandersnatch:PyPA 提供的 PyPI 鏡像工具。 devpi:PyPI 服務(wù)和打包/測(cè)試/分發(fā)工具。 localshop:本地 PyPI 服務(wù)(自定義包并且自動(dòng)對(duì) PyPI 鏡像)。
分發(fā)
打包為可執(zhí)行文件以便分發(fā)。
PyInstaller:將 Python 程序轉(zhuǎn)換成獨(dú)立的執(zhí)行文件(跨平臺(tái))。 cx_Freeze:將python程序轉(zhuǎn)換為帶有一個(gè)動(dòng)態(tài)鏈接庫(kù)的可執(zhí)行文件。 dh-virtualenv:構(gòu)建并將 virtualenv 虛擬環(huán)境作為一個(gè) Debian 包來(lái)發(fā)布。 Nuitka:將腳本、模塊、包編譯成可執(zhí)行文件或擴(kuò)展模塊。 py2app:將 Python 腳本變?yōu)楠?dú)立軟件包(Mac OS X)。 py2exe:將 Python 腳本變?yōu)楠?dú)立軟件包(Windows)。 pynsist:一個(gè)用來(lái)創(chuàng)建 Windows 安裝程序的工具,可以在安裝程序中打包 Python 本身。 pyarmor:一個(gè)用于加密 python 腳本的工具,也可以將加密后的腳本綁定到固件上,或設(shè)置已加密腳本的有效期。 shiv:一個(gè)命令行工具,可用于構(gòu)建完全獨(dú)立的 zip 應(yīng)用(PEP 441 所描述的那種),同時(shí)包含了所有的依賴項(xiàng)。
構(gòu)建工具
將源碼編譯成軟件。
buildout:一個(gè)構(gòu)建系統(tǒng),從多個(gè)組件來(lái)創(chuàng)建,組裝和部署應(yīng)用。 BitBake:針對(duì)嵌入式 Linux 的類似 make 的構(gòu)建工具。 fabricate:對(duì)任何語(yǔ)言自動(dòng)找到依賴關(guān)系的構(gòu)建工具。 PlatformIO:多平臺(tái)命令行構(gòu)建工具。 PyBuilder:純 Python 實(shí)現(xiàn)的持續(xù)化構(gòu)建工具。 SCons:軟件構(gòu)建工具。
交互式解析器
交互式 Python 解析器。
IPython:功能豐富的工具,非常有效的使用交互式 Python。 bpython:界面豐富的 Python 解析器。 ptpython:高級(jí)交互式 Python 解析器, 構(gòu)建于 python-prompt-toolkit 之上。 Jupyter Notebook (IPython):一個(gè)能夠讓你最大限度地以交互式方式使用 Python 的豐富工具包。 awesome-jupyter
文件
文件管理和 MIME(多用途的網(wǎng)際郵件擴(kuò)充協(xié)議)類型檢測(cè)。
aiofiles:基于 asyncio,提供文件異步操作。 imghdr:(Python 標(biāo)準(zhǔn)庫(kù))檢測(cè)圖片類型。 mimetypes:(Python 標(biāo)準(zhǔn)庫(kù))將文件名映射為 MIME 類型。 path.py:對(duì) os.path 進(jìn)行封裝的模塊。 pathlib:(Python3.4+ 標(biāo)準(zhǔn)庫(kù))跨平臺(tái)的、面向?qū)ο蟮穆窂讲僮鲙?kù)。 python-magic:文件類型檢測(cè)的第三方庫(kù) libmagic 的 Python 接口。 Unipath:用面向?qū)ο蟮姆绞讲僮魑募湍夸洝?/section> watchdog:管理文件系統(tǒng)事件的 API 和 shell 工具。 PyFilesystem2:Python 的文件系統(tǒng)抽象層。
日期和時(shí)間
操作日期和時(shí)間的類庫(kù)。
arrow:更好的 Python 日期時(shí)間操作類庫(kù)。 Chronyk:Python 3 的類庫(kù),用于解析手寫(xiě)格式的時(shí)間和日期。 dateutil:Python datetime 模塊的擴(kuò)展。 delorean:解決 Python 中有關(guān)日期處理的棘手問(wèn)題的庫(kù)。 maya:人性化的時(shí)間處理庫(kù)。 moment:一個(gè)用來(lái)處理時(shí)間和日期的 Python 庫(kù)。靈感來(lái)自于 Moment.js。 pendulum:一個(gè)比 arrow 更具有明確的,可預(yù)測(cè)的行為的時(shí)間操作庫(kù)。 PyTime:一個(gè)簡(jiǎn)單易用的 Python 模塊,用于通過(guò)字符串來(lái)操作日期/時(shí)間。 pytz:現(xiàn)代以及歷史版本的世界時(shí)區(qū)定義。將時(shí)區(qū)數(shù)據(jù)庫(kù)引入 Python。 when.py:提供用戶友好的函數(shù)來(lái)幫助用戶進(jìn)行常用的日期和時(shí)間操作。 dateutil:Python 標(biāo)準(zhǔn)包 datetime 的擴(kuò)展。 moment:一個(gè)處理日期/時(shí)間的庫(kù),靈感來(lái)自 Moment.js。 pytz:支持跨平臺(tái)時(shí)區(qū)計(jì)算,并將 tz database 引入 Python。
文本處理
用于解析和操作文本的庫(kù)。
通用 chardet:字符編碼檢測(cè)器,兼容 Python2 和 Python3。 difflib:(Python 標(biāo)準(zhǔn)庫(kù))幫助我們進(jìn)行差異化比較。 ftfy:讓 Unicode 文本更完整更連貫。 fuzzywuzzy:模糊字符串匹配。 Levenshtein:快速計(jì)算編輯距離以及字符串的相似度。 pangu.py:在中日韓語(yǔ)字符和數(shù)字字母之間添加空格。 pypinyin:漢字拼音轉(zhuǎn)換工具 Python 版。 shortuuid:一個(gè)生成器庫(kù),用以生成簡(jiǎn)潔的,明白的,URL 安全的 UUID。 simplejson:Python 的 JSON 編碼、解碼器。 unidecode:Unicode 文本的 ASCII 轉(zhuǎn)換形式 。 uniout:打印可讀的字符,而不是轉(zhuǎn)義的字符串。 xpinyin:一個(gè)用于把漢字轉(zhuǎn)換為拼音的庫(kù)。 pyfiglet:figlet 的 Python 實(shí)現(xiàn)。 flashtext:一個(gè)高效的文本查找替換庫(kù)。 textdistance:支持 30 多種算法來(lái)計(jì)算序列之間的距離。 Slug 化 awesome-slugify:一個(gè) Python slug 化庫(kù),可以保持 Unicode。 python-slugify:Python slug 化庫(kù),可以把 unicode 轉(zhuǎn)化為 ASCII。 unicode-slugify:一個(gè) slug 工具,可以生成 unicode slugs ,需要依賴 Django 。 解析器 phonenumbers:解析,格式化,儲(chǔ)存,驗(yàn)證電話號(hào)碼。 python-phonenumbers:解析,格式化,存儲(chǔ),校驗(yàn)國(guó)際電話號(hào)碼。 PLY:lex 和 yacc 解析工具的 Python 實(shí)現(xiàn)。 Pygments:通用語(yǔ)法高亮工具。 pyparsing:生成通用解析器的框架。 python-nameparser:把一個(gè)人名分解為幾個(gè)獨(dú)立的部分。 python-user-agents:瀏覽器 user agent 解析器。 sqlparse:一個(gè)無(wú)驗(yàn)證的 SQL 解析器。
特殊文本格式處理
一些用來(lái)解析和操作特殊文本格式的庫(kù)。
通用 tablib:一個(gè)用來(lái)處理中表格數(shù)據(jù)的模塊。 Office Marmir:把輸入的 Python 數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為電子表單。 openpyxl:一個(gè)用來(lái)讀寫(xiě) Excel 2010 xlsx/xlsm/xltx/xltm 文件的庫(kù)。 pyexcel:一個(gè)提供統(tǒng)一 API,用來(lái)讀寫(xiě),操作 Excel 文件的庫(kù)。 python-docx:讀取,查詢以及修改 Microsoft Word 2007/2008 docx 文件。 python-pptx:可用于創(chuàng)建和修改 ppt 文件的 Python 庫(kù)。 relatorio:模板化 OpenDocument 文件。 unoconv:在 LibreOffice/OpenOffice 支持的任意文件格式之間進(jìn)行轉(zhuǎn)換。 XlsxWriter:一個(gè)用于創(chuàng)建 Excel .xlsx 文件的 Python 模塊。 xlwings:一個(gè)使得在 Excel 中方便調(diào)用 Python 的庫(kù)(反之亦然),基于 BSD 協(xié)議。 xlwt / xlrd:讀寫(xiě) Excel 文件的數(shù)據(jù)和格式信息。 docxtpl:通過(guò) jinja2 模版編輯 docx 文檔。 PDF PDFMiner:一個(gè)用于從 PDF 文檔中抽取信息的工具。 PyPDF2:一個(gè)可以分割,合并和轉(zhuǎn)換 PDF 頁(yè)面的庫(kù)。 ReportLab:快速創(chuàng)建富文本 PDF 文檔。 Markdown Mistune:快速并且功能齊全的純 Python 實(shí)現(xiàn)的 Markdown 解析器。 Python-Markdown:John Gruber’s Markdown 的 Python 版實(shí)現(xiàn)。 Python-Markdown2:純 Python 實(shí)現(xiàn)的 Markdown 解析器,比 Python-Markdown 更快,更準(zhǔn)確,可擴(kuò)展。 YAML PyYAML:Python 版本的 YAML 解析器。 CSV csvkit:用于轉(zhuǎn)換和操作 CSV 的工具。 Archive unp:一個(gè)用來(lái)方便解包歸檔文件的命令行工具。
自然語(yǔ)言處理
用來(lái)處理人類語(yǔ)言的庫(kù)。
NLTK:一個(gè)先進(jìn)的平臺(tái),用以構(gòu)建處理人類語(yǔ)言數(shù)據(jù)的 Python 程序。 gensim:人性化的話題建模庫(kù)。 jieba:中文分詞工具。 langid.py:獨(dú)立的語(yǔ)言識(shí)別系統(tǒng)。 Pattern:Python 網(wǎng)絡(luò)信息挖掘模塊。 SnowNLP:一個(gè)用來(lái)處理中文文本的庫(kù)。 TextBlob:為進(jìn)行普通自然語(yǔ)言處理任務(wù)提供一致的 API。 TextGrocery:一簡(jiǎn)單高效的短文本分類工具,基于 LibLinear 和 Jieba。 thulac:清華大學(xué)自然語(yǔ)言處理與社會(huì)人文計(jì)算實(shí)驗(yàn)室研制推出的一套中文詞法分析工具包。 polyglot:支持?jǐn)?shù)百種語(yǔ)言的自然語(yǔ)言處理管道。 pytext:基于 PyTouch 的自然語(yǔ)言模型框架。 PyTorch-NLP:一個(gè)支持快速深度學(xué)習(xí) NLP 原型研究的工具包。 spacy:Python 和 Cython 中用于工業(yè)級(jí)自然語(yǔ)言處理的庫(kù)。 Stanza:斯坦福 NLP 集團(tuán)的官方 Python 庫(kù),支持60多種語(yǔ)言。 funNLP:中文自然語(yǔ)言處理的工具和數(shù)據(jù)集。 pkuseg-python:一個(gè)支持對(duì)不同領(lǐng)域進(jìn)行中文分詞的工具箱。
文檔
用以生成項(xiàng)目文檔的庫(kù)。
Sphinx:Python 文檔生成器。 awesome-sphinxdoc MkDocs:對(duì) Markdown 友好的文檔生成器。 pdoc:一個(gè)可以替換 Epydoc 的庫(kù),可以自動(dòng)生成 Python 庫(kù)的 API 文檔。 Pycco:文學(xué)編程(literate-programming)風(fēng)格的文檔生成器。 readthedocs:一個(gè)基于 Sphinx/MkDocs 的在線文檔托管系統(tǒng),對(duì)開(kāi)源項(xiàng)目免費(fèi)開(kāi)放使用。
配置
用來(lái)保存和解析配置的庫(kù)。
config:logging 模塊作者寫(xiě)的分級(jí)配置模塊。 ConfigObj:INI 文件解析器,帶驗(yàn)證功能。 ConfigParser:(Python 標(biāo)準(zhǔn)庫(kù)) INI 文件解析器。 profig:通過(guò)多種格式進(jìn)行配置,具有數(shù)值轉(zhuǎn)換功能。 python-decouple:將設(shè)置和代碼完全隔離。 hydra:一個(gè)優(yōu)雅地配置復(fù)雜應(yīng)用程序的框架。
命令行工具
用于創(chuàng)建命令行程序的庫(kù)。
命令行程序開(kāi)發(fā) cement:Python 的命令行程序框架。 click:一個(gè)通過(guò)組合的方式來(lái)創(chuàng)建精美命令行界面的包。 cliff:一個(gè)用于創(chuàng)建命令行程序的框架,可以創(chuàng)建具有多層命令的命令行程序。 clint:Python 命令行程序工具。 docopt:Python 風(fēng)格的命令行參數(shù)解析器。 Gooey:一條命令,將命令行程序變成一個(gè) GUI 程序。 python-prompt-toolkit:一個(gè)用于構(gòu)建強(qiáng)大的交互式命令行程序的庫(kù)。 python-fire:Google 出品的一個(gè)基于 Python 類的構(gòu)建命令行界面的庫(kù)。 Pythonpy:在命令行中直接執(zhí)行任何 Python 指令。 終端呈現(xiàn)方式 asciimatics:跨平臺(tái),全屏終端包(即鼠標(biāo)/鍵盤(pán)輸入和彩色,定位文本輸出),完整的復(fù)雜動(dòng)畫(huà)和特殊效果的高級(jí) API。 alive-progress:一款新的進(jìn)度條,具有實(shí)時(shí)吞吐量信息以及非常酷的動(dòng)畫(huà)。 colorama:跨平臺(tái)彩色終端文本。 bashplotlib:在終端中進(jìn)行基本繪圖。 rich:一個(gè)在終端中支持富文本和格式美化的 Python 庫(kù), 同時(shí)提供了 RichHandler日志處理程序。tqdm:一個(gè)可在循環(huán)和命令行中使用的快速、可擴(kuò)展的進(jìn)度條。 生產(chǎn)力工具 aws-cli:Amazon Web Services 的通用命令行界面。 caniusepython3:判斷是哪個(gè)項(xiàng)目妨礙你你移植到 Python3。 cookiecutter:從 cookiecutters(項(xiàng)目模板)創(chuàng)建項(xiàng)目的一個(gè)命令行工具。 doitlive:一個(gè)用來(lái)在終端中進(jìn)行現(xiàn)場(chǎng)演示的工具。 pyftpdlib:一個(gè)速度極快和可擴(kuò)展的 Python FTP 服務(wù)庫(kù)。 howdoi:通過(guò)命令行獲取即時(shí)的編程問(wèn)題解答。 PathPicker:從 bash 輸出中選出文件。 percol:向 UNIX shell 傳統(tǒng)管道概念中加入交互式選擇功能。 thefuck:修正你之前的命令行指令。 try:一個(gè)極其簡(jiǎn)單的命令行工具,用來(lái)試用 python 庫(kù)。 copier:用于呈現(xiàn)項(xiàng)目模板的庫(kù)和命令行實(shí)用程序。 Invoke:用于管理面向 shell 的子進(jìn)程,同時(shí)支持將可執(zhí)行的 Python 代碼組織成命令行可調(diào)用的狀態(tài)。 tmuxp:tmux 會(huì)話管理器。 高級(jí) CLI httpie:一個(gè)命令行 HTTP 客戶端,cURL 的替代品,易用性更好。 iredis:支持自動(dòng)補(bǔ)全和高亮顯示的 redis 命令行工具。 kube-shell:K8S 命令行集成的 shell 工具。 litecli:支持自動(dòng)補(bǔ)全和語(yǔ)法高亮的 SQLite 命令行工具。 mycli:支持自動(dòng)補(bǔ)全和語(yǔ)法高亮的 MySQL 命令行客戶端 pgcli:支持自動(dòng)補(bǔ)全和語(yǔ)法高亮的 Postgres 命令行工具。 SAWS:一個(gè)加強(qiáng)版的 AWS 命令行。 Shell xonsh:一種基于 python 的跨平臺(tái),面向 unix 的 shell 語(yǔ)言和命令提示符。
下載器
用來(lái)進(jìn)行下載的庫(kù).
s3cmd:一個(gè)用來(lái)管理 Amazon S3 和 CloudFront 的命令行工具。 s4cmd:超級(jí) S3 命令行工具,性能更加強(qiáng)勁。 you-get:一個(gè) YouTube/Youku/Niconico 視頻下載器,使用 Python3 編寫(xiě)。 youtube-dl:一個(gè)小巧的命令行程序,用來(lái)下載 YouTube 視頻。 akshare:為方便人使用而創(chuàng)建的金融數(shù)據(jù)接口庫(kù)。
圖像處理
用來(lái)操作圖像的庫(kù).
pillow:Pillow 是一個(gè)更加易用版的 PIL。 hmap:圖像直方圖映射。 imgSeek:一個(gè)使用視覺(jué)相似性搜索一組圖片集合的項(xiàng)目。 nude.py:裸體檢測(cè)。 python-barcode:不借助其他庫(kù)在 Python 程序中生成條形碼。 pygram:類似 Instagram 的圖像濾鏡。 python-qrcode:一個(gè)純 Python 實(shí)現(xiàn)的二維碼生成器。 Quads:基于四叉樹(shù)的計(jì)算機(jī)藝術(shù)。 scikit-image:一個(gè)用于(科學(xué))圖像處理的 Python 庫(kù)。 thumbor:一個(gè)小型圖像服務(wù),具有剪裁,尺寸重設(shè)和翻轉(zhuǎn)功能。 wand:MagickWand 的 Python 綁定。MagickWand 是 ImageMagick 的 C API 。 face_recognition:簡(jiǎn)單易用的 python 人臉識(shí)別庫(kù)。 pagan:基于輸入和哈希的復(fù)古風(fēng)圖標(biāo)(頭像)生成工具。 PyMatting:支持 alpha matting 的庫(kù)。 pywal:由圖像生成配色方案的工具。 pyvips:低內(nèi)存消耗且快速的圖像處理庫(kù)。
OCR
光學(xué)字符識(shí)別庫(kù)。
pyocr:Tesseract 和 Cuneiform 的一個(gè)封裝。 pytesseract:Google Tesseract OCR 的一個(gè)封裝。
音頻
用來(lái)操作音頻的庫(kù)
audiolazy:Python 的數(shù)字信號(hào)處理包。 audioread:交叉庫(kù) (GStreamer + Core Audio + MAD + FFmpeg) 音頻解碼。 beets:一個(gè)音樂(lè)庫(kù)管理工具及 MusicBrainz 標(biāo)簽添加工具。 dejavu:音頻指紋提取和識(shí)別。 django-elastic-transcoder:Django + Amazon Elastic Transcoder。 eyeD3:一個(gè)用來(lái)操作音頻文件的工具,具體來(lái)講就是包含 ID3 元信息的 MP3 文件。 id3reader:一個(gè)用來(lái)讀取 MP3 元數(shù)據(jù)的 Python 模塊。 m3u8:一個(gè)用來(lái)解析 m3u8 文件的模塊。 mutagen:一個(gè)用來(lái)處理音頻元數(shù)據(jù)的 Python 模塊。 pydub:通過(guò)簡(jiǎn)單、簡(jiǎn)潔的高層接口來(lái)操作音頻文件。 pyechonest:Echo Nest API 的 Python 客戶端。 talkbox:一個(gè)用來(lái)處理演講/信號(hào)的 Python 庫(kù)。 TimeSide:開(kāi)源 web 音頻處理框架。 tinytag:一個(gè)用來(lái)讀取 MP3, OGG, FLAC 以及 Wave 文件音樂(lè)元數(shù)據(jù)的庫(kù)。 mingus:一個(gè)高級(jí)音樂(lè)理論和曲譜包,支持 MIDI 文件和回放功能。 kapre:Keras 音頻處理器。 librosa:音頻音樂(lè)分析 Python 庫(kù)。 matchering:用于音頻母帶制作的庫(kù)。 pyAudioAnalysis:音頻特征提取,分類,分段和應(yīng)用。 beets:一個(gè)音樂(lè)庫(kù)管理器和 MusicBrainz 標(biāo)記器。
Video
用來(lái)操作視頻和 GIF 的庫(kù)。
moviepy:一個(gè)用來(lái)進(jìn)行基于腳本的視頻編輯模塊,適用于多種格式,包括動(dòng)圖 GIFs。 scikit-video:SciPy 視頻處理常用程序。 vidgear:強(qiáng)大的多線程視頻處理框架。
地理位置
地理編碼地址以及用來(lái)處理經(jīng)緯度的庫(kù)。
GeoDjango:世界級(jí)地理圖形 web 框架。 GeoIP:MaxMind GeoIP Legacy 數(shù)據(jù)庫(kù)的 Python API。 geojson:GeoJSON 的 Python 綁定及工具。 geopy:Python 地址編碼工具箱。 GeoIP2:GeoIP2 Webservice 客戶端與數(shù)據(jù)庫(kù) Python API。 django-countries:一個(gè) Django 應(yīng)用程序,提供用于表格的國(guó)家選擇功能,國(guó)旗圖標(biāo)靜態(tài)文件以及模型中的國(guó)家字段。 pygeoip:Python GeoIP 接口。
HTTP
使用 HTTP 的庫(kù)。
aiohttp:基于 asyncio 的異步 HTTP 網(wǎng)絡(luò)庫(kù)。 requests:人性化的 HTTP 請(qǐng)求庫(kù)。 grequests:requests 庫(kù) + gevent ,用于異步 HTTP 請(qǐng)求。 httplib2:全面的 HTTP 客戶端庫(kù)。 treq:類似 requests 的 Python API 構(gòu)建于 Twisted HTTP 客戶端之上。 urllib3:一個(gè)具有線程安全連接池,支持文件 post,清晰友好的 HTTP 庫(kù)。 httpx:下一代 Python HTTP 客戶端。
數(shù)據(jù)庫(kù)
Python 實(shí)現(xiàn)的數(shù)據(jù)庫(kù)。
pickleDB:一個(gè)簡(jiǎn)單,輕量級(jí)鍵值儲(chǔ)存數(shù)據(jù)庫(kù)。 PipelineDB:流式 SQL 數(shù)據(jù)庫(kù)。 TinyDB:一個(gè)微型的,面向文檔型數(shù)據(jù)庫(kù)。 ZODB:一個(gè) Python 原生對(duì)象數(shù)據(jù)庫(kù)。一個(gè)鍵值和對(duì)象圖數(shù)據(jù)庫(kù)。
數(shù)據(jù)庫(kù)驅(qū)動(dòng)
用來(lái)連接和操作數(shù)據(jù)庫(kù)的庫(kù)。
MySQL:awesome-mysql 系列 aiomysql:基于 asyncio 的異步 MySQL 數(shù)據(jù)庫(kù)操作庫(kù)。 mysql-python:Python 的 MySQL 數(shù)據(jù)庫(kù)連接器。 ysqlclient:mysql-python 分支,支持 Python 3。 oursql:一個(gè)更好的 MySQL 連接器,支持原生預(yù)編譯指令和 BLOBs。 PyMySQL:純 Python MySQL 驅(qū)動(dòng),兼容 mysql-python。 PostgreSQL psycopg2:Python 中最流行的 PostgreSQL 適配器。 queries:psycopg2 庫(kù)的封裝,用來(lái)和 PostgreSQL 進(jìn)行交互。 txpostgres:基于 Twisted 的異步 PostgreSQL 驅(qū)動(dòng)。 其他關(guān)系型數(shù)據(jù)庫(kù) apsw:另一個(gè) Python SQLite 封裝。 dataset:在數(shù)據(jù)庫(kù)中存儲(chǔ) Python 字典 pymssql:一個(gè)簡(jiǎn)單的 Microsoft SQL Server 數(shù)據(jù)庫(kù)接口。 NoSQL 數(shù)據(jù)庫(kù) asyncio-redis:基于 asyncio 的 redis 客戶端 (PEP 3156)。 cassandra-python-driver:Cassandra 的 Python 驅(qū)動(dòng)。 HappyBase:一個(gè)為 Apache HBase 設(shè)計(jì)的,對(duì)開(kāi)發(fā)者友好的庫(kù)。 Plyvel:一個(gè)快速且功能豐富的 LevelDB 的 Python 接口。 py2neo:Neo4j restful 接口的 Python 封裝客戶端。 pycassa:Cassandra 的 Python Thrift 驅(qū)動(dòng)。 PyMongo:MongoDB 的官方 Python 客戶端。 redis-py:Redis 的 Python 客戶端。 telephus:基于 Twisted 的 Cassandra 客戶端。 txRedis:基于 Twisted 的 Redis 客戶端。 kafka-python:Apache Kafka Python 客戶端。 異步客戶端 motor:支持 MongoDB 的異步 Python 驅(qū)動(dòng)程序。
ORM
實(shí)現(xiàn)對(duì)象關(guān)系映射或數(shù)據(jù)映射技術(shù)的庫(kù)。
關(guān)系型數(shù)據(jù)庫(kù) awesome-sqlalchemy Django Models:Django 的一部分。 SQLAlchemy:Python SQL 工具以及對(duì)象關(guān)系映射工具。 awesome-sqlalchemy 系列 Peewee:一個(gè)小巧,富有表達(dá)力的 ORM。 PonyORM:提供面向生成器的 SQL 接口的 ORM。 python-sql:編寫(xiě) Python 風(fēng)格的 SQL 查詢。 dataset:在數(shù)據(jù)庫(kù)中存儲(chǔ)字典,支持 SQLite,MySQL 和 PostgreSQL。 orator:Orator ORM,提供了一個(gè)簡(jiǎn)單而美觀的 ActiveRecord 實(shí)現(xiàn)。 orm:一個(gè)異步的 ORM。 peewee:一個(gè)小但是很有表現(xiàn)力的 ORM。 pony:提供面向生成器的SQL接口的ORM。 pydal:純 Python 數(shù)據(jù)庫(kù)抽象接口層。 NoSQL 數(shù)據(jù)庫(kù) django-mongodb-engine:Django MongoDB 后端。 PynamoDB:Amazon DynamoDB 的一個(gè) Python 風(fēng)格接口。 flywheel:Amazon DynamoDB 的對(duì)象映射工具。 MongoEngine:一個(gè) Python 對(duì)象文檔映射工具,用于 MongoDB。 hot-redis:為 Redis 提供 Python 豐富的數(shù)據(jù)類型。 redisco:一個(gè) Python 庫(kù),提供可以持續(xù)存在在 Redis 中的簡(jiǎn)單模型和容器。 其他 butterdb:Google Drive 電子表格的 Python ORM。
Web 框架
全棧 Web 框架。
Django:Python 界最流行的 web 框架。 awesome-django(by shahraizali) 系列 awesome-django(by wsvincent) 系列 Flask:一個(gè) Python 微型框架。 awesome-flask 系列 Pyramid:一個(gè)小巧,快速,接地氣的開(kāi)源 Python web 框架。 awesome-pyramid 系列 Bottle:一個(gè)快速小巧,輕量級(jí)的 WSGI 微型 web 框架。 CherryPy:一個(gè)極簡(jiǎn)的 Python web 框架,服從 HTTP/1.1 協(xié)議且具有 WSGI 線程池。 TurboGears:一個(gè)可以擴(kuò)展為全棧解決方案的微型框架。 web.py:一個(gè) Python 的 web 框架,既簡(jiǎn)單,又強(qiáng)大。 web2py:一個(gè)全棧 web 框架和平臺(tái),專注于簡(jiǎn)單易用。 Tornado:一個(gè) web 框架和異步網(wǎng)絡(luò)庫(kù)。 sanic:基于 Python3.5+ 的異步網(wǎng)絡(luò)框架。 starlette:一款輕量級(jí),高性能的 ASGI 框架。 Masonite:以開(kāi)發(fā)者為中心的現(xiàn)代 Python Web 框架。
WebSocket
Web socket 相關(guān)庫(kù)。
autobahn-python:適用于 Twisted 和 asyncio 的 Python WebSocket 和 WAMP。 channels:開(kāi)發(fā)者友好的 Django 異步工具。 websockets:一個(gè)用于構(gòu)建 WebSocket 服務(wù)器和客戶端的庫(kù),著重于正確性和簡(jiǎn)單性。
權(quán)限
允許或拒絕用戶訪問(wèn)數(shù)據(jù)或功能的庫(kù)。
Carteblanche:站在用戶和設(shè)計(jì)者角度開(kāi)發(fā)的一個(gè)代碼對(duì)齊模塊,很好地處理了代碼導(dǎo)航及權(quán)限。 django-guardian:Django 1.2+ ,實(shí)現(xiàn)了單個(gè)對(duì)象權(quán)限。 django-rules:一個(gè)小巧但是強(qiáng)大的應(yīng)用,提供對(duì)象級(jí)別的權(quán)限管理,且不需要使用數(shù)據(jù)庫(kù)。
CMS
內(nèi)容管理系統(tǒng)。
odoo-cms:一個(gè)開(kāi)源的,企業(yè)級(jí) CMS,基于 odoo。 django-cms:一個(gè)開(kāi)源的,企業(yè)級(jí) CMS,基于 Django。 djedi-cms:一個(gè)輕量級(jí)但卻非常強(qiáng)大的 Django CMS ,考慮到了插件,內(nèi)聯(lián)編輯以及性能。 FeinCMS:基于 Django 構(gòu)建的最先進(jìn)的內(nèi)容管理系統(tǒng)之一。 Kotti:一個(gè)高級(jí)的,Python 范的 web 應(yīng)用框架,基于 Pyramid 構(gòu)建。 Mezzanine:一個(gè)強(qiáng)大的,持續(xù)的,靈活的內(nèi)容管理平臺(tái)。 Opps:一個(gè)為雜志,報(bào)紙網(wǎng)站以及大流量門(mén)戶網(wǎng)站設(shè)計(jì)的 CMS 平臺(tái),基于 Django。 Plone:一個(gè)構(gòu)建于開(kāi)源應(yīng)用服務(wù)器 Zope 之上的 CMS。 Quokka:靈活,可擴(kuò)展的小型 CMS,基于 Flask 和 MongoDB。 Wagtail:一個(gè) Django 內(nèi)容管理系統(tǒng)。 Widgy:最新的 CMS 框架,基于 Django。 indico:一個(gè)功能豐富的事件管理系統(tǒng),由 @CERN 開(kāi)發(fā)。
電子商務(wù)
用于電子商務(wù)以及支付的框架和庫(kù)。
django-oscar:一個(gè)用于 Django 的開(kāi)源的電子商務(wù)框架。 django-shop:一個(gè)基于 Django 的店鋪系統(tǒng)。 Cartridge:一個(gè)基于 Mezzanine 構(gòu)建的購(gòu)物車應(yīng)用。 shoop:一個(gè)基于 Django 的開(kāi)源電子商務(wù)平臺(tái)。 alipay:非官方的 Python 支付寶 API。 merchant:一個(gè)可以接收來(lái)自多種支付平臺(tái)支付的 Django 應(yīng)用。 money:一個(gè)貨幣類庫(kù)。帶有可選的 CLDR 后端本地化格式,提供可擴(kuò)展的貨幣兌換解決方案。 python-currencies:顯示貨幣格式以及它的數(shù)值。 forex-python:外匯匯率,比特幣價(jià)格指數(shù)和貨幣換算。 saleor:一款兼容 Django 的電子商務(wù)平臺(tái)。
RESTful API
用來(lái)開(kāi)發(fā) RESTful APIs 的庫(kù)
Django django-rest-framework:一個(gè)強(qiáng)大靈活的工具,用來(lái)構(gòu)建 web API。 django-tastypie:為 Django 應(yīng)用開(kāi)發(fā) API。 django-formapi:為 Django 的表單驗(yàn)證,創(chuàng)建 JSON APIs 。 Flask flask-api:為 flask 開(kāi)發(fā)的,可瀏覽 Web APIs 。 flask-restful:為 flask 快速創(chuàng)建 REST APIs 。 flask-restless:為 SQLAlchemy 定義的數(shù)據(jù)庫(kù)模型創(chuàng)建 RESTful APIs 。 flask-api-utils:為 Flask 處理 API 表示和驗(yàn)證。 eve:REST API 框架,由 Flask, MongoDB 等驅(qū)動(dòng)。 Pyramid cornice:一個(gè) Pyramid 的 REST 框架 。 與框架無(wú)關(guān)的 falcon:一個(gè)用來(lái)建立云 API 和 web app 后端的高性能框架。 sandman:為現(xiàn)存的數(shù)據(jù)庫(kù)驅(qū)動(dòng)系統(tǒng)自動(dòng)創(chuàng)建 REST APIs 。 restless:框架無(wú)關(guān)的 REST 框架 ,基于從 Tastypie 學(xué)到的知識(shí)。 ripozo:快速創(chuàng)建 REST/HATEOAS/Hypermedia APIs。 apistar:專為Python 3設(shè)計(jì)的智能 Web API 框架。 fastapi:一個(gè)現(xiàn)代,快速,基于標(biāo)準(zhǔn) Python 類型注解的的 web框架,可使用 Python3.6+ 版本構(gòu)建 API。 hug:一個(gè)為純凈公開(kāi)的 API 打造的 Python 3 框架。 sandman2:為數(shù)據(jù)庫(kù)驅(qū)動(dòng)的系統(tǒng)自動(dòng)生成 REST API。 vibora:快速高效且支持異步的 Web 框架,靈感來(lái)源于 Flask。
驗(yàn)證
實(shí)現(xiàn)驗(yàn)證方案的庫(kù)。
OAuth authlib:一個(gè)強(qiáng)大的Python庫(kù),用來(lái)構(gòu)建 OAuth 和 OpenID 服務(wù)端。包括:JWS, JWK, JWA, JWT。 Authomatic:簡(jiǎn)單但是強(qiáng)大的框架,身份驗(yàn)證/授權(quán)客戶端。 django-allauth:Django 的驗(yàn)證應(yīng)用。 django-oauth-toolkit:為 Django 用戶準(zhǔn)備的 OAuth2。 django-oauth2-provider:為 Django 應(yīng)用提供 OAuth2 接入。 Flask-OAuthlib:OAuth 1.0/a, 2.0 客戶端實(shí)現(xiàn),供 Flask 使用。 OAuthLib:一個(gè) OAuth 請(qǐng)求-簽名邏輯通用、 完整的實(shí)現(xiàn)。 python-oauth2:一個(gè)完全測(cè)試的抽象接口。用來(lái)創(chuàng)建 OAuth 客戶端和服務(wù)端。 python-social-auth:一個(gè)設(shè)置簡(jiǎn)單的社會(huì)化驗(yàn)證方式。 rauth:OAuth 1.0/a, 2.0, 和 Ofly 的 Python 庫(kù)。 sanction:一個(gè)超級(jí)簡(jiǎn)單的 OAuth2 客戶端實(shí)現(xiàn)。 其他 PyJWT:JSON Web 令牌草案 01。 python-jws:JSON Web 簽名草案 02 的實(shí)現(xiàn)。 python-jwt:一個(gè)用來(lái)生成和驗(yàn)證 JSON Web 令牌的模塊。 python-jose:python 版 JOSE 實(shí)現(xiàn)。
模板引擎
模板生成和詞法解析的庫(kù)和工具。
Jinja2:一個(gè)現(xiàn)代的,對(duì)設(shè)計(jì)師友好的模板引擎。 Chameleon:一個(gè) HTML/XML 模板引擎。模仿了 ZPT(Zope Page Templates), 進(jìn)行了速度上的優(yōu)化。 Genshi:Python 模板工具,用以生成 web 感知的結(jié)果。 Mako:Python 平臺(tái)的超高速輕量級(jí)模板。
隊(duì)列
處理事件以及任務(wù)隊(duì)列的庫(kù)。
celery:一個(gè)異步任務(wù)隊(duì)列/作業(yè)隊(duì)列,基于分布式消息傳遞 daramatiq:適用于Python 3的快速可靠的后臺(tái)任務(wù)處理庫(kù)。 huey:小型多線程任務(wù)隊(duì)列。 mrq:一個(gè) Python 的分布式 worker 任務(wù)隊(duì)列, 使用 Redis 和 gevent。 rq:簡(jiǎn)單的 Python 作業(yè)隊(duì)列。 simpleq:一個(gè)簡(jiǎn)單的,可無(wú)限擴(kuò)張的,基于亞馬遜 SQS 的隊(duì)列。
搜索
對(duì)數(shù)據(jù)進(jìn)行索引和執(zhí)行搜索查詢的庫(kù)和軟件。
django-haystack:Django 模塊化搜索。 elasticsearch-py:Elasticsearch 的官方底層 Python 客戶端。 elasticsearch-dsl-py:Elasticsearch 的官方高級(jí) Python 客戶端。 solrpy:solr 的 Python 客戶端。 pysolr:支持 Apache Solr 的輕量級(jí) Python 裝飾器。 Whoosh:一個(gè)快速的純 Python 搜索引擎庫(kù)。
動(dòng)態(tài)消息
用來(lái)創(chuàng)建用戶活動(dòng)的庫(kù)。
django-activity-stream:從你的站點(diǎn)行為中生成通用活動(dòng)信息流。 Stream-Framework:使用 Cassandra 和 Redis 創(chuàng)建動(dòng)態(tài)消息和通知系統(tǒng)。
Web 資源管理
管理、壓縮、縮小網(wǎng)站資源的工具。
django-compressor:將鏈接和內(nèi)聯(lián)的 JavaScript 或 CSS 壓縮到一個(gè)單獨(dú)的緩存文件中。 django-pipeline:Django 的資源包裝庫(kù)。 django-storages:一個(gè)針對(duì) Django 的自定義存儲(chǔ)后端的工具集合。 fanstatic:打包、優(yōu)化,并且把靜態(tài)文件依賴作為 Python 的包來(lái)提供。 File Conveyor:一個(gè)后臺(tái)駐留的程序,用來(lái)發(fā)現(xiàn)和同步文件到 CDNs, S3 和 FTP。 Flask-Assets:幫你將 web 資源整合到你的 Flask app 中。 jinja-assets-compressor:一個(gè) Jinja 擴(kuò)展,用來(lái)編譯和壓縮你的資源。 webassets:為你的靜態(tài)資源打包、優(yōu)化和管理生成獨(dú)一無(wú)二的緩存 URL。
緩存
緩存數(shù)據(jù)的庫(kù)。
Beaker:一個(gè)緩存和會(huì)話庫(kù),可以用在 web 應(yīng)用和獨(dú)立 Python 腳本和應(yīng)用上。 django-cache-machine:Django 模型的自動(dòng)緩存和失效。 django-cacheops:具有自動(dòng)顆粒化事件驅(qū)動(dòng)失效功能的 ORM。 django-viewlet:渲染模板,同時(shí)具有額外的緩存控制功能。 dogpile.cache:dogpile.cache 是 Beaker 的下一代替代品,由同一作者開(kāi)發(fā)。 HermesCache:Python 緩存庫(kù),具有基于標(biāo)簽的失效和 dogpile effect 保護(hù)功能。 johnny-cache:django 應(yīng)用緩存框架。 pylibmc:libmemcached 接口的 Python 封裝。 python-diskcache:SQLite 和文件支持的緩存后端,具有比 memcached 和 redis 更快的查找速度。
電子郵件
用來(lái)發(fā)送和解析電子郵件的庫(kù)。
django-celery-ses:帶有 AWS SES 和 Celery 的 Django email 后端。 envelopes:供人類使用的電子郵件庫(kù)。 flanker:一個(gè) email 地址和 Mime 解析庫(kù)。 imbox:Python IMAP 庫(kù)。 inbox.py:Python SMTP 服務(wù)器。 inbox:一個(gè)開(kāi)源電子郵件工具箱。 lamson:Python 風(fēng)格的 SMTP 應(yīng)用服務(wù)器。 mailjet:Mailjet API 實(shí)現(xiàn),用來(lái)提供批量發(fā)送郵件,統(tǒng)計(jì)等功能。 marrow.mailer:高性能可擴(kuò)展郵件分發(fā)框架。 modoboa:一個(gè)郵件托管和管理平臺(tái),具有現(xiàn)代的、簡(jiǎn)約的 Web UI。 pyzmail:創(chuàng)建,發(fā)送和解析電子郵件。 Talon:Mailgun 庫(kù),用來(lái)抽取信息和簽名。 yagmail:yagmail是一個(gè)GMAIL / SMTP客戶端,旨在使其盡可能簡(jiǎn)單地發(fā)送電子郵件。 salmon:一個(gè) Python 郵件服務(wù)器。 mailer:一款高性能可擴(kuò)展的郵件投遞框架。
國(guó)際化
用來(lái)進(jìn)行國(guó)際化的庫(kù)。
Babel:一個(gè) Python 的國(guó)際化庫(kù)。 Korean:一個(gè)韓語(yǔ)詞態(tài)庫(kù)。 PyICU:一個(gè)封裝了 ICU C++ 庫(kù)的 Python 擴(kuò)展。
URL 處理
解析 URLs 的庫(kù)
furl:一個(gè)讓處理 URL 更簡(jiǎn)單小型 Python 庫(kù)。 purl:一個(gè)簡(jiǎn)單的,不可變的 URL 類,具有簡(jiǎn)潔的 API 來(lái)進(jìn)行詢問(wèn)和處理。 pyshorteners:一個(gè)純 Python URL 縮短庫(kù)。 shorturl:生成短小 URL 和類似 bit.ly 短鏈的 Python 實(shí)現(xiàn)。 webargs:一個(gè)解析 HTTP 請(qǐng)求參數(shù)的庫(kù),內(nèi)置對(duì)流行 web 框架的支持,包括 Flask, Django, Bottle, Tornado 和 Pyramid。
HTML 處理
處理 HTML 和 XML 的庫(kù)。
BeautifulSoup:以 Python 風(fēng)格的方式來(lái)對(duì) HTML 或 XML 進(jìn)行迭代,搜索和修改。 bleach:一個(gè)基于白名單的 HTML 清理和文本鏈接庫(kù)。 cssutils:一個(gè) Python 的 CSS 庫(kù)。 html5lib:一個(gè)兼容標(biāo)準(zhǔn)的 HTML 文檔和片段解析及序列化庫(kù)。 lxml:一個(gè)非常快速,簡(jiǎn)單易用,功能齊全的庫(kù),用來(lái)處理 HTML 和 XML。 MarkupSafe:為 Python 實(shí)現(xiàn) XML/HTML/XHTML 標(biāo)記安全字符串。 pyquery:一個(gè)解析 HTML 的庫(kù),類似 jQuery。 requests-html:人性化的,Pythonic 的 HTML 解析庫(kù)。 untangle:將 XML 文檔轉(zhuǎn)換為 Python 對(duì)象,使其可以方便的訪問(wèn)。 xhtml2pdf:HTML/CSS 轉(zhuǎn) PDF 工具。 xmltodict:像處理 JSON 一樣處理 XML。 WeasyPrint:用于HTML和CSS的可視化呈現(xiàn)引擎,并可以導(dǎo)出為PDF。 xmldataset:簡(jiǎn)單 XML 解析。
爬取網(wǎng)絡(luò)站點(diǎn)的庫(kù)
Scrapy:一個(gè)快速高級(jí)的屏幕爬取及網(wǎng)頁(yè)采集框架。 ScrapydWeb:一個(gè)用于 Scrapyd 集群管理的全功能 web UI,支持 Scrapy 日志分析和可視化,自動(dòng)打包,定時(shí)器任務(wù)和郵件通知等特色功能。 cola:一個(gè)分布式爬蟲(chóng)框架。 Demiurge:基于 PyQuery 的爬蟲(chóng)微型框架。 feedparser:通用 feed 解析器。 Grab:站點(diǎn)爬取框架。 MechanicalSoup:用于自動(dòng)和網(wǎng)絡(luò)站點(diǎn)交互的 Python 庫(kù)。 portia:Scrapy 可視化爬取。 pyspider:一個(gè)強(qiáng)大的爬蟲(chóng)系統(tǒng)。 RoboBrowser:一個(gè)簡(jiǎn)單的,Python 風(fēng)格的庫(kù),用來(lái)瀏覽網(wǎng)站,而不需要一個(gè)獨(dú)立安裝的瀏覽器。
網(wǎng)頁(yè)內(nèi)容提取
用于進(jìn)行網(wǎng)頁(yè)內(nèi)容提取的庫(kù)。
Haul:一個(gè)可以擴(kuò)展的圖像爬取工具。 html2text:將 HTML 轉(zhuǎn)換為 Markdown 格式文本。 lassie:人性化的網(wǎng)頁(yè)內(nèi)容檢索庫(kù)。 micawber:一個(gè)小型網(wǎng)頁(yè)內(nèi)容提取庫(kù),用來(lái)從 URLs 提取富內(nèi)容。 newspaper:使用 Python 進(jìn)行新聞提取,文章提取以及內(nèi)容策展。 opengraph:一個(gè)用來(lái)解析開(kāi)放內(nèi)容協(xié)議(Open Graph Protocol)的 Python 模塊。 python-goose:HTML 內(nèi)容/文章提取器(python2)。 goose3:HTML 內(nèi)容/文章提取器(python3)。 python-readability:arc90 公司 readability 工具的 Python 高速端口。 sanitize:為雜亂的數(shù)據(jù)世界帶來(lái)調(diào)理性。 sumy:一個(gè)為文本文件和 HTML 頁(yè)面進(jìn)行自動(dòng)摘要的模塊。 textract:從任何格式的文檔中提取文本,Word,PowerPoint,PDFs 等等。
表單
進(jìn)行表單操作的庫(kù)。
Deform:Python HTML 表單生成庫(kù),受到了 formish 表單生成庫(kù)的啟發(fā)。 django-bootstrap3:集成了 Bootstrap 3 的 Django。 django-bootstrap4:集成了 Bootstrap 4 的 Django。 django-crispy-forms:一個(gè) Django 應(yīng)用,他可以讓你以一種非常優(yōu)雅且 DRY(Don't repeat yourself) 的方式來(lái)創(chuàng)建美觀的表單。 django-remote-forms:一個(gè)平臺(tái)獨(dú)立的 Django 表單序列化工具。 WTForms:一個(gè)靈活的表單驗(yàn)證和呈現(xiàn)庫(kù)。 WTForms-JSON:一個(gè) WTForms 擴(kuò)展,用來(lái)處理 JSON 數(shù)據(jù)。
數(shù)據(jù)驗(yàn)證
數(shù)據(jù)驗(yàn)證庫(kù)。多用于表單驗(yàn)證。
Cerberus:一個(gè)映射驗(yàn)證器(mappings-validator)。支持多種規(guī)則,提供歸一化功能,可以方便地定制為 Python 風(fēng)格的 schema 定義。 colander:一個(gè)用于對(duì)從 XML, JSON,HTML 表單獲取的數(shù)據(jù)或其他同樣簡(jiǎn)單的序列化數(shù)據(jù)進(jìn)行驗(yàn)證和反序列化的系統(tǒng)。 kmatch:一種用于匹配/驗(yàn)證/篩選 Python 字典的語(yǔ)言。 schema:一個(gè)用于對(duì) Python 數(shù)據(jù)結(jié)構(gòu)進(jìn)行驗(yàn)證的庫(kù)。 Schematics:數(shù)據(jù)結(jié)構(gòu)驗(yàn)證。 valideer:輕量級(jí)可擴(kuò)展的數(shù)據(jù)驗(yàn)證和適配庫(kù)。 voluptuous:一個(gè) Python 數(shù)據(jù)驗(yàn)證庫(kù)。主要是為了驗(yàn)證傳入 Python 的 JSON,YAML 等數(shù)據(jù)。 jsonschema:JSON Schema 的 python 實(shí)現(xiàn),用于 JSON 數(shù)據(jù)的驗(yàn)證。
序列化
復(fù)雜數(shù)據(jù)類型序列化相關(guān)庫(kù)。
marshmallow:一個(gè)輕量級(jí)的庫(kù),用于將復(fù)雜對(duì)象與簡(jiǎn)單 Python 數(shù)據(jù)類型相互轉(zhuǎn)換。 pysimdjson:與 Python 綁定的 simdjson 。 python-rapidjson:RapidJSON 的 Python 封裝。 ultrajson:使用 Python 綁定的,用 C 編寫(xiě)的快速 JSON 解碼器和編碼器。
反垃圾技術(shù)
幫助你和電子垃圾進(jìn)行戰(zhàn)斗的庫(kù)。
django-simple-captcha:一個(gè)簡(jiǎn)單、高度可定制的 Django 應(yīng)用,可以為任何 Django 表單添加驗(yàn)證碼。 django-simple-spam-blocker:一個(gè)用于 Django 的簡(jiǎn)單的電子垃圾屏蔽工具。
標(biāo)記
用來(lái)進(jìn)行標(biāo)記的庫(kù)。
django-taggit:簡(jiǎn)單的 Django 標(biāo)記工具。
管理面板
管理界面庫(kù)。
Ajenti:一個(gè)你的服務(wù)器值得擁有的管理面板。 django-suit:Django 管理界面的一個(gè)替代品 (僅對(duì)于非商業(yè)用途是免費(fèi)的)。 django-xadmin:Django admin 的一個(gè)替代品,具有很多不錯(cuò)的功能。 flask-admin:一個(gè)用于 Flask 的簡(jiǎn)單可擴(kuò)展的管理界面框架。 flower:一個(gè)對(duì) Celery 集群進(jìn)行實(shí)時(shí)監(jiān)控和提供 web 管理界面的工具。 Grappelli:Django 管理界面的一個(gè)漂亮的皮膚。 Wooey:一個(gè) Django 應(yīng)用,可以為 Python 腳本創(chuàng)建 web 用戶界面。 django-grappelli:擁有絢麗外觀的 Django Admin 界面。 django-jet:具有改進(jìn)功能的現(xiàn)代響應(yīng)式 Django 管理界面模板。 jet-bridge:管理面板框架,適用于任何具有良好 UI 的應(yīng)用(例如 Django)。
Serverless 框架
使用 Python 開(kāi)發(fā) Serverless 模型相關(guān)的庫(kù)。
python-lambda :在 AWS Lambda 開(kāi)發(fā)和部署 Python 代碼的工具包。 Zappa:在 AWS Lambda 和 API Gateway 部署 WSGI 應(yīng)用的工具。
靜態(tài)站點(diǎn)生成器
靜態(tài)站點(diǎn)生成器是一個(gè)軟件,它把文本和模板作為輸入,然后輸出 HTML 文件。
Pelican:使用 Markdown 或 ReST 來(lái)處理內(nèi)容, Jinja 2 來(lái)制作主題。支持 DVCS, Disqus.。AGPL 許可。 Cactus:為設(shè)計(jì)師設(shè)計(jì)的靜態(tài)站點(diǎn)生成器。 Hyde:基于 Jinja2 的靜態(tài)站點(diǎn)生成器。 Nikola:一個(gè)靜態(tài)網(wǎng)站和博客生成器。 Tinkerer:Tinkerer 是一個(gè)博客引擎/靜態(tài)站點(diǎn)生成器,由 Sphinx 驅(qū)動(dòng)。 Lektor:一個(gè)簡(jiǎn)單易用的靜態(tài) CMS 和博客引擎。 makesite:簡(jiǎn)單輕量的站點(diǎn)/博客生成器 (小于 130 行代碼)。
進(jìn)程
操作系統(tǒng)進(jìn)程啟動(dòng)及通信庫(kù)。
envoy:比 Python subprocess 模塊更人性化。 sarge:另一 種 subprocess 模塊的封裝。 sh:一個(gè)完備的 subprocess 替代庫(kù)。 delegator.py:人性化的 Subprocesses 2.0 版本。
并發(fā)和并行
用以進(jìn)行并發(fā)和并行操作的庫(kù)。
multiprocessing:(Python 標(biāo)準(zhǔn)庫(kù)) 基于進(jìn)程的“線程”接口。 threading:(Python 標(biāo)準(zhǔn)庫(kù))更高層的線程接口。 eventlet:支持 WSGI 的異步框架。 gevent:一個(gè)基于協(xié)程的 Python 網(wǎng)絡(luò)庫(kù),使用 greenlet。 Tomorrow:用于產(chǎn)生異步代碼的神奇的裝飾器語(yǔ)法實(shí)現(xiàn)。 uvloop:在 libuv 之上超快速實(shí)現(xiàn) asyncio 事件循環(huán)。 concurrent.futures:(Python 標(biāo)準(zhǔn)庫(kù)) 異步執(zhí)行可調(diào)用對(duì)象的高級(jí)接口。 gevent:使用 greenlet 且基于協(xié)程的 Python 網(wǎng)絡(luò)庫(kù)。 scoop:支持在 Python 中進(jìn)行可伸縮并行操作。
網(wǎng)絡(luò)
用于網(wǎng)絡(luò)編程的庫(kù)。
asyncio:(Python 標(biāo)準(zhǔn)庫(kù)) 異步 I/O, 事件循環(huán), 協(xié)程以及任務(wù)。 trio:異步并發(fā)和 I/O 友好的庫(kù)。 Twisted:一個(gè)事件驅(qū)動(dòng)的網(wǎng)絡(luò)引擎。 pulsar:事件驅(qū)動(dòng)的并發(fā)框架。 diesel:基于 Greenlet 的事件 I/O 框架。 pyzmq:一個(gè) ZeroMQ 消息庫(kù)的 Python 封裝。 Toapi:一個(gè)輕巧,簡(jiǎn)單,快速的 Flask 庫(kù),致力于為所有網(wǎng)站提供 API 服務(wù)。 txZMQ:基于 Twisted 的 ZeroMQ 消息庫(kù)的 Python 封裝。
WebSocket
幫助使用 WebSocket 的庫(kù)。
AutobahnPython:給 Python 、使用的 WebSocket & WAMP 基于 Twisted 和 asyncio。 Crossbar:開(kāi)源統(tǒng)一應(yīng)用路由(Websocket & WAMP for Python on Autobahn)。 django-socketio:給 Django 用的 WebSockets。 WebSocket-for-Python:為 Python2/3 以及 PyPy 編寫(xiě)的 WebSocket 客戶端和服務(wù)器庫(kù)。
WSGI 服務(wù)器
兼容 WSGI 的 web 服務(wù)器
gunicorn:Pre-forked, 部分是由 C 語(yǔ)言編寫(xiě)的。 uwsgi:uwsgi 項(xiàng)目的目的是開(kāi)發(fā)一組全棧工具,用來(lái)建立托管服務(wù), 由 C 語(yǔ)言編寫(xiě)。 bjoern:異步,非常快速,由 C 語(yǔ)言編寫(xiě)。 fapws3:異步 (僅對(duì)于網(wǎng)絡(luò)端),由 C 語(yǔ)言編寫(xiě)。 meinheld:異步,部分是由 C 語(yǔ)言編寫(xiě)的。 netius:異步,非常快速。 paste:多線程,穩(wěn)定,久經(jīng)考驗(yàn)。 rocket:多線程。 waitress:多線程, 是它驅(qū)動(dòng)著 Pyramid 框架。 Werkzeug:一個(gè) WSGI 工具庫(kù),驅(qū)動(dòng)著 Flask ,而且可以很方便大嵌入到你的項(xiàng)目中去。
ASGI 服務(wù)器
兼容 ASGI 的 web 服務(wù)器。
daphne:用于 ASGI 和 ASGI-HTTP 的,支持 HTTP,HTTP2 和 WebSocket 協(xié)議的服務(wù)器。 uvicorn:使用 uvloop 和 httptools 實(shí)現(xiàn)的閃電般快速的 ASGI 服務(wù)器。
RPC 服務(wù)器
兼容 RPC 的服務(wù)器。
SimpleJSONRPCServer:這個(gè)庫(kù)是 JSON-RPC 規(guī)范的一個(gè)實(shí)現(xiàn)。 SimpleXMLRPCServer:(Python 標(biāo)準(zhǔn)庫(kù)) 簡(jiǎn)單的 XML-RPC 服務(wù)器實(shí)現(xiàn),單線程。 zeroRPC:zerorpc 是一個(gè)靈活的 RPC 實(shí)現(xiàn),基于 ZeroMQ 和 MessagePack。 RPyC (Remote Python Call):適用于 Python 的透明且對(duì)稱的RPC庫(kù)。
密碼學(xué)
cryptography:這個(gè)軟件包意在提供密碼學(xué)基本內(nèi)容和方法提供給 Python 開(kāi)發(fā)者。 hashids:在 Python 中實(shí)現(xiàn) hashids 。 Paramiko:SSHv2 協(xié)議的 Python (2.6+, 3.3+) ,提供客戶端和服務(wù)端的功能。 Passlib:安全密碼存儲(chǔ)/哈希庫(kù)。 PyCrypto:Python 密碼學(xué)工具箱。 PyNacl:網(wǎng)絡(luò)和密碼學(xué)(NaCl) 庫(kù)的 Python 綁定。
圖形用戶界面
用來(lái)創(chuàng)建圖形用戶界面程序的庫(kù)。
curses:內(nèi)建的 ncurses 封裝,用來(lái)創(chuàng)建終端圖形用戶界面。 enaml:使用類似 QML 的 Declaratic 語(yǔ)法來(lái)創(chuàng)建美觀的用戶界面。 kivy:一個(gè)用來(lái)創(chuàng)建自然用戶交互(NUI)應(yīng)用程序的庫(kù),可以運(yùn)行在 Windows, Linux, Mac OS X, Android 以及 iOS 平臺(tái)上。 pyglet:一個(gè) Python 的跨平臺(tái)窗口及多媒體庫(kù)。 PyQt:跨平臺(tái)用戶界面框架 Qt 的 Python 綁定 ,支持 Qt v4 和 Qt v5。 PySide:跨平臺(tái)用戶界面框架 Qt 的 Python 綁定 ,支持 Qt v4。 Tkinter:Tkinter 是 Python GUI 的一個(gè)事實(shí)標(biāo)準(zhǔn)庫(kù)。 Toga:一個(gè) Python 原生的, 操作系統(tǒng)原生的 GUI 工具包。 urwid:一個(gè)用來(lái)創(chuàng)建終端 GUI 應(yīng)用的庫(kù),支持組件,事件和豐富的色彩等。 wxPython:wxPython 是 wxWidgets C++ 類庫(kù)和 Python 語(yǔ)言混合的產(chǎn)物。 PyGObject:GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 綁定。 Flexx:Flexx 是一個(gè)純 Python 語(yǔ)言編寫(xiě)的用來(lái)創(chuàng)建 GUI 程序的工具集,它使用 web 技術(shù)進(jìn)行界面的展示。 Eel:用于制作簡(jiǎn)單離線 HTML/JS GUI 應(yīng)用的庫(kù)。 PySimpleGUI:tkinter,Qt,WxPython 和 Remi 的封裝。 pywebview:圍繞網(wǎng)頁(yè)視圖組件的輕量級(jí)跨平臺(tái)的原生包裝。 DearPyGui:一個(gè)簡(jiǎn)單的可使用 GPU 加速的 Python GUI 框架。
游戲開(kāi)發(fā)
超贊的游戲開(kāi)發(fā)庫(kù)。
Cocos2d:cocos2d 是一個(gè)用來(lái)開(kāi)發(fā) 2D 游戲, 示例和其他圖形/交互應(yīng)用的框架。基于 pyglet。 Panda3D:由迪士尼開(kāi)發(fā)的 3D 游戲引擎,并由卡內(nèi)基梅隴娛樂(lè)技術(shù)中心負(fù)責(zé)維護(hù)。使用 C++ 編寫(xiě), 針對(duì) Python 進(jìn)行了完全的封裝。 Pygame:Pygame 是一組 Python 模塊,用來(lái)編寫(xiě)游戲。 PyOgre:Ogre 3D 渲染引擎的 Python 綁定,可以用來(lái)開(kāi)發(fā)游戲和仿真程序等任何 3D 應(yīng)用。 PyOpenGL:OpenGL 的 Python 綁定及其相關(guān) APIs。 PySDL2:SDL2 庫(kù)的封裝,基于 ctypes。 RenPy:一個(gè)視覺(jué)小說(shuō)(visual novel)引擎。 Arcade:一個(gè)現(xiàn)代 Python 框架,用于制作具有引人入勝的圖形與聲音的游戲。 Harfang3D:支持3D,VR 與游戲開(kāi)發(fā)的 Python 框架。
日志
用來(lái)生成和操作日志的庫(kù)。
logging:(Python 標(biāo)準(zhǔn)庫(kù)) 為 Python 提供日志功能。 logbook:Logging 庫(kù)的替代品。 Eliot:為復(fù)雜的和分布式系統(tǒng)創(chuàng)建日志。 Raven:Sentry 的 Python 客戶端。 Sentry:實(shí)時(shí)記錄和收集日志的服務(wù)器。 sentry-python:Python 版 Sentry SDK。 loguru:旨在帶來(lái)愉悅體驗(yàn)的 Python 日志庫(kù)。 structlog:結(jié)構(gòu)化日志,讓日志變得簡(jiǎn)單。
測(cè)試
進(jìn)行代碼庫(kù)測(cè)試和生成測(cè)試數(shù)據(jù)的庫(kù)。
測(cè)試框架 unittest:(Python 標(biāo)準(zhǔn)庫(kù)) 單元測(cè)試框架。 nose:nose 擴(kuò)展了 unittest 的功能。 nose2 nose的繼任者,基于unittest2。contexts:一個(gè) Python 3.3+ 的 BDD 框架。受到 C# Machine.Specifications 的啟發(fā)。 hypothesis:Hypothesis 是一個(gè)基于先進(jìn)的 Quickcheck 風(fēng)格特性的測(cè)試庫(kù)。 mamba:Python 的終極測(cè)試工具, 擁護(hù) BDD。 pyshould:Should 風(fēng)格的斷言,基于 PyHamcrest。 pytest:一個(gè)成熟的全功能 Python 測(cè)試工具。 green:干凈,多彩的測(cè)試工具。 pyvows:BDD 風(fēng)格的測(cè)試工具,受 Vows.js 的啟發(fā)。 Robot Framework:一個(gè)通用的自動(dòng)化測(cè)試框架。 tox:自動(dòng)化測(cè)試與發(fā)布的工具,支持多個(gè) Python 版本。 GUI / Web 測(cè)試 Selenium:Selenium WebDriver 的 Python 綁定。 PyAutoGUI:PyAutoGUI 是一個(gè)人性化的跨平臺(tái) GUI 自動(dòng)測(cè)試模塊。 locust:使用 Python 編寫(xiě)的,可擴(kuò)展的用戶加載測(cè)試工具。 sixpack:一個(gè)和語(yǔ)言無(wú)關(guān)的 A/B 測(cè)試框架。 splinter:開(kāi)源的 web 應(yīng)用測(cè)試工具。 Schemathesis:基于屬性的自動(dòng)測(cè)試工具,用于測(cè)試使用 Open API / Swagger 規(guī)范構(gòu)建的 Web 應(yīng)用程序。 Mock 測(cè)試 mock:(Python 標(biāo)準(zhǔn)庫(kù)) 一個(gè)用于偽造測(cè)試的庫(kù)。 doublex:Python 的一個(gè)功能強(qiáng)大的 doubles 測(cè)試框架。 freezegun:通過(guò)偽造日期模塊來(lái)生成不同的時(shí)間。 httmock:針對(duì) Python 2.6+ 和 3.2+ 生成 偽造請(qǐng)求的庫(kù)。 httpretty:Python 的 HTTP 請(qǐng)求 mock 工具。 responses:偽造 Python 中的 requests 庫(kù)的一個(gè)通用庫(kù)。 VCR.py:在你的測(cè)試中記錄和重放 HTTP 交互。 mocket:gevent/asyncio/SSL 支持的 socket mock 框架。 對(duì)象工廠 factoryboy:一個(gè) Python 用的測(cè)試固件 (test fixtures) 替代庫(kù)。 mixer:另外一個(gè)測(cè)試固件 (test fixtures) 替代庫(kù),支持 Django, Flask, SQLAlchemy, Peewee 等。 modelmommy:為 Django 測(cè)試創(chuàng)建隨機(jī)固件。 代碼覆蓋率 coverage:代碼覆蓋率測(cè)量。 Codecov:一個(gè)代碼覆蓋率測(cè)試工具,為開(kāi)源項(xiàng)目提供免費(fèi)代碼覆蓋率測(cè)試服務(wù)。 偽數(shù)據(jù) faker:一個(gè) Python 庫(kù),用來(lái)生成偽數(shù)據(jù)。 fake2db:偽數(shù)據(jù)庫(kù)生成器。 mimesis:一個(gè)幫助你生成偽數(shù)據(jù)的 Python 庫(kù)。 radar:生成隨機(jī)的日期/時(shí)間。 錯(cuò)誤處理 FuckIt.py:使用最先進(jìn)的技術(shù)來(lái)保證你的 Python 代碼無(wú)論對(duì)錯(cuò)都能繼續(xù)運(yùn)行。
滲透測(cè)試
滲透測(cè)試相關(guān)框架和工具。
fsociety:一款滲透測(cè)試框架。 setoolkit:社會(huì)工程工具包。 sqlmap:自動(dòng) SQL 注入和數(shù)據(jù)庫(kù)接管工具。
代碼分析和 Lint 工具
進(jìn)行代碼分析、解析和操作代碼庫(kù)的庫(kù)和工具。
代碼分析
coala:語(yǔ)言獨(dú)立和易于擴(kuò)展的代碼分析應(yīng)用程序。 code2flow:把你的 Python 和 JavaScript 代碼轉(zhuǎn)換為流程圖。 pycallgraph:這個(gè)庫(kù)可以把你的 Python 應(yīng)用的流程(調(diào)用圖)進(jìn)行可視化。 pysonar2:Python 類型推斷和檢索工具。 prospector:分析 Python 代碼的工具。 vulture:用于發(fā)現(xiàn)和分析無(wú)效 Python 代碼的工具。 Lint 工具
awesome-flake8-extensions Flake8:模塊化源碼檢查工具,提供與
pycodestyle、pyflakes、McCabe 相關(guān)的裝飾器。Pylint:一個(gè)完全可定制的源碼分析器。
YAPF:Google 的 Python 代碼格式化工具。
pylama:Python 和 JavaScript 的代碼審查工具。
wemake-python-styleguide:有史以來(lái)最嚴(yán)格的 Python 代碼審查工具。
代碼格式化
autopep8:自動(dòng)格式化 Python 代碼,以使其符合 PEP8 規(guī)范。 black:一個(gè)堅(jiān)定的 Python 代碼格式化工具。 isort:用于糾正包導(dǎo)入順序的 Python 庫(kù)。 靜態(tài)類型檢查,也可以參考 awesome-python-typing
mypy:在編譯期間檢查變量類型。 pyre-check:性能類型檢查。 typeshed:帶有靜態(tài)類型的Python庫(kù)存根的集合。 靜態(tài)類型注釋生成器
MonkeyType:通過(guò)收集運(yùn)行時(shí)的類型來(lái)為 Python 生成靜態(tài)類型注釋的系統(tǒng)。 pyannotate:自動(dòng)生成符合 PEP-484 的注解。 pytype:檢查和推斷 Python 代碼中的類型,無(wú)需添加注解。
調(diào)試工具
用來(lái)進(jìn)行代碼調(diào)試的庫(kù)。
調(diào)試器
ipdb:IPython 啟用的 pdb。 pudb:全屏,基于控制臺(tái)的 Python 調(diào)試器。 pdb++:另一種 pdb 的替代。 pyringe:可以在 Python 進(jìn)程中附加和注入代碼的調(diào)試器。 wdb:一個(gè)奇異的 web 調(diào)試器,通過(guò) WebSockets 工作。 winpdb:一個(gè)具有圖形用戶界面的 Python 調(diào)試器,可以進(jìn)行遠(yuǎn)程調(diào)試,基于 rpdb2。 追蹤器
lptrace:為 Python 程序打造的 strace。 manhole:調(diào)試UNIX套接字連接,并顯示所有線程的堆棧跟蹤和交互式提示。 pyringe:能夠附加到 Python 進(jìn)程并將代碼注入Python進(jìn)程的調(diào)試器。 python-hunter:一個(gè)靈活的代碼追蹤工具包。 性能分析器
lineprofiler:逐行性能分析。 Memory Profiler、內(nèi)存:監(jiān)控 Python 代碼的內(nèi)存使用。 profiling:一個(gè)交互式 Python 性能分析工具。 py-spy:Python 程序采樣分析器,使用 Rust 實(shí)現(xiàn)。 pyflame:用于 Python 的跟蹤分析器。 vprof:視覺(jué) Python 分析器。 其他
pyelftools:解析和分析 ELF 文件以及 DWARF 調(diào)試信息。 python-statsd:statsd 服務(wù)器的 Python 客戶端。 django-debug-toolbar:為 Django 顯示各種調(diào)試信息。 django-devserver:一個(gè) Django 運(yùn)行服務(wù)器的替代品。 flask-debugtoolbar:django-debug-toolbar 的 flask 版。 icecream:通過(guò)一個(gè)簡(jiǎn)單的函數(shù)調(diào)用檢查變量、表達(dá)式和程序執(zhí)行情況。
科學(xué)計(jì)算和數(shù)據(jù)分析
用來(lái)進(jìn)行科學(xué)計(jì)算和數(shù)據(jù)分析的庫(kù)。
astropy:一個(gè)天文學(xué) Python 庫(kù)。 bcbio-nextgen:這個(gè)工具箱為全自動(dòng)高通量測(cè)序分析提供符合最佳實(shí)踐的處理流程。 bccb:生物分析相關(guān)代碼集合。 Biopython:Biopython 是一組可以免費(fèi)使用的用來(lái)進(jìn)行生物計(jì)算的工具。 blaze:NumPy 和 Pandas 的大數(shù)據(jù)接口。 cclib:一個(gè)用來(lái)解析和解釋計(jì)算化學(xué)軟件包輸出結(jié)果的庫(kù)。 NetworkX:一個(gè)為復(fù)雜網(wǎng)絡(luò)設(shè)計(jì)的高性能軟件。 Neupy:執(zhí)行和測(cè)試各種不同的人工神經(jīng)網(wǎng)絡(luò)算法。 NumPy:使用 Python 進(jìn)行科學(xué)計(jì)算的基礎(chǔ)包。 Open Babel:一個(gè)化學(xué)工具箱,用來(lái)描述多種化學(xué)數(shù)據(jù)。 Open Mining:使用 Python 挖掘商業(yè)情報(bào) (BI) (Pandas web 接口)。 orange:通過(guò)可視化編程或 Python 腳本進(jìn)行數(shù)據(jù)挖掘,數(shù)據(jù)可視化,分析和機(jī)器學(xué)習(xí)。 Pandas:提供高性能,易用的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具。 PyDy:PyDy 是 Python Dynamics 的縮寫(xiě),用來(lái)為動(dòng)力學(xué)運(yùn)動(dòng)建模工作流程提供幫助, 基于 NumPy, SciPy, IPython 和 matplotlib。 PyMC:馬爾科夫鏈蒙特卡洛采樣工具。 RDKit:化學(xué)信息學(xué)和機(jī)器學(xué)習(xí)軟件。 SciPy:由一些基于 Python ,用于數(shù)學(xué),科學(xué)和工程的開(kāi)源軟件構(gòu)成的生態(tài)系統(tǒng)。 statsmodels:統(tǒng)計(jì)建模和計(jì)量經(jīng)濟(jì)學(xué)。 SymPy:一個(gè)用于符號(hào)數(shù)學(xué)的 Python 庫(kù)。 zipline:一個(gè) Python 算法交易庫(kù)。 Bayesian-belief-networks:優(yōu)雅的貝葉斯理念網(wǎng)絡(luò)框架。 AWS Data Wrangler:AWS 平臺(tái)上使用的 Pandas。 Optimus:在使用 PySpark 時(shí),讓敏捷數(shù)據(jù)科學(xué)工作流程變得簡(jiǎn)單。 Colour:大量色彩理論轉(zhuǎn)換和算法的實(shí)現(xiàn)。 Karate Club:用于圖形結(jié)構(gòu)化數(shù)據(jù)的無(wú)監(jiān)督機(jī)器學(xué)習(xí)工具箱。 NIPY:神經(jīng)影響學(xué)工具箱集合。 ObsPy:地震學(xué) Python 工具箱。 QuTiP:Python 版 Quantum 工具箱。 SimPy:一個(gè)基于過(guò)程的離散事件模擬框架。
數(shù)據(jù)可視化
進(jìn)行數(shù)據(jù)可視化的庫(kù)。參見(jiàn):awesome-javascript。
matplotlib:一個(gè) Python 2D 繪圖庫(kù)。 bokeh:用 Python 進(jìn)行交互式 web 繪圖。 ggplot:ggplot2 給 R 提供的 API 的 Python 版本。 plotly:協(xié)同 Python 和 matplotlib 工作的 web 繪圖庫(kù)。 pyecharts:基于百度 Echarts 的數(shù)據(jù)可視化庫(kù)。 pygal:一個(gè) Python SVG 圖表創(chuàng)建工具。 pygraphviz:Graphviz 的 Python 接口。 PyQtGraph:交互式實(shí)時(shí) 2D/3D/ 圖像繪制及科學(xué)/工程學(xué)組件。 SnakeViz:一個(gè)基于瀏覽器的 Python's cProfile 模塊輸出結(jié)果查看工具。 vincent:把 Python 轉(zhuǎn)換為 Vega 語(yǔ)法的轉(zhuǎn)換工具。 VisPy:基于 OpenGL 的高性能科學(xué)可視化工具。 Altair:用于 Python 的聲明式統(tǒng)計(jì)可視化庫(kù)。 bqplot:Jupyter Notebook的交互式繪圖庫(kù)。 Cartopy:具有 matplotlib 支持的 python 制圖庫(kù)。 Dash:構(gòu)建在 Flask、React 和 Plotly之上,旨在用于分析 Web 應(yīng)用程序。 awesome-dash diagrams:用圖表作為代碼。 plotnine:基于ggplot2的Python圖形語(yǔ)法。 PyGraphviz:Graphviz 的 Python 接口。 Seaborn:使用 Matplotlib 進(jìn)行統(tǒng)計(jì)數(shù)據(jù)可視化。
計(jì)算機(jī)視覺(jué)
計(jì)算機(jī)視覺(jué)相關(guān)庫(kù)。
OpenCV:開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù)。 pyocr:Tesseract 和 Cuneiform 的包裝庫(kù)。 pytesseract:Google Tesseract OCR 的另一包裝庫(kù)。 SimpleCV:一個(gè)用來(lái)創(chuàng)建計(jì)算機(jī)視覺(jué)應(yīng)用的開(kāi)源框架。 EasyOCR:支持40多種語(yǔ)言的即用型 OCR。 Face Recognition:簡(jiǎn)單的面部識(shí)別庫(kù)。 Kornia:PyTorch 的開(kāi)源差異化計(jì)算機(jī)視覺(jué)庫(kù)。 tesserocr:另一個(gè)簡(jiǎn)單的,兼容 Pillow 的 tesseract-ocrAPI 裝飾器,可用于 OCR。
深度學(xué)習(xí)
神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)相關(guān)框架。也可以參考 awesome-deep-learning。
Caffe:一個(gè) Caffe 的 python 接口。 Caffe2:一個(gè)輕量級(jí)的,模塊化的,可擴(kuò)展的深度學(xué)習(xí)框架。 keras:以 tensorflow/theano/CNTK 為后端的深度學(xué)習(xí)封裝庫(kù),快速上手神經(jīng)網(wǎng)絡(luò)。 MXNet:一個(gè)高效和靈活的深度學(xué)習(xí)框架。 Pytorch:一個(gè)具有張量和動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò),并有強(qiáng)大 GPU 加速能力的深度學(xué)習(xí)框架。 SerpentAI:游戲代理框架,可使用任意視頻游戲作為深度學(xué)習(xí)沙箱。 Theano:一個(gè)快速數(shù)值計(jì)算庫(kù)。 TensorFlow:谷歌開(kāi)源的最受歡迎的深度學(xué)習(xí)框架。 skflow:一個(gè) TensorFlow 的簡(jiǎn)化接口(模仿 scikit-learn)。 hebel:GPU 加速的深度學(xué)習(xí)庫(kù)。 pydeep:Python 深度學(xué)習(xí)庫(kù)。
機(jī)器學(xué)習(xí)
機(jī)器學(xué)習(xí)相關(guān)庫(kù),也可以參考 awesome-machine-learning。
Crab:靈活、快速的推薦引擎。 NuPIC:智能計(jì)算 Numenta 平臺(tái)。 pattern:Python 網(wǎng)絡(luò)挖掘模塊。 PyBrain:另一個(gè) Python 機(jī)器學(xué)習(xí)庫(kù)。 Pylearn2:一個(gè)基于 Theano 的機(jī)器學(xué)習(xí)庫(kù)。 python-recsys:一個(gè)用來(lái)實(shí)現(xiàn)推薦系統(tǒng)的 Python 庫(kù)。 scikit-learn:基于 SciPy 構(gòu)建的機(jī)器學(xué)習(xí) Python 模塊。 vowpalporpoise:輕量級(jí) Vowpal Wabbit 的 Python 封裝。 gym:開(kāi)發(fā)和比較強(qiáng)化學(xué)習(xí)算法的工具包。 H2O:開(kāi)源快速可擴(kuò)展的機(jī)器學(xué)習(xí)平臺(tái)。 Metrics:機(jī)器學(xué)習(xí)的評(píng)估指標(biāo)。 vowpal_porpoise:Python 版 Vowpal Wabbit 裝飾器。 xgboost:可擴(kuò)展,便攜式和分布式梯度提升庫(kù)。 MindsDB:MindsDB是現(xiàn)有數(shù)據(jù)庫(kù)的開(kāi)源AI層,可讓使用標(biāo)準(zhǔn)查詢輕松地進(jìn)行開(kāi)發(fā),訓(xùn)練和部署最新的機(jī)器學(xué)習(xí)模型。
推薦系統(tǒng)
用于構(gòu)建推薦系統(tǒng)的相關(guān)庫(kù)。
annoy:對(duì) C++/Python 實(shí)現(xiàn)的近似近鄰算法進(jìn)行了內(nèi)存優(yōu)化。 fastFM:Factorization Machine 相關(guān)庫(kù)。 implicit:對(duì)隱式數(shù)據(jù)集進(jìn)行協(xié)作過(guò)濾的快速 Python 實(shí)現(xiàn)。 libffm:Field-aware Factorization Machine (FFM) 相關(guān)庫(kù)。 lightfm:很多流行的推薦算法的 Python 實(shí)現(xiàn)。 spotlight:使用 PyTorch 實(shí)現(xiàn)的深度推薦模型。 Surprise:用于構(gòu)建和分析推薦系統(tǒng)的科學(xué)工具。 tensorrec:TensorFlow 的推薦引擎框架。
分布式計(jì)算
分布式計(jì)算相關(guān)的框架和庫(kù)。
dpark:Spark 的 Python 克隆版,一個(gè)類似 MapReduce 的框架。 dumbo:這個(gè) Python 模塊可以讓人輕松的編寫(xiě)和運(yùn)行 Hadoop 程序。 luigi:這個(gè)模塊幫你構(gòu)建批處理作業(yè)的復(fù)雜流水線。 mrjob:在 Hadoop 或 Amazon Web Services 上運(yùn)行 MapReduce 任務(wù)。 dask:用于分析計(jì)算的靈活的并行計(jì)算庫(kù)。 PySpark:Spark 的 Python API 。 Ray:一個(gè)用于并行和分布式 Python 的系統(tǒng),它統(tǒng)一了機(jī)器學(xué)習(xí)生態(tài)系統(tǒng)。 faust:一個(gè) Python 流處理庫(kù),核心思想來(lái)源 Kafka Streams。 streamparse:運(yùn)行針對(duì)事實(shí)數(shù)據(jù)流的 Python 代碼。集成了 Apache Storm。
函數(shù)式編程
使用 Python 進(jìn)行函數(shù)式編程。
CyToolz:Toolz 的 Cython 實(shí)現(xiàn):高性能函數(shù)式工具。 fn.py:在 Python 中進(jìn)行函數(shù)式編程:實(shí)現(xiàn)了一些享受函數(shù)式編程缺失的功能。 funcy:炫酷又實(shí)用的函數(shù)式工具。 Toolz:一組用于迭代器,函數(shù)和字典的函數(shù)式編程工具。 Coconut:為了簡(jiǎn)單、優(yōu)雅、更 Pythonic 的函數(shù)式編程而構(gòu)建的 Python 變體。 more-itertools:比 itertools擁有更多的可迭代對(duì)象的操作方式。returns:一個(gè)類型安全的單元、轉(zhuǎn)換器與合成工具集合。
第三方 API
用來(lái)訪問(wèn)第三方 API 的庫(kù)。參見(jiàn):List of Python API Wrappers and Libraries。
apache-libcloud:一個(gè)為各種云設(shè)計(jì)的 Python 庫(kù)。 boto3:Amazon Web Services 的 Python 接口。 django-wordpress:Django 的 WordPress 模型與視圖。 facebook-sdk:Facebook 平臺(tái)的 Python SDK。 facepy:Facepy 讓和 Facebook's Graph API 的交互變得更容易。 gmail:Gmail 的 Python 接口。 google-api-python-client:Python 用的 Google APIs 客戶端庫(kù)。 gspread:Google 電子表格的 Python API。 twython:Twitter API 的封裝。
DevOps 工具
用于 DevOps 的軟件和庫(kù)。
Ansible:一個(gè)非常簡(jiǎn)單的 IT 自動(dòng)化平臺(tái)。 SaltStack:基礎(chǔ)設(shè)施自動(dòng)化和管理系統(tǒng)。 OpenStack:用于構(gòu)建私有和公有云的開(kāi)源軟件。 Docker Compose:快速,分離的開(kāi)發(fā)環(huán)境,使用 Docker。 Fabric:一個(gè)簡(jiǎn)單的,Python 風(fēng)格的工具,用來(lái)進(jìn)行遠(yuǎn)程執(zhí)行和部署。 cuisine:為 Fabric 提供一系列高級(jí)函數(shù)。 Fabtools:一個(gè)用來(lái)編寫(xiě)超贊的 Fabric 文件的工具。 gitapi:Git 的純 Python API。 hgapi:Mercurial 的純 Python API。 honcho:Foreman 的 Python 克隆版,用來(lái)管理基于 Procfile 的應(yīng)用。 pexpect:在一個(gè)偽終端中控制交互程序,就像 GNU expect 一樣。 psutil:一個(gè)跨平臺(tái)進(jìn)程和系統(tǒng)工具模塊。 supervisor:UNIX 的進(jìn)程控制系統(tǒng)。 cloudinit:一個(gè)多分發(fā)包,用于處理云實(shí)例的早期初始化。 pyinfra:一個(gè)通用的 CLI 工具包和 python 庫(kù),用于自動(dòng)化的基礎(chǔ)設(shè)施。 honcho:Foreman 的 Python 克隆版,用于管理基于 Procfile 的應(yīng)用。 BorgBackup:具有壓縮和加密功能的重復(fù)數(shù)據(jù)刪除存檔器。 docker-compose:使用 Docker 的快速獨(dú)立的開(kāi)發(fā)環(huán)境。
任務(wù)調(diào)度
任務(wù)調(diào)度庫(kù)。
APScheduler:輕巧但強(qiáng)大的進(jìn)程內(nèi)任務(wù)調(diào)度,使你可以調(diào)度函數(shù)。 django-schedule:一個(gè) Django 排程應(yīng)用。 doit:一個(gè)任務(wù)執(zhí)行和構(gòu)建工具。 gunnery:分布式系統(tǒng)使用的多用途任務(wù)執(zhí)行工具 ,具有 web 交互界面。 Joblib:一組為 Python 提供輕量級(jí)作業(yè)流水線的工具。 Plan:如有神助地編寫(xiě) crontab 文件。 schedule:人性化的 Python 任務(wù)調(diào)度庫(kù)。 Spiff:使用純 Python 實(shí)現(xiàn)的強(qiáng)大的工作流引擎。 TaskFlow:一個(gè)可以讓你方便執(zhí)行任務(wù)的 Python 庫(kù),一致并且可靠。 Airflow :是一個(gè)工作流分配管理系統(tǒng),通過(guò)有向非循環(huán)圖的方式管理任務(wù)流程,設(shè)置任務(wù)依賴關(guān)系和時(shí)間調(diào)度。 Prefect:一個(gè)現(xiàn)代的工作流程編排框架,使構(gòu)建、計(jì)劃和監(jiān)視健壯的數(shù)據(jù)管道變得容易。
外來(lái)函數(shù)接口
使用外來(lái)函數(shù)接口的庫(kù)。
cffi:用來(lái)調(diào)用 C 代碼的外來(lái)函數(shù)接口。 ctypes:(Python 標(biāo)準(zhǔn)庫(kù)) 用來(lái)調(diào)用 C 代碼的外來(lái)函數(shù)接口。 PyCUDA:Nvidia CUDA API 的封裝。 SWIG:簡(jiǎn)化的封裝和接口生成器。
重構(gòu)
Python 重構(gòu)相關(guān)庫(kù)和工具。
Bicycle Repair Man:Python 的重構(gòu)工具。 Bowler:適用于現(xiàn)代Python的安全代碼重構(gòu)。 Rope:一個(gè) Python 的重構(gòu)庫(kù)。
高性能
讓 Python 更快的庫(kù)。
Cython:優(yōu)化的 Python 靜態(tài)編譯器。使用類型混合使 Python 編譯成 C 或 C++ 模塊來(lái)獲得性能的極大提升。 CLPython:用 Common Lisp 編寫(xiě)的 Python 編程語(yǔ)言的實(shí)現(xiàn)。 Grumpy:編譯器比解釋器更強(qiáng)大的 cpython2.7 替代品(alpha)。 IronPython:用 C#編寫(xiě)的 Python 編程語(yǔ)言的實(shí)現(xiàn)。 Jython:為 JVM 用 Java 編寫(xiě)的 Python 編程語(yǔ)言的實(shí)現(xiàn)。 MicroPython:精簡(jiǎn)高效的 Python 編程語(yǔ)言實(shí)現(xiàn)。 Pyjion:基于 CoreCLR 的 Python JIT。 Numba:Python JIT (just in time) 編譯器,針對(duì)科學(xué)用的 Python ,由 Cython 和 NumPy 的開(kāi)發(fā)者開(kāi)發(fā)。 PeachPy:嵌入 Python 的 x86-64 匯編器。可以被用作 Python 內(nèi)聯(lián)的匯編器或者是獨(dú)立的匯編器,用于 Windows, Linux, OS X, Native Client 或者 Go 。 PyPy:使用 Python 實(shí)現(xiàn)的 Python。解釋器使用黑魔法加快 Python 運(yùn)行速度且不需要加入額外的類型信息。 Pyston:使用 LLVM 和現(xiàn)代 JIT 技術(shù)構(gòu)建的 Python 實(shí)現(xiàn),目標(biāo)是為了獲得很好的性能。 Stackless Python:一個(gè)強(qiáng)化版的 Python。
微軟的 Windows 平臺(tái)
在 Windows 平臺(tái)上進(jìn)行 Python 編程。
Python(x,y):面向科學(xué)應(yīng)用的 Python 發(fā)行版,基于 Qt 和 Spyder。 pythonlibs:非官方的 Windows 平臺(tái) Python 擴(kuò)展二進(jìn)制包。 PythonNet:Python 與 .NET 公共語(yǔ)言運(yùn)行庫(kù) (CLR)的集成。 PyWin32:針對(duì) Windows 的 Python 擴(kuò)展。 WinPython:Windows 7/8 系統(tǒng)下便攜式開(kāi)發(fā)環(huán)境。
網(wǎng)絡(luò)可視化和 SDN
用來(lái)進(jìn)行網(wǎng)絡(luò)可視化和 SDN(軟件定義網(wǎng)絡(luò))的工具和庫(kù)。
Mininet:一款流行的網(wǎng)絡(luò)模擬器以及用 Python 編寫(xiě)的 API。 POX:一個(gè)針對(duì)基于 Python 的軟件定義網(wǎng)絡(luò)應(yīng)用(例如 OpenFlow SDN 控制器)的開(kāi)源開(kāi)發(fā)平臺(tái)。 Pyretic:火熱的 SDN 編程語(yǔ)言中的一員,為網(wǎng)絡(luò)交換機(jī)和模擬器提供強(qiáng)大的抽象能力。 SDX Platform:基于 SDN 的 IXP 實(shí)現(xiàn),影響了 Mininet, POX 和 Pyretic。 NRU:一個(gè)基于組件的軟件定義網(wǎng)絡(luò)框架。 napalm:可跨供應(yīng)商 API 來(lái)操縱網(wǎng)絡(luò)設(shè)備。
硬件
用來(lái)對(duì)硬件進(jìn)行編程的庫(kù)。
ino:操作 Arduino 的命令行工具。 Pyro:Python 機(jī)器人編程庫(kù)。 PyUserInput:跨平臺(tái)的,控制鼠標(biāo)和鍵盤(pán)的模塊。 scapy:一個(gè)非常棒的操作數(shù)據(jù)包的庫(kù)。 wifi:一個(gè) Python 庫(kù)和命令行工具用來(lái)在 Linux 平臺(tái)上操作 WiFi。 Pingo:Pingo 為類似 Raspberry Pi,pcDuino, Intel Galileo 等設(shè)備提供統(tǒng)一的 API 用以編程。 keyboard:在 Windows 和 Linux 上掛鉤并模擬全局鍵盤(pán)事件。 mouse:在 Windows 和 Linux 上掛鉤并模擬全局鼠標(biāo)事件。
兼容性
幫助從 Python 2 向 Python 3 遷移的庫(kù)。
Python-Future:這就是 Python 2 和 Python 3 之間丟失的那個(gè)兼容性層。 Six:Python 2 和 3 的兼容性工具。 modernize:使 Python 代碼更加現(xiàn)代化以便最終遷移到 Python 3。
算法和設(shè)計(jì)模式
數(shù)據(jù)結(jié)構(gòu)、算法和設(shè)計(jì)模式的 Python 實(shí)現(xiàn)。也可以參考 awesome-algorithms 。
算法
algorithms:數(shù)據(jù)結(jié)構(gòu)和算法的簡(jiǎn)單示例。 python-ds:用于面試的數(shù)據(jù)結(jié)構(gòu)和算法的集合。 sortedcontainers:排序集合的快速的純 Python 實(shí)現(xiàn)。 TheAlgorithms:所有算法的 Python 實(shí)現(xiàn)。 設(shè)計(jì)模式
PyPattyrn:一個(gè)簡(jiǎn)單而有效的庫(kù),用于實(shí)現(xiàn)常見(jiàn)的設(shè)計(jì)模式。 python-patterns:一個(gè) Python 設(shè)計(jì)模式集合。 transitions:輕量級(jí)的,面向?qū)ο蟮挠邢逘顟B(tài)機(jī)實(shí)現(xiàn)。
內(nèi)置類的增強(qiáng)版實(shí)現(xiàn)
一些 Python 內(nèi)置類的增強(qiáng)版實(shí)現(xiàn)庫(kù)。
attrs:一個(gè)在類定義時(shí)可替換 __init__,__eq__,__repr__等方法的樣板。bidict:高效的 Pythonic 的雙向映射數(shù)據(jù)結(jié)構(gòu)和相關(guān)功能。 Box:具有高級(jí)點(diǎn)符號(hào)訪問(wèn)權(quán)限的 Python 字典。 dataclasses:(Python 標(biāo)準(zhǔn)庫(kù)) 數(shù)據(jù)類。 DottedDict:提供一種使用點(diǎn)路徑符號(hào)訪問(wèn)列表和字典的方法的庫(kù)。
機(jī)器人
機(jī)器人相關(guān)庫(kù)。
PythonRobotics:各種具有可視化效果的機(jī)器人算法的匯總。 rospy:ROS (Robot Operating System) 庫(kù)。
聊天工具
聊天機(jī)器人開(kāi)發(fā)相關(guān)的庫(kù)。
errbot:實(shí)現(xiàn) ChatOps 的最簡(jiǎn)單最受歡迎的聊天機(jī)器人。
編輯器插件和 IDE
Emacs elpy:Emacs Python 開(kāi)發(fā)環(huán)境。 Sublime Text anaconda:Anaconda 可將功能齊全的 Python 開(kāi)發(fā) IDE 轉(zhuǎn)換為 Sublime Text 3。 SublimeJEDI:一個(gè)很棒的自動(dòng)補(bǔ)全庫(kù) Jedi 的Sublime Text 插件。 Vim jedi-vim:用于 Python 的 Jedi 自動(dòng)補(bǔ)全庫(kù)的 Vim 綁定。 python-mode:一個(gè)將Vim轉(zhuǎn)換為Python IDE的多合一插件。 YouCompleteMe:包含 Jedi 補(bǔ)全的 Python 引擎。 Visual Studio PTVS:Visual Studio Python 工具。 Visual Studio Code Python:對(duì) Python 有豐富支持的官方 VSCode 擴(kuò)展。 IDE PyCharm:JetBrains 提供的商業(yè) Python IDE,也有免費(fèi)的社區(qū)版。 spyder:開(kāi)源 Python IDE。
企業(yè)級(jí)應(yīng)用集成
企業(yè)級(jí)環(huán)境中用于集成的平臺(tái)與工具。
Zato:ESB, SOA, REST, APIs 以及云的 Python 整合。
GraphQL
GraphQL 相關(guān)庫(kù)。
graphene:Python GraphQL 框架。 tartiflette-aiohttp:Tartiflette 的基于 aiohttp 的裝飾器,用于通過(guò) HTTP 公開(kāi) GraphQL API。 tartiflette-asgi:Tartiflette GraphQL 引擎的 ASGI 支持。 tartiflette:支持 Python 3.6+ 和 asyncio 的 SDL 優(yōu)先的 GraphQL 引擎實(shí)現(xiàn)。
雜項(xiàng)
不屬于上面任何一個(gè)類別,但是非常有用的庫(kù)。
blinker:快速的 Python 運(yùn)行時(shí)信號(hào)/事件分配系統(tǒng)。 boltons:一組純 Python 實(shí)用工具。 itsdangerous:將受信任的數(shù)據(jù)傳遞到不受信任的環(huán)境的幫助工具。 magenta:使用人工智能生成音樂(lè)與藝術(shù)的工具。 pluginbase:一個(gè)簡(jiǎn)單但靈活的Python插件系統(tǒng)。 tryton:一個(gè)通用業(yè)務(wù)框架。
· 推薦閱讀 ·
利用Python開(kāi)發(fā)七普數(shù)據(jù)在線可視化看板
100行Python代碼輕松開(kāi)發(fā)個(gè)人博客
