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