新聞中心
awesome-python 是 vinta 發(fā)起維護的 Python 資源列表,內(nèi)容包括:Web 框架、網(wǎng)絡(luò)爬蟲、網(wǎng)絡(luò)內(nèi)容提取、模板引擎、數(shù)據(jù)庫、數(shù)據(jù)可視化、圖片處理、文本處理、自然語言處理、機器學(xué)習(xí)、日志、代碼分析等。

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


咨詢
建站咨詢
