程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

【Python】整理了上千個Python類庫,簡直太酷啦!

編輯:Python

Python 生態,向來以各種類庫齊全而聞名,這也是這門語言如此受歡迎的重要原因。今天就給大家分享一下這幾天的戰果,宵衣旰食,不眠不休的整理了近千個 Python 庫,收藏的同時,給個在看不為過吧!

文末可以獲取完整思維導圖高清版!

數據處理

文本處理

  • 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 實現

Web 框架

全棧框架

  • 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 與游戲開發

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:一個數據驅動、自動、持續的代碼審查工具

DevOps

  • 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

Windows 環境

  • 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 的類庫實在是太累了,實在是太多了,還請 點贊 + 在看 支持一下~

往期精彩回顧
適合初學者入門人工智能的路線及資料下載(圖文+視頻)機器學習入門系列下載中國大學慕課《機器學習》(黃海廣主講)機器學習及深度學習筆記等資料打印《統計學習方法》的代碼復現專輯機器學習交流qq群955171419,加入微信群請掃碼


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved