Python按照24個實用大方向精選的上千種工具庫匯總整理
Python 生態(tài),向來以各種類庫齊全而聞名,這也是這門語言如此受歡迎的重要原因。今天就給大家分享一下這幾天的戰(zhàn)果,宵衣旰食,不眠不休的整理了近千個 Python 庫。
本文整理了Python生態(tài)中近千個庫,涵蓋數(shù)據(jù)處理、圖像處理、網(wǎng)絡(luò)開發(fā)、Web框架、人工智能、科學(xué)計算、GUI工具、測試框架、環(huán)境管理等多個領(lǐng)域,列舉了如difflib、requests、Django、TensorFlow等代表性工具,展示Python在各場景下的強大功能與靈活性

1、數(shù)據(jù)處理
文本處理
chardet:字符編碼檢測器,該庫可以檢測文本、網(wǎng)頁、xml等多種文件格式的編碼
difflib:文本差異比較
ftfy:使程序更加完美的支持 Unicode 編碼
fuzzywuzzy:可以進行字符串的模糊匹配
Levenshtein:計算各種距離以及字符串相似度
pangu.py:調(diào)整中日韓文字當(dāng)中的字母、數(shù)字間距
pypinyin:漢字拼音轉(zhuǎn)換工具
shortuuid:用來生成 UUID
simplejson:JSON 編碼、解碼器
unidecode:Unicode 格式操作
uniout:打印字符,不進行轉(zhuǎn)義
xpinyin:把漢字轉(zhuǎn)換為拼音
yfiglet-figlet:pyfiglet -figlet 的 Python 實現(xiàn)
flashtext: 用于文本查找替換
esmre:加速正則表達式
awesome slugify:用于處理 Unicode
python-slugify:把 unicode 轉(zhuǎn)化為 ASCII
unicode-slugify:可以生成 unicode slugs,依賴與 Django
phonenumbers:用于解析、格式化、儲存和驗證電話號碼
PLY:lex 和 yacc 解析工具
Pygments:語法高亮工具
pyparsing:可以生成通用解析器
python-nameparser:把人名分解為幾個獨立的部分
python-user-agents:瀏覽器 user agent 解析器
sqlparse:SQL 解析器
特殊文本處理
tablib:用來處理表格數(shù)據(jù)
Marmir:把 Python 數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為電子表單
openpyxl:用來讀寫 Excel 文件的庫
pyexcel:一個提供統(tǒng)一 API,用來操作 Excel 文件的庫
python-docx:操作 Word 文件
relatorio:模板化 OpenDocument 文件
unoconv:轉(zhuǎn)換 LibreOffice/OpenOffice 文件格式
XlsxWriter:用于創(chuàng)建 Excel.xlsx 文件
xlwings:一個在 Excel 中調(diào)用 Python 的庫
xlwt/xlrd:讀寫 Excel 文件的數(shù)據(jù)
PDFMiner:一個用于從 PDF 文檔中抽取信息的庫
PyPDF2:一個可以進行多種操作 PDF 頁面的庫
ReportLab:可以創(chuàng)建富文本 PDF 文檔
Mistune:Markdown 解析器
Python-Markdown:有一個 Markdown 解析器
Python-Markdown2:純 Python 實現(xiàn)的 Markdown 解析器,比 Python-Markdown 更快,更準確,可擴展
PyYAML:YAML 解析器
csvkit:操作 CSV 的工具
unp:一個用來解包歸檔文件的命令行工具
HTML/XML 解析
BeautifulSoup:解析 HTML 或 XML 格式數(shù)據(jù)
bleach:基于白名單的 HTML 清理和文本鏈接庫
cssutils:CSS 庫
html5lib:HTML 文檔和片段解析及序列化庫
lxml:一個用來處理 HTML 和 XML 的庫
MarkupSafe:XML/HTML/XHTML 標記安全字符串
pyquery:一個解析 HTML 的庫,類似 jQuery
requests-html:人性化的 HTML 解析庫
untangle:將 XML 文檔轉(zhuǎn)換為 Python 對象
xhtml2pdf:HTML/CSS 轉(zhuǎn) PDF 工具
xmltodict:像處理 JSON 一樣處理 XML
htmlparser,官方版解析 HTML DOM 樹
文件處理
aiofiles:基于 asyncio 的文件異步操作庫
imghdr:檢測圖片類型
mimetypes:將文件名映射為 MIME 類型
path.py:更方便的路徑操作的模塊
pathlib:跨平臺的、面向?qū)ο蟮穆窂讲僮鲙?/p>
python-magic:文件類型檢測
Unipath:用面向?qū)ο蟮姆绞讲僮魑募湍夸?/p>
pickle/cPickle:實現(xiàn)了基本的數(shù)據(jù)序列和反序列化
watchdog:管理文件系統(tǒng)事件的工具
配置文件處理
ConfigParser:ini 文件解析器
configobj:ini 文件解析器
profig:多格式配置轉(zhuǎn)換工具
config:分級配置模塊
python-decouple:將設(shè)置和代碼完全隔離
文檔相關(guān)
Sphinx:文檔生成器
mkdocs:Markdown 格式文檔生成器
pycco:簡單快速、編程風(fēng)格的文檔生成器
pdoc:從源碼注釋中生成各種格式文檔的工具
readthedocs:一個基于 Sphinx/MkDocs 的在線文檔托管系統(tǒng)
日志管理
logging:提供日志功能
logbook:Logging 庫的替代品
Eliot:為復(fù)雜的和分布式系統(tǒng)創(chuàng)建日志
Raven:Sentry 的 Python 客戶端
Sentry:實時記錄和收集日志的服務(wù)器
日期和時間
arrow:非常好的日期時間操作類庫
Chronyk:用于解析手寫格式的時間和日期
dateutil:datetime 模塊的擴展
delorean:解決 Python 中有關(guān)日期處理問題的庫
maya:人性化的時間處理庫
moment:用來處理時間和日期的 Python 庫
pendulum:一個比 arrow 更具有明確的、可預(yù)測行為的時間操作庫
PyTime:用于通過字符串來操作日期/時間
pytz:現(xiàn)代以及歷史版本的世界時區(qū)定義
when.py:進行常用的日期和時間操作
2、圖像處理
圖像處理
pillow:是一個更加易用的圖片操作庫
hmap:圖像直方圖映射
imgSeek:使用視覺相似性搜索一組圖片集合工具
nude.py:裸體檢測
pyBarcode:在 Python 程序中生成條形碼
pygram:類似 Instagram 的圖像濾鏡
python-qrcode:一個二維碼生成器
Quads:基于四叉樹的計算機藝術(shù)
scikit-image:一個用于圖像處理的庫
thumbor:一個小型圖像服務(wù)
wand:MagickWand的 Python 版本
face_recognition:簡單易用的人臉識別庫
OCR
pyocr:Tesseract 和 Cuneiform 的一個封裝
pytesseract:Google Tesseract OCR 的另一個封裝
python-tesseract:Google Tesseract OCR 的一個包裝類
3、網(wǎng)絡(luò)相關(guān)
下載
s3cmd:用來管理 Amazon S3 和 CloudFront 的命令行工具
s4cmd:S3 命令行工具
you-get:YouTube/Youku/Niconico 視頻下載器
youtube-dl:用來下載 YouTube 視頻的工具
Coursera:可以從 http://coursera.org 下載視頻
subliminal:搜索和下載字幕的庫
HTTP
aiohttp:基于 asyncio 的異步 HTTP 庫
requests:最為流行的 HTTP 請求庫
grequests:requests 庫 + gevent 實現(xiàn)異步 HTTP 請求
httplib2:HTTP 客戶端庫
treq:類似 requests 的 HTTP 客戶端
urllib3:一個具有線程安全的 HTTP 庫
網(wǎng)絡(luò)可視化
Mininet:一款流行的網(wǎng)絡(luò)模擬器
POX:一個針對基于 Python 的軟件定義網(wǎng)絡(luò)應(yīng)用
Pyretic:為網(wǎng)絡(luò)交換機和模擬器提供強大的抽象能力
SDX Platform:基于 SDN 的 IXP 實現(xiàn)
NRU:一個基于組件的軟件定義網(wǎng)絡(luò)框架
URL 處理
furl:更加簡單的處理 URL 庫
purl:一個簡單的、不可變的 URL 類
pyshorteners:一個純 Python URL 縮短庫
shorturl:生成短小 URL 的庫
網(wǎng)絡(luò)爬蟲
Scrapy:一個快速高級的網(wǎng)絡(luò)采集框架
cola:一個分布式爬蟲框架
Demiurge:基于 PyQuery 的爬蟲框架
feedparser:feed 解析器
Grab:站點爬取框架
MechanicalSoup:用于自動和網(wǎng)絡(luò)站點交互的庫
portia:Scrapy 可視化爬蟲
pyspider:一個強大的爬蟲工具
RoboBrowser:一個簡單的網(wǎng)站瀏覽工具
網(wǎng)頁內(nèi)容提取
Haul:一個可擴展的圖像爬取工具
html2text:將 HTML 轉(zhuǎn)換為 Markdown 格式
lassie:網(wǎng)頁內(nèi)容檢索庫
micawber:網(wǎng)頁內(nèi)容提取庫,用來從 URLs 提取富內(nèi)容
newspaper:進行新聞提取,文章提取以及內(nèi)容策展
opengraph:用來解析開放內(nèi)容協(xié)議的模塊
python-goose:HTML 內(nèi)容/文章提取器
python-readability:readability 工具的 Python 接口
sanitize:雜亂數(shù)據(jù)調(diào)整
sumy:為文本文件和 HTML 頁面進行自動摘要的模塊
textract:從任何格式的文檔中提取文本
mechanize:網(wǎng)頁瀏覽工具
WebSocket
AutobahnPython:WebSocket & WAMP 工具
Crossbar:開源統(tǒng)一應(yīng)用路由
django-socketio:給 Django 用的 WebSockets 工具
WebSocket-for-Python:WebSocket 客戶端和服務(wù)器庫
RPC
SimpleJSONRPCServer:是 JSON-RPC 規(guī)范的一個實現(xiàn)
SimpleXMLRPCServer:簡單的 XML-RPC 服務(wù)器實現(xiàn)
zeroRPC:是一個的 RPC 實現(xiàn)
4、Web 框架
全??蚣?/h3>
Django:Python 界最流行的 web 框架
Flask:一個微型 Web 框架
pyramid:一個小巧快速的開源 Web 框架
Bottle:一個快速小巧,輕量級的 WSGI 微型 Web 框架
CherryPy:一個極簡 的Web 框架
TurboGears:一個可以擴展為全棧解決方案的微型框架
web.py:一個簡單,又強大 Web 框架
web2py:一個全棧 Web 框架
Tornado:一個 Web 框架和異步網(wǎng)絡(luò)庫
sanic:異步網(wǎng)絡(luò)框架
Karrigell:簡單的 Web 框架
PyDBLitewebpy:一個小巧靈活的 Web 框架
Quixote:一個 Web 開發(fā)框架
Grok:基于 Zope3 的 Web 框架
Bluebream:開源的 Web 應(yīng)用服務(wù)器
guava:輕量級高性能的 Web 框架
Django:Python 界最流行的 web 框架
Flask:一個微型 Web 框架
pyramid:一個小巧快速的開源 Web 框架
Bottle:一個快速小巧,輕量級的 WSGI 微型 Web 框架
CherryPy:一個極簡 的Web 框架
TurboGears:一個可以擴展為全棧解決方案的微型框架
web.py:一個簡單,又強大 Web 框架
web2py:一個全棧 Web 框架
Tornado:一個 Web 框架和異步網(wǎng)絡(luò)庫
sanic:異步網(wǎng)絡(luò)框架
Karrigell:簡單的 Web 框架
PyDBLitewebpy:一個小巧靈活的 Web 框架
Quixote:一個 Web 開發(fā)框架
Grok:基于 Zope3 的 Web 框架
Bluebream:開源的 Web 應(yīng)用服務(wù)器
guava:輕量級高性能的 Web 框架
CMS
odoo-cms: 開源的企業(yè)級 CMS
django-cms:開源的企業(yè)級 CMS
djedi-cms:輕量級但卻非常強大的 Django CMS
FeinCMS:基于 Django 構(gòu)建的先進的內(nèi)容管理系統(tǒng)
Kotti:一個高級的 web 應(yīng)用框架
Mezzanine:一個強大的靈活的內(nèi)容管理平臺
Opps:一個為雜志報紙網(wǎng)站設(shè)計的 CMS 平臺
Plone:一個構(gòu)建于開源應(yīng)用服務(wù)器 Zope 之上的 CMS
Quokka:靈活可擴展的小型 CMS
Wagtail:一個 Django 內(nèi)容管理系統(tǒng)
Widgy:最新的 CMS 框架,基于 Django
Web 權(quán)限/安全
Carteblanche:代碼對齊模塊,很好地處理了代碼導(dǎo)航及權(quán)限
django-guardian:單個對象權(quán)限
django-rules:一個小巧但是強大的應(yīng)用,提供對象級別的權(quán)限管理
Flask-OAuthlib:Flask的OAuth工具包
django-oauth-toolkit:為 Django 用戶準備的 OAuth2
django-allauth:Django 的驗證模塊
Authomatic:簡單但是強大的框架,身份驗證/授權(quán)客戶端
商務(wù)框架
django-oscar:一個用于 Django 的電子商務(wù)框架
django-shop:基于 Django 的店鋪系統(tǒng)
Cartridge:基于 Mezzanine 構(gòu)建的購物車應(yīng)用
shoop:基于 Django 的電子商務(wù)平臺
alipay:支付寶 API
merchant:可以接收來自多種支付平臺支付的 Django 應(yīng)用
money:貨幣類庫
python-currencies:顯示貨幣格式以及它的數(shù)值
Restful API
django-rest-framework:一個基于 Django 的工具,用來構(gòu)建 Web API
django-tastypie:為 Django 應(yīng)用開發(fā) API 工具
django-formapi:Django 的表單驗證工具
flask-api:為 flask 開發(fā)的 API 工具
flask-restful:為 flask 快速創(chuàng)建 REST APIs 的工具
flask-restless:為 SQLAlchemy 數(shù)據(jù)庫模型而開發(fā)的 RESTful APIs
flask-api-utils:為 Flask 處理 API 表示和驗證
eve:由 Flask, MongoDB 等驅(qū)動 的 REST API 框架
cornice:一個 Pyramid 的 REST 框架
falcon:用來建立云 API 和 Web app 后端的高性能框架
sandman:為數(shù)據(jù)庫驅(qū)動系統(tǒng)自動創(chuàng)建 REST APIs
restless:框架無關(guān)的 REST 框架
ripozo:快速創(chuàng)建 REST APIs 工具
模板引擎
Jinja2:一個現(xiàn)代的友好的模板引擎
Chameleon:一個 HTML/XML 模板引擎
Genshi:用以生成 Web 感知的結(jié)果
Mako:超高速輕量級模板
隊列
celery:一個異步任務(wù)隊列/作業(yè)隊列
huey:小型多線程任務(wù)隊列
mrq:分布式 worker 任務(wù)隊列,使用 Redis 和 gevent
rq:簡單的作業(yè)隊列工具
simpleq:一個簡單的基于亞馬遜 SQS 的隊列
搜索
django-haystack:Django 模塊化搜索工具
elasticsearch-py:Elasticsearch 的官方底層 Python 客戶端
elasticsearch-dsl-py:Elasticsearch 的官方高級 Python 客戶端
solrpy:solr 的 Python 客戶端
Whoosh:一個快速的純 Python 開發(fā)的搜索引擎
動態(tài)消息
django-activity-stream:從站點行為中生成通用活動信息流
Stream-Framework:使用 Cassandra 和 Redis 創(chuàng)建動態(tài)消息和通知系統(tǒng)
資源管理
django-compressor:將鏈接和內(nèi)聯(lián)的 JavaScript 或 CSS 壓縮到一個單獨的緩存文件中
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:用來編譯和壓縮資源
webassets:為靜態(tài)資源打包、優(yōu)化和管理,生成獨一無二的緩存 URL
緩存
Beaker:緩存會話的庫
django-cache-machine:自動緩存和失效工具
django-cacheops:具有自動顆粒化事件驅(qū)動失效功能的 ORM
django-viewlet:渲染模板和額外的緩存控制功能
dogpile.cache:是 Beaker 的下一代替代品
HermesCache:緩存庫,具有基于標簽的失效和 dogpile effect 保護功能
johnny-cache:django 應(yīng)用緩存框架
pylibmc:libmemcached 接口封裝
表單
Deform:HTML 表單生成庫
django-bootstrap3:集成了 Bootstrap3 的 Django
django-crispy-forms:可以以一種非常優(yōu)雅且 DRY(Don’t repeat yourself) 的方式來創(chuàng)建美觀的表單
django-remote-forms:一個平臺獨立的 Django 表單序列化工具
WTForms:一個靈活的表單驗證和呈現(xiàn)庫
WTForms-JSON:WTForms 擴展,用來處理 JSON 數(shù)據(jù)
數(shù)據(jù)驗證
Cerberus:映射驗證器
colander:用于對從 XML, JSON,HTML 表單獲取數(shù)據(jù)并序列化數(shù)據(jù)進行驗證和反序列化的系統(tǒng)
kmatch:一種用于匹配/驗證/篩選字典的工具
schema:用于對 Python 數(shù)據(jù)結(jié)構(gòu)進行驗證的庫
Schematics:用于數(shù)據(jù)結(jié)構(gòu)驗證
valideer:輕量級數(shù)據(jù)驗證和適配庫
voluptuous:數(shù)據(jù)驗證庫,主要是為了驗證傳入 Python 的 JSON,YAML 等數(shù)據(jù)
電子郵件
django-celery-ses:帶有 AWS SES 和 Celery 的 email 后端
envelopes:人性化的電子郵件庫
flanker:一個 email 地址和 Mime 解析庫
imbox:IMAP 庫
inbox.py:SMTP 服務(wù)器
inbox:開源電子郵件工具箱
lamson:Python 風(fēng)格的 SMTP 應(yīng)用服務(wù)器
mailjet:提供批量發(fā)送郵件,統(tǒng)計等功能
marrow.mailer:高性能可擴展郵件分發(fā)框架
modoboa:郵件托管和管理平臺
pyzmail:創(chuàng)建、發(fā)送和解析電子郵件
Talon:用來抽取信息和簽名
django-simple-captcha:一個簡單、高度可定制的 Django 應(yīng)用
django-simple-spam-blocker:一個用于 Django 的簡單的電子垃圾屏蔽工具
URL
webargs:解析 HTTP 請求參數(shù)的庫
short_url:短網(wǎng)址生成
國際化
Babel:一個 Python 的國際化庫
Korean:一個韓語詞態(tài)庫
管理面板
Ajenti:一個值得擁有的管理面板
django-suit:Django 管理界面的一個替代品
django-xadmin:Django admin 的一個替代品
flask-admin:一個用于 Flask 的簡單可擴展的管理界面框架
flower:一個對 Celery 集群進行實時監(jiān)控和提供 Web 管理界面的工具
Grappelli:Django 管理界面的一個漂亮的皮膚
Wooey:可以為 Python 腳本創(chuàng)建 Web 用戶界面
靜態(tài)站點生成
Pelican:通過 Markdown 或 ReST 來處理內(nèi)容,使用 Jinja2 來制作主題
Cactus:為專業(yè)設(shè)計師設(shè)計的靜態(tài)站點生成器
Hyde:基于 Jinja2 的靜態(tài)站點生成器
Nikola:靜態(tài)網(wǎng)站和博客生成器
Tinkerer:一個博客引擎/靜態(tài)站點生成器
Lektor:一個簡單易用的靜態(tài) CMS 和博客引擎
Tags:最簡單的靜態(tài)網(wǎng)站生成器
WSGI 服務(wù)器
gunicorn:部分是由 C 語言編寫而成的 WSGI 工具
uwsgi:用來建立托管服務(wù)
bjoern:異步速度非???/p>
fapws3:異步,由 C 語言編寫
meinheld:異步服務(wù)器
netius:異步,非??焖?/p>
paste:多線程,穩(wěn)定,久經(jīng)考驗
rocket:多線程
waitress:多線程
Werkzeug:一個 WSGI 工具庫
ORM
Django Models:Django 的重要組成
SQLAlchemy:SQL 工具以及對象關(guān)系映射工具
Peewee:一個小巧的 ORM
PonyORM:提供面向生成器的 SQL ORM
python-sql:Python 風(fēng)格的 SQL 查詢
django-mongodb-engine:Django MongoDB 后端
PynamoDB:Amazon DynamoDB 的后端
flywheel:Amazon DynamoDB 的對象映射工具
MongoEngine:用于 MongoDB 對象文檔映射工具
hot-redis:為 Redis 提供的后端
redisco:提供可以持續(xù)存在在 Redis 中的簡單模型和容器
butterdb:Google Drive 電子表格的 Python ORM
5、地理位置
GeoDjango:世界級地理圖形 Web 框架
GeoIP:MaxMind GeoIP Legacy 數(shù)據(jù)庫的 API
geojson:GeoJSON 的 Python 工具
geopy:地址編碼工具箱
pygeoip:純 Python GeoIP API
django-countries:提供用于表格的國家選擇功能,國旗圖標靜態(tài)文件以及模型中的國家字段
6、系統(tǒng)
進程
envoy:比 subprocess 模塊更人性化的模塊
sarge:另一 種 subprocess 模塊的封裝
sh: subprocess 替代庫
subprocess:調(diào)用 shell 命令的神器
并發(fā)/并行
multiprocessing:基于進程的“線程”接口
threading:更高層的線程接口
eventlet:支持 WSGI 的異步框架
gevent:基于協(xié)程的 Python 網(wǎng)絡(luò)庫
Tomorrow:用于產(chǎn)生異步代碼的庫
uvloop:在 libuv 之上超快速實現(xiàn) asyncio 事件循環(huán)的庫
7、數(shù)據(jù)庫相關(guān)
Python 實現(xiàn)的數(shù)據(jù)庫
pickleDB:簡單輕量級鍵值儲存數(shù)據(jù)庫
PipelineDB:流式 SQL 數(shù)據(jù)庫
TinyDB:微型的面向文檔型數(shù)據(jù)庫
ZODB:鍵值和對象圖數(shù)據(jù)庫
數(shù)據(jù)庫驅(qū)動
aiomysql:基于 asyncio 的異步 MySQL 數(shù)據(jù)庫操作庫
mysql-python:MySQL 數(shù)據(jù)庫連接器
mysqlclient:mysql-python 分支
oursql:一個更好的 MySQL 連接器
PyMySQL:純 Python MySQL 驅(qū)動
psycopg2:最流行的 PostgreSQL 適配器
queries:psycopg2 庫的封裝
txpostgres:基于 Twisted 的異步 PostgreSQL 驅(qū)動
apsw:SQLite 封裝
dataset:在數(shù)據(jù)庫中存儲 Python 字典
pymssql:一個簡單的 Microsoft SQL Server 數(shù)據(jù)庫接口
cassandra-python-driver:Cassandra 的 Python 驅(qū)動
HappyBase:為 Apache HBase 設(shè)計的庫
Plyvel:一個快速且功能豐富的 LevelDB 的接口庫
py2neo:Neo4j restful 接口的封裝客戶端
pycassa:Cassandra 的 Python Thrift 驅(qū)動
PyMongo:MongoDB 的官方 Python 客戶端
redis-py:Redis 的 Python 客戶端
telephus:基于 Twisted 的 Cassandra 客戶端
txRedis:基于 Twisted 的 Redis 客戶端
8、安全
OAuth
OAuthLib:一個 OAuth 請求-簽名庫
python-oauth2:完全測試的抽象接口
python-social-auth:設(shè)置簡單的社會化驗證方式
rauth:OAuth 1.0/a, 2.0, 和 Ofly 的 Python 庫
sanction:超級簡單的 OAuth2 客戶端實現(xiàn)
密碼
cryptography:提供密碼學(xué)基本內(nèi)容和方法
hashids:在 Python 中實現(xiàn) hashids
Paramiko:提供 ssh 客戶端和服務(wù)端的功能
Passlib:安全密碼存儲/哈希庫
PyCrypto:密碼學(xué)工具箱
PyNacl:網(wǎng)絡(luò)和密碼學(xué)庫
其他
jose:JavaScript 對象簽名和加密草案的實現(xiàn)
PyJWT:JSON Web 令牌
python-jws:JSON Web 簽名
python-jwt:用來生成和驗證 JSON Web 令牌的模塊
Permissions:允許或拒絕用戶訪問數(shù)據(jù)或函數(shù)
9、人工智能
自然語言處理
NLTK:先進的用以構(gòu)建處理人類語言數(shù)據(jù)的程序
jieba:中文分詞工具
langid.py:獨立的語言識別系統(tǒng)
SnowNLP:用來處理中文文本的庫
TextBlob:自然語言處理工具
TextGrocery:簡單高效的短文本分類工具
thulac:清華大學(xué)自然語言處理與社會人文計算實驗室研制推出的一套中文詞法分析工具包
loso:中文分詞函數(shù)庫
計算機視覺
OpenCV:開源計算機視覺庫
pyocr:Tesseract 和 Cuneiform 的封裝庫
pytesseract:Google Tesseract OCR 的封裝庫
SimpleCV:用來創(chuàng)建計算機視覺應(yīng)用的開源框架
機器學(xué)習(xí)/深度學(xué)習(xí)
Caffe: Caffe 的 Python 接口
Caffe2:一個輕量級的、模塊化的,可擴展的深度學(xué)習(xí)框架
Crab:靈活、快速的推薦引擎
gensim:人性化的話題建模庫
hebel:深度學(xué)習(xí)庫
keras: 神經(jīng)網(wǎng)絡(luò)
MXNet:高效靈活的深度學(xué)習(xí)框架
NuPIC:智能計算 Numenta 平臺
pattern:網(wǎng)絡(luò)挖掘模塊
PyBrain:機器學(xué)習(xí)庫
pydeep:深度學(xué)習(xí)庫
Pylearn2:基于 Theano 的機器學(xué)習(xí)庫
python-recsys:用來實現(xiàn)推薦系統(tǒng)的庫
Pytorch:具有張量和動態(tài)神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)框架
scikit-learn:基于 SciPy 構(gòu)建的機器學(xué)習(xí)模塊
skflow:一個 TensorFlow 的簡化接口
TensorFlow:谷歌開源的最受歡迎的深度學(xué)習(xí)框架
Theano:快速數(shù)值計算庫
vowpalporpoise:輕量級 Vowpal Wabbit 的封裝
Milk:機器學(xué)習(xí)工具箱
PyMVPA(Multivariate Pattern Analysis in Python):為大數(shù)據(jù)集提供統(tǒng)計學(xué)習(xí)分析的 Python 工具包,它提供了一個靈活可擴展的框架
10、科學(xué)計算與數(shù)據(jù)分析
數(shù)據(jù)處理
astropy:天文學(xué)相關(guān)的庫
bcbio-nextgen:為全自動高通量測序分析提供符合最佳實踐的處理流程
bccb:生物分析
Biopython:是一組可以免費使用的用來進行生物計算的工具
blaze:NumPy 和 Pandas 的大數(shù)據(jù)接口
cclib:用來解析和解釋計算化學(xué)軟件包輸出結(jié)果的庫
NetworkX:為復(fù)雜網(wǎng)絡(luò)設(shè)計的高性能工具
Neupy:執(zhí)行和測試各種不同的人工神經(jīng)網(wǎng)絡(luò)算法
Numba:針對數(shù)據(jù)科學(xué)用的 Python
NumPy:進行科學(xué)計算的基礎(chǔ)包
Open Babel:用來描述多種化學(xué)數(shù)據(jù)
Open Mining:使用 Python 挖掘商業(yè)情報
orange:進行數(shù)據(jù)挖掘,數(shù)據(jù)可視化,分析和機器學(xué)習(xí)
Pandas:數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具
PyDy:用來為動力學(xué)運動建模工作流程提供幫助
PyMC:馬爾科夫鏈蒙特卡洛采樣工具
RDKit:化學(xué)信息學(xué)和機器學(xué)習(xí)軟件
SciPy:用于數(shù)學(xué),科學(xué)和工程的開源軟件
statsmodels:統(tǒng)計建模和計量經(jīng)濟學(xué)
SymPy:用于符號數(shù)學(xué)的庫
zipline:算法交易庫
Bayesian-belief-networks:優(yōu)雅的貝葉斯信念網(wǎng)絡(luò)框架
ScientificPython:用于科學(xué)計算
visvis:可視化計算模塊庫
數(shù)據(jù)可視化
matplotlib:最流行的 Python 繪圖庫
bokeh:進行交互式 Web 繪圖
ggplot:ggplot2 的 Python 版本
plotly:基于 matplotlib 工作的 Web 繪圖庫
pyecharts:基于百度 Echarts 的數(shù)據(jù)可視化庫
pygal:SVG 圖表創(chuàng)建工具
pygraphviz:Graphviz 的 Python 實現(xiàn)
PyQtGraph:交互式實時圖像繪制組件
SnakeViz:基于瀏覽器的模塊輸出結(jié)果查看工具
vincent:把 Python 轉(zhuǎn)換為 Vega 語法的轉(zhuǎn)換工具
VisPy:基于 OpenGL 的高性能科學(xué)可視化工具
11、GUI 與游戲開發(fā)
GUI
curses:內(nèi)建的 ncurses 封裝,用來創(chuàng)建終端圖形用戶界面
enaml:創(chuàng)建美觀的用戶界面
kivy:用來創(chuàng)建用戶交互應(yīng)用程序的庫
pyglet:跨平臺窗口及多媒體庫
PyQt:跨平臺用戶界面框架
PySide:跨平臺用戶界面框架 Qt
Tkinter:GUI 標準庫
Toga:操作系統(tǒng)原生的 GUI 工具包
urwid:用來創(chuàng)建終端 GUI 應(yīng)用的庫
wxPython:是 wxWidgets C++ 類庫和 Python 語言混合的產(chǎn)物
PyGObject:GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 實現(xiàn)
Flexx:創(chuàng)建 GUI 程序的工具集,它使用 web 技術(shù)進行界面的展示
PyGtk:GUI 程序開發(fā)庫
turtle:Python 的畫圖工具
游戲開發(fā)
Cocos2d:用來開發(fā) 2D 游戲的工具
Panda3D:3D 游戲引擎
Pygame:最為流行的編寫游戲的模塊
PyOgre:用來開發(fā)游戲和仿真程序
PyOpenGL:OpenGL 的 Python 綁定及其相關(guān) APIs
PySDL2:SDL2 庫的封裝
RenPy:一個視覺小說引擎
PySFML:視覺小說引擎
12、音視頻
音頻
audiolazy:數(shù)字信號處理包
audioread:交叉庫音頻解碼
beets:音樂庫管理工具
dejavu:音頻指紋提取和識別
django-elastic-transcoder:Django + Amazon Elastic Transcoder
eyeD3:用來操作音頻文件的工具
id3reader:用來讀取 MP3 元數(shù)據(jù)
m3u8:用來解析 m3u8 文件的模塊
mutagen:用來處理音頻元數(shù)據(jù)
pydub:操作音頻文件
pyechonest:Echo Nest API 的 Python 客戶端
talkbox:用來處理演講/信號
TimeSide:開源的 Web 音頻處理框架
tinytag:用來讀取 MP3, OGG, FLAC 以及 Wave 文件音樂元數(shù)據(jù)的庫
mingus:高級音樂理論和曲譜包
視頻
moviepy:用來進行基于腳本的視頻編輯模塊
scikit-video:SciPy 視頻處理常用程序
shorten.tv:視頻摘要
13、測試相關(guān)
測試框架
unittest:單元測試框架
nose:擴展了 unittest 的功能
contexts:BDD 框架
hypothesis:基于先進的 Quickcheck 風(fēng)格特性的測試庫
mamba:Python 的終極測試工具
PyAutoGUI:PyAutoGUI 是一個人性化的跨平臺 GUI 自動測試模塊
pyshould:基于 PyHamcrest 的測試模塊
pytest:成熟的全功能測試工具
green:干凈多彩的測試工具
pyvows:BDD 風(fēng)格的測試工具
Robot Framework:通用的自動化測試框架
Web 測試
Selenium:Selenium WebDriver 的 Python 實現(xiàn)
locust:可擴展的用戶壓力測試工具
sixpack:和語言無關(guān)的 A/B 測試框架
splinter:開源的 Web 應(yīng)用測試工具
Mock 測試
mock:用于偽造測試數(shù)據(jù)的庫
doublex:功能強大的 doubles 測試框架
freezegun:日期偽造模塊
httmock:偽造請求的庫
httpretty:HTTP 請求 mock 工具
responses:偽造 requests 請求的庫
VCR.py:在測試中記錄和重放 HTTP 交互
對象工廠
factoryboy:測試固件替代庫
mixer:另外一個測試固件替代庫
modelmommy:為 Django 測試創(chuàng)建隨機固件
代碼覆蓋率
coverage:代碼覆蓋率測量
Codecov:代碼覆蓋率測試工具
偽數(shù)據(jù)
faker:用來生成偽數(shù)據(jù)
fake2db:偽數(shù)據(jù)庫生成器
radar:生成隨機的日期/時間
FuckIt.py:使用最先進的技術(shù)來保證 Python 代碼無論對錯都能繼續(xù)運行
14、代碼工具
代碼分析
coala:語言獨立和易于擴展的代碼分析應(yīng)用程序
code2flow:把 Python 和 JavaScript 代碼轉(zhuǎn)換為流程圖
pycallgraph:可以把 Python 應(yīng)用的流程(調(diào)用圖)進行可視化
pysonar2:類型推斷和檢索工具
Lint 工具
Flake8:模塊化源碼檢查工具
Pylint:完全可定制的源碼分析器
YAPF: Google 的 Python 代碼格式化工具
pylama:Python 和 JavaScript 的代碼審查工具
代碼格式化
autopep8:自動格式化 Python 代碼,以使其符合 PEP8 規(guī)范
black:一個堅定的 Python 代碼格式化工具
調(diào)試器
ipdb:在 IPython 中啟用的 pdb
pudb:基于控制臺的 Python 調(diào)試器
pyringe:可以在進程中附加和注入代碼的調(diào)試器
wdb:通過 WebSockets 工作的 Web 調(diào)試器
winpdb:具有圖形用戶界面的 Python 調(diào)試器
django-debug-toolbar:為 Django 顯示各種調(diào)試信息
django-devserver:一個 Django 運行服務(wù)器的替代品
flask-debugtoolbar:django-debug-toolbar 的 flask 版
性能分析
lineprofiler:逐行性能分析工具
Memory Profiler:監(jiān)控 Python 代碼的內(nèi)存使用情況
profiling:交互式 Python 性能分析工具
pyelftools:解析和分析 ELF 文件以及 DWARF 調(diào)試信息
python-statsd:statsd 服務(wù)器的 Python 客戶端
日志
logging:為 Python 提供日志功能
logbook:Logging 庫的替代品
Eliot:為復(fù)雜的和分布式系統(tǒng)創(chuàng)建日志
Raven:Sentry 的 Python 實現(xiàn)
Sentry:實時記錄和收集日志的服務(wù)器
持續(xù)集成
Travis CI:一個流行的持續(xù)集成工具
CircleCI:一個持續(xù)集成工具
Vexor CI:為私人 app 提供持續(xù)集成的工具
Wercker:基于 Docker 平臺,用來構(gòu)建和部署微服務(wù)
代碼質(zhì)量
Codacy:自動化代碼審查
QuantifiedCode:一個數(shù)據(jù)驅(qū)動、自動、持續(xù)的代碼審查工具
15、DevOps
Ansible:非常簡單的 IT 自動化平臺
SaltStack:基礎(chǔ)設(shè)施自動化和管理系統(tǒng)
OpenStack:用于構(gòu)建私有和公有云的開源軟件
Docker Compose:基于 Docker 的快速分離開發(fā)環(huán)境
Fabric:簡單的進行遠程執(zhí)行和部署的工具
cuisine:為 Fabric 提供一系列高級函數(shù)
Fabtools:用來編寫 Fabric 文件的工具
gitapi:Git 的純 Python API
hgapi:Mercurial 的純 Python API
honcho:用來管理基于 Procfile 的應(yīng)用
pexpect:在一個偽終端中控制交互程序
psutil:跨平臺進程和系統(tǒng)工具模塊
supervisor:UNIX 的進程控制系統(tǒng)
16、任務(wù)調(diào)度
APScheduler:輕巧但強大的進程內(nèi)任務(wù)調(diào)度工具
django-schedule:一個 Django 排程應(yīng)用
doit:任務(wù)執(zhí)行和構(gòu)建工具
gunnery:分布式系統(tǒng)使用的多用途任務(wù)執(zhí)行工具
Joblib:提供輕量級作業(yè)流水線的工具
Plan:更好的編寫 crontab 文件的工具
schedule:人性化的 Python 任務(wù)調(diào)度庫
Spiff:使用純 Python 實現(xiàn)的工作流引擎
TaskFlow:可以方便執(zhí)行任務(wù)的庫
AirFlow:是一個工作流分配管理系統(tǒng)
17、高性能
Cython:優(yōu)化的 Python 靜態(tài)編譯器
PeachPy:嵌入 Python 的 x86-64 匯編器
PyPy:使用 Python 實現(xiàn)的 Python 解釋器
Pyston:使用 LLVM 和現(xiàn)代 JIT 技術(shù)構(gòu)建的 Python 實現(xiàn)
Stackless Python:一個強化版的 Python
18、Windows 環(huán)境
Python(x,y):面向科學(xué)應(yīng)用的 Python 發(fā)行版
pythonlibs:非官方的 Windows 平臺 Python 擴展二進制包
PythonNet:Python 與 .NET 公共語言運行庫的集成環(huán)境
PyWin32:針對 Windows 的 Python 擴展
WinPython:Windows 7/8 系統(tǒng)下便攜式開發(fā)環(huán)境
19、硬件相關(guān)
ino:操作 Arduino 的命令行工具
Pyro:Python 機器人編程庫
PyUserInput:跨平臺的控制鼠標和鍵盤的模塊
scapy:操作數(shù)據(jù)包的庫
wifi:用來在 Linux 平臺上操作 WiFi
Pingo:為類似 Raspberry Pi,pcDuino, Intel Galileo 等設(shè)備提供統(tǒng)一的 API
20、環(huán)境與包管理
環(huán)境管理
p:非常簡單的交互式 Python 版本管理工具
pyenv:簡單的 Python 版本管理工具
Vex:可以在虛擬環(huán)境中執(zhí)行命令的工具
virtualenv:創(chuàng)建獨立 Python 環(huán)境的工具
virtualenvwrapper:virtualenv 的一組擴展
pew:一套管理多個虛擬環(huán)境的工具
PyRun:無需安裝的Python版本管理工具
包管理
pip:包和依賴關(guān)系管理工具
pip-tools:保證 Python 包依賴關(guān)系更新的一組工具
pipenv:官方推薦的新一代包管理工具
conda:跨平臺的二進制包管理工具
Curdling:管理 Python 包的命令行工具
wheel:Python 分發(fā)的新標準
Pdm:新一代包管理工具
easy_install:軟件包管理系統(tǒng)
包倉庫
warehouse:下一代 PyPI
bandersnatch:PyPA 提供的 PyPI 鏡像工具
devpi:PyPI 服務(wù)和打包/測試/分發(fā)工具
localshop:本地 PyPI 服務(wù)
PyPI:新一代的 Python 包庫管理工具
21、分發(fā)與構(gòu)建
軟件分發(fā)
PyInstaller:將 Python 程序轉(zhuǎn)換成獨立的執(zhí)行文件
dh-virtualenv:構(gòu)建并將 virtualenv 虛擬環(huán)境作為一個 Debian 包來發(fā)布
Nuitka:將腳本、模塊、包編譯成可執(zhí)行文件或擴展模塊
py2app:將 Python 腳本變?yōu)楠毩④浖?/p>
py2exe:將 Python 腳本變?yōu)楠毩④浖?/p>
pynsist:用來創(chuàng)建 Windows 安裝程序的工具
cx-Freeze:跨平臺的用于打包成可執(zhí)行文件的庫
構(gòu)建
buildout:一個構(gòu)建系統(tǒng)
BitBake:針對嵌入式 Linux 的構(gòu)建工具
fabricate:自動找到依賴關(guān)系的構(gòu)建工具
PlatformIO:多平臺命令行構(gòu)建工具
PyBuilder:純 Python 實現(xiàn)的持續(xù)化構(gòu)建工具
SCons:軟件構(gòu)建工具
交互式解釋器
IPython:功能豐富的工具
bpython:界面豐富的 Python 解析器
ptpython:高級交互式 Python 解析器
22、命令行相關(guān)
命令行工具
asciimatics:跨平臺、全屏終端庫
cement:Python 的命令行程序框架
click:通過組合的方式來創(chuàng)建精美命令行界面的包
cliff:用于創(chuàng)建命令行程序的框架
clint:Python 命令行程序工具
colorama:跨平臺彩色終端文本
docopt:Python 風(fēng)格的命令行參數(shù)解析器
Gooey:將命令行程序變成一個 GUI 程序
python-prompt-toolkit:用于構(gòu)建強大的交互式命令行程序的庫
python-fire:Google 出品的一個構(gòu)建命令行界面的庫
Pythonpy:在命令行中直接執(zhí)行任何 Python 指令
Clime:可以轉(zhuǎn)換任何模塊為多的 CLI 命令程序
docopt:Python 命令行參數(shù)分析器
pycli:命令行應(yīng)用程序
rainbowstream:推特客戶終端
argparse:寫命令行腳本工具
pyHook:基于 Python 的“鉤子”庫
pstuil:跨平臺地方便獲取和控制系統(tǒng)的進程庫
命令行高級工具
aws-cli:Amazon Web Services 的通用命令行界面
bashplotlib:在終端中進行繪圖
caniusepython3:判斷是哪個項目妨礙完美移植代碼到 Python3
cookiecutter:從 cookiecutters 創(chuàng)建項目的一個命令行工具
doitlive:用來在終端中進行現(xiàn)場演示的工具
pyftpdlib:速度極快和可擴展的 Python FTP 服務(wù)庫
howdoi:通過命令行獲取即時的編程問題解答
httpie:命令行 HTTP 客戶端
PathPicker:從 bash 輸出中選出文件
percol:向 UNIX shell 傳統(tǒng)管道概念中加入交互式選擇功能
SAWS:一個加強版的 AWS 命令行
thefuck:修正之前的命令行指令
mycli:MySQL 命令行客戶端
pgcli:Postgres 命令行工具
try:簡單的命令行工具,用來試用 python 庫
23、第三方
API
apache-libcloud:為各種云設(shè)計的 Python 庫
boto:Amazon Web Services 的 Python 接口
django-wordpress:WordPress 與 Django 的結(jié)合
facebook-sdk:Facebook 平臺的 Python SDK
facepy:Facebook’s Graph API
gmail:Gmail 的 Python 接口
google-api-python-client:Python 用的 Google APIs 客戶端庫
gspread:Google 電子表格的 Python API
twython:Twitter API 的封裝
外來函數(shù)接口
cffi:用來調(diào)用 C 代碼的外來函數(shù)接口
ctypes:另一個用來調(diào)用 C 代碼的外來函數(shù)接口
PyCUDA:Nvidia CUDA API 的封裝
SWIG:簡化的封裝和接口生成器
24、其他
MapReduce
dpark:Spark 的 Python 版
dumbo:可以讓人輕松的編寫和運行 Hadoop 程序
luigi:構(gòu)建批處理作業(yè)的復(fù)雜流水線
mrjob:在 Hadoop 或 Amazon Web Services 上運行 MapReduce 任務(wù)
PySpark:Spark 的 Python API
streamparse:運行針對事實數(shù)據(jù)流的 Python 代碼
函數(shù)式編程
CyToolz:Toolz 的 Cython 實現(xiàn)
fn.py:在 Python 中進行函數(shù)式編程
funcy:炫酷又實用的函數(shù)式工具
Toolz:一組用于迭代器,函數(shù)和字典的函數(shù)式編程工具
兼容性
Python-Future:Python 2 和 Python 3 之間丟失的那個兼容性層
Python-Modernize:使 Python 代碼更加現(xiàn)代化以便最終遷移到 Python 3
Six:Python 2 和 3 的兼容性工具
編輯器插件
Elpy:Emacs Python 開發(fā)環(huán)境
SublimeJEDI:一個 Sublime Text 插件,用來使用自動補全庫 Jedi
Anaconda:Anaconda 把 Sublime Text 3 變成一個功能齊全的 Python IDE
YouCompleteMe:引入基于 Jedi 的 Python 自動補全引擎
Jedi-vim:綁定 Vim 和 Jedi 自動補全庫
Python-mode:將 Vim 變成 Python IDE
PTVS:Visual Studio 的 Python 工具
自動聊天工具
- Errbot:簡單且流行的聊天機器人工具
金融數(shù)據(jù)
Tushare:可以提供免費股票、基金、期貨、港股等金融數(shù)據(jù)的開源工具
Ta-Lib:金融數(shù)據(jù)技術(shù)分析庫
AkSHare:一個非常棒的免費金融數(shù)據(jù)平臺
算法和設(shè)計模式
algorithms:一個 Python 算法模塊
python-patterns:Python 設(shè)計模式的集合
sortedcontainers:SortedList,SortedDict 和 SortedSet 類型
雜七雜八
blinker:一個快速的 Python 進程內(nèi)信號/事件分發(fā)系統(tǒng)
itsdangerous:一系列輔助工具,用來將可信的數(shù)據(jù)傳入不可信的環(huán)境
pluginbase:一個簡單但是靈活的 Python 插件系統(tǒng)
Pychievements:一個用來創(chuàng)建和追蹤成就的 Python 框架
Tryton:一個通用商務(wù)框架
總結(jié)
到此這篇關(guān)于Python按照24個大方向整理的精選上千種工具庫匯總的文章就介紹到這了,更多相關(guān)Python按24個大方向整理的庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決Pycharm中恢復(fù)被exclude的項目問題(pycharm source root)
今天小編就為大家分享一篇解決Pycharm中恢復(fù)被exclude的項目問題(pycharm source root),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
特征臉(Eigenface)理論基礎(chǔ)之PCA主成分分析法
這篇文章主要為大家詳細介紹了特征臉理論基礎(chǔ)之PCA主成分分析法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03

