哪些 Python 庫讓你相見恨晚?
GitHub搜Python庫時發(fā)現(xiàn)了一個的寶藏倉庫,收錄了全網(wǎng)種類超全的Python庫!
包括:Web 框架、網(wǎng)絡爬蟲、網(wǎng)絡內(nèi)容提取、模板引擎、數(shù)據(jù)庫、數(shù)據(jù)可視化、圖片處理、文本處理、自然語言處理、機器學習、日志、代碼分析等。
這個倉庫目前有129000+stars。
原鏈接在這里:https://github.com/vinta/awesome-python
點贊收藏,就不用擔心下次找不到這份python庫了~
小編打包好的Python庫合集,獲取方式:
1、轉(zhuǎn)發(fā)評論
2、私信回復【資料】
(順序是按照英語字母A-Z排序)方便大家瀏覽查找到自己需要的庫:
1.管理面板(Admin Panels )
管理界面庫。
- Ajenti:一個你的服務器值得擁有的管理面板。
- django-grappelli:擁有絢麗外觀的 Django Admin 界面。
- django-jet:具有改進功能的現(xiàn)代響應式 Django 管理界面模板。
- django-suit:Django 管理界面的一個替代品(僅對于非商業(yè)用途是免費的)。
- django-xadmin:Django admin 的一個替代品,具有很多不錯的功能。
- flask-admin:一個用于 Flask 的簡單可擴展的管理界面框架。
- flower:一個對 Celery 集群進行實時監(jiān)控和提供 web 管理界面的工具。
- jet-bridge:管理面板框架,適用于任何具有良好 UI 的應用(例如 Django)。
- Wooey:一個 Django 應用,可以為 Python 腳本創(chuàng)建 web 用戶界面。
2.算法和設計模式(Algorithms and Design Patterns)
數(shù)據(jù)結(jié)構(gòu)、算法和設計模式的 Python 實現(xiàn)。也可以參考 awesome-algorithms 。
- 算法
- algorithms:數(shù)據(jù)結(jié)構(gòu)和算法的簡單示例。
- python-ds:用于面試的數(shù)據(jù)結(jié)構(gòu)和算法的集合。
- sortedcontainers:排序集合的快速的純 Python 實現(xiàn)。
- TheAlgorithms:所有算法的 Python 實現(xiàn)。
- 設計模式
- PyPattyrn:一個簡單而有效的庫,用于實現(xiàn)常見的設計模式。
- python-patterns:一個 Python 設計模式集合。
- transitions:輕量級的,面向?qū)ο蟮挠邢逘顟B(tài)機實現(xiàn)。
3.ASGI 服務器(ASGI Servers)
兼容 ASGI 的 web 服務器。
- daphne:用于 ASGI 和 ASGI-HTTP 的,支持 HTTP,HTTP2 和 WebSocket 協(xié)議的服務器。
- uvicorn:使用 uvloop 和 httptools 實現(xiàn)的閃電般快速的 ASGI 服務器。
4.異步編程(Asynchronous Programming)
- asyncio (Python標準庫)異步I/O、事件循環(huán)、協(xié)程和任務。
- trio 異步并發(fā)和 I/O 友好的庫。
- Twisted 一個事件驅(qū)動的網(wǎng)絡引擎。
- uvloop 在 libuv 之上超快速實現(xiàn) asyncio 事件循環(huán)。
5.音頻(Audio)
用于操作音頻及其元數(shù)據(jù)的庫。
- 音頻:
- audioread:交叉庫 (GStreamer + Core Audio + MAD + FFmpeg) 音頻解碼。
- dejavu:音頻指紋提取和識別。
- kapre:Keras 音頻處理器。
- librosa:音頻音樂分析 Python 庫。
- matchering:用于音頻母帶制作的庫。
- mingus:一個高級音樂理論和曲譜包,支持 MIDI 文件和回放功能。
- pyAudioAnalysis:音頻特征提取,分類,分段和應用。
- pydub:通過簡單、簡潔的高層接口來操作音頻文件。
- TimeSide:開源 web 音頻處理框架。
- 元數(shù)據(jù):
- beets:一個音樂庫管理工具及 MusicBrainz 標簽添加工具。
- eyeD3:一個用來操作音頻文件的工具,具體來講就是包含 ID3 元信息的 MP3 文件。
- mutagen:一個用來處理音頻元數(shù)據(jù)的 Python 模塊。
- tinytag:一個用來讀取 MP3, OGG, FLAC 以及 Wave 文件音樂元數(shù)據(jù)的庫。
6.驗證(Authentication)
實現(xiàn)驗證方案的庫。
- OAuth
- authlib:一個強大的Python庫,用來構(gòu)建 OAuth 和 OpenID 服務端。包括:JWS, JWK, JWA, JWT。
- django-allauth:Django 的驗證應用。
- django-oauth-toolkit:為 Django 用戶準備的 OAuth2。
- OAuthLib:一個 OAuth 請求-簽名邏輯通用、 完整的實現(xiàn)。
- Flask-OAuthlib:OAuth 1.0/a, 2.0 客戶端實現(xiàn),供 Flask 使用。
- python-oauth2:一個完全測試的抽象接口。用來創(chuàng)建 OAuth 客戶端和服務端。
- python-social-auth:一個設置簡單的社會化驗證方式。
- 其他
- PyJWT:JSON Web 令牌的實現(xiàn)。
- python-jwt:一個用來生成和驗證 JSON Web 令牌的模塊。
- python-jose:python 版 JOSE 實現(xiàn)。
7.構(gòu)建工具(Build Tools)
將源碼編譯成軟件。
- BitBake:針對嵌入式 Linux 的類似 make 的構(gòu)建工具。
- buildout:一個構(gòu)建系統(tǒng),從多個組件來創(chuàng)建,組裝和部署應用。
- PlatformIO:多平臺命令行構(gòu)建工具。
- PyBuilder:純 Python 實現(xiàn)的持續(xù)化構(gòu)建工具。
- SCons:軟件構(gòu)建工具。
8.內(nèi)置類的增強版實現(xiàn)(Built-in Classes Enhancement)
一些 Python 內(nèi)置類的增強版實現(xiàn)庫。
- attrs:一個在類定義時可替換 __init__, __eq__, __repr__等方法的樣板。
- bidict:高效的 Pythonic 的雙向映射數(shù)據(jù)結(jié)構(gòu)和相關(guān)功能。
- Box:具有高級點符號訪問權(quán)限的 Python 字典。
- dataclasses:(Python 標準庫) 數(shù)據(jù)類。
- DottedDict:提供一種使用點路徑符號訪問列表和字典的方法的庫。
9.CMS
內(nèi)容管理系統(tǒng)。
- django-cms:一個開源的,企業(yè)級 CMS,基于 Django。
- FeinCMS:基于 Django 構(gòu)建的最先進的內(nèi)容管理系統(tǒng)之一。
- indico:一個功能豐富的事件管理系統(tǒng),由 @CERN 開發(fā)。
- Kotti:一個高級的,Python 范的 web 應用框架,基于 Pyramid 構(gòu)建。
- Mezzanine:一個強大的,持續(xù)的,靈活的內(nèi)容管理平臺。
- Plone:一個構(gòu)建于開源應用服務器 Zope 之上的 CMS。
- Quokka:靈活,可擴展的小型 CMS,基于 Flask 和 MongoDB。
- Wagtail:一個 Django 內(nèi)容管理系統(tǒng)。
10.緩存(Caching)
緩存數(shù)據(jù)的庫。
- Beaker:一個緩存和會話庫,可以用在 web 應用和獨立 Python 腳本和應用上。
- django-cache-machine:Django 模型的自動緩存和失效。
- django-cacheops:具有自動顆粒化事件驅(qū)動失效功能的 ORM。
- dogpile.cache:dogpile.cache 是 Beaker 的下一代替代品,由同一作者開發(fā)。
- HermesCache:Python 緩存庫,具有基于標簽的失效和 dogpile effect 保護功能。
- pylibmc:libmemcached 接口的 Python 封裝。
- python-diskcache:SQLite 和文件支持的緩存后端,具有比 memcached 和 redis 更快的查找速度。
11.聊天工具(ChatOps Tools)
聊天機器人開發(fā)相關(guān)的庫。
- errbot:實現(xiàn) ChatOps 的最簡單最受歡迎的聊天機器人。
12.代碼分析(Code Analysis)
進行代碼分析、解析和操作代碼庫的庫和工具。
- 代碼分析
- coala:語言獨立和易于擴展的代碼分析應用程序。
- code2flow:把你的 Python 和 JavaScript 代碼轉(zhuǎn)換為流程圖。
- prospector:分析 Python 代碼的工具。
- pycallgraph:這個庫可以把你的 Python 應用的流程(調(diào)用圖)進行可視化。
- vulture:用于發(fā)現(xiàn)和分析無效 Python 代碼的工具。
- Lint 工具
- Flake8:模塊化源碼檢查工具,提供與 pycodestyle、pyflakes、McCabe 相關(guān)的裝飾器。
- awesome-flake8-extensions
- pylama:Python 和 JavaScript 的代碼審查工具。
- Pylint:一個完全可定制的源碼分析器。
- wemake-python-styleguide:有史以來最嚴格的 Python 代碼審查工具。
- 代碼格式化
- black:一個堅定的 Python 代碼格式化工具。
- isort:用于糾正包導入順序的 Python 庫。
- autopep8:自動格式化 Python 代碼,以使其符合 PEP8 規(guī)范。
- 靜態(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 代碼中的類型,無需添加注解。
13.命令行界面開發(fā)(Command-line Interface Development)
用于創(chuàng)建命令行程序的庫。
- 命令行程序開發(fā)
- cement:Python 的命令行程序框架。
- click:一個通過組合的方式來創(chuàng)建精美命令行界面的包。
- cliff:一個用于創(chuàng)建命令行程序的框架,可以創(chuàng)建具有多層命令的命令行程序。
- docopt:Python 風格的命令行參數(shù)解析器。
- python-fire:Google 出品的一個基于 Python 類的構(gòu)建命令行界面的庫。
- python-prompt-toolkit:一個用于構(gòu)建強大的交互式命令行程序的庫。
- 終端呈現(xiàn)方式
- alive-progress:一款新的進度條,具有實時吞吐量信息以及非常酷的動畫。
- asciimatics:跨平臺,全屏終端包(即鼠標/鍵盤輸入和彩色,定位文本輸出),完整的復雜動畫和特殊效果的高級 API。
- bashplotlib:在終端中進行基本繪圖。
- colorama:跨平臺彩色終端文本。
- rich:一個在終端中支持富文本和格式美化的 Python 庫, 同時提供了RichHandler
日志處理程序。 - tqdm:一個可在循環(huán)和命令行中使用的快速、可擴展的進度條。
14.命令行工具(Command-line Tools)
- 生產(chǎn)力工具
- copier:用于呈現(xiàn)項目模板的庫和命令行實用程序。
- cookiecutter:從 cookiecutters(項目模板)創(chuàng)建項目的一個命令行工具。
- doitlive:一個用來在終端中進行現(xiàn)場演示的工具。
- howdoi:通過命令行獲取即時的編程問題解答。
- Invoke:用于管理面向 shell 的子進程,同時支持將可執(zhí)行的 Python 代碼組織成命令行可調(diào)用的狀態(tài)。
- PathPicker:從 bash 輸出中選出文件。
- percol:向 UNIX shell 傳統(tǒng)管道概念中加入交互式選擇功能。
- thefuck:修正你之前的命令行指令。
- tmuxp: tmux 會話管理器。
- try:一個極其簡單的命令行工具,用來試用 python 庫。
- 高級 CLI
- httpie:一個命令行 HTTP 客戶端,cURL 的替代品,易用性更好。
- iredis:支持自動補全和高亮顯示的 redis 命令行工具。
- kube-shell:K8S 命令行集成的 shell 工具。
- litecli:支持自動補全和語法高亮的 SQLite 命令行工具。
- mycli:支持自動補全和語法高亮的 MySQL 命令行客戶端
- pgcli:支持自動補全和語法高亮的 Postgres 命令行工具。
- SAWS:一個加強版的 AWS 命令行。
15.兼容性(Compatibility)
幫助從 Python 2 向 Python 3 遷移的庫。
- Python-Future:這就是 Python 2 和 Python 3 之間丟失的那個兼容性層。
- Six:Python 2 和 3 的兼容性工具。
- modernize:使 Python 代碼更加現(xiàn)代化以便最終遷移到 Python 3。
16.計算機視覺(Computer Vision)
計算機視覺相關(guān)庫。
- OpenCV:開源計算機視覺庫。
- pytesseract:Google Tesseract OCR 的另一包裝庫。
- SimpleCV:一個用來創(chuàng)建計算機視覺應用的開源框架。
- EasyOCR:支持40多種語言的即用型 OCR。
- Face Recognition:簡單的面部識別庫。
- Kornia:PyTorch 的開源差異化計算機視覺庫。
- tesserocr:另一個簡單的,兼容 Pillow 的 tesseract-ocr
API 裝飾器,可用于 OCR。
17.并發(fā)和并行(Concurrency and Parallelism)
用以進行并發(fā)和并行操作的庫。
- concurrent.futures:(Python 標準庫) 異步執(zhí)行可調(diào)用對象的高級接口。
- threading:(Python 標準庫)更高層的線程接口。
- eventlet:支持 WSGI 的異步框架。
- gevent:一個基于協(xié)程的 Python 網(wǎng)絡庫,使用 greenlet。
- Tomorrow:用于產(chǎn)生異步代碼的神奇的裝飾器語法實現(xiàn)。
- uvloop:在 libuv 之上超快速實現(xiàn) asyncio 事件循環(huán)。
- multiprocessing:(Python 標準庫) 基于進程的“線程”接口。
- scoop:支持在 Python 中進行可伸縮并行操作。
18.配置(Configuration)
用來保存和解析配置的庫。
- config:logging 模塊作者寫的分級配置模塊。
- ConfigObj:INI 文件解析器,帶驗證功能。
- ConfigParser:(Python 標準庫) INI 文件解析器。
- python-decouple:將設置和代碼完全隔離。
- hydra:一個優(yōu)雅地配置復雜應用程序的框架。
19.密碼學(Cryptography)
- cryptography:這個軟件包意在提供密碼學基本內(nèi)容和方法提供給 Python 開發(fā)者。
- Paramiko:SSHv2 協(xié)議的 Python (2.6+, 3.3+) ,提供客戶端和服務端的功能。
- Passlib:安全密碼存儲/哈希庫。
- PyCrypto:Python 密碼學工具箱。
- PyNacl:網(wǎng)絡和密碼學(NaCl) 庫的 Python 綁定。
20.數(shù)據(jù)分析(Data Analysis)
用來進行數(shù)據(jù)分析的庫。
- AWS Data Wrangler:AWS 平臺上使用的 Pandas。
- blaze:NumPy 和 Pandas 的大數(shù)據(jù)接口。
- Open Mining:使用 Python 挖掘商業(yè)情報 (BI) (Pandas web 接口)。
- Optimus:在使用 PySpark 時,讓敏捷數(shù)據(jù)科學工作流程變得簡單。
- orange:通過可視化編程或 Python 腳本進行數(shù)據(jù)挖掘,數(shù)據(jù)可視化,分析和機器學習。
- Pandas:提供高性能,易用的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具。
21.數(shù)據(jù)驗證(Data Validation)
數(shù)據(jù)驗證庫。多用于表單驗證。
- Cerberus:一個映射驗證器(mappings-validator)。支持多種規(guī)則,提供歸一化功能,可以方便地定制為 Python 風格的 schema 定義。
- colander:一個用于對從 XML, JSON,HTML 表單獲取的數(shù)據(jù)或其他同樣簡單的序列化數(shù)據(jù)進行驗證和反序列化的系統(tǒng)。
- 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ù)的驗證。
22.數(shù)據(jù)可視化(Data Visualization)
進行數(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/ 圖像繪制及科學/工程學組件。
- SnakeViz:一個基于瀏覽器的 Python's cProfile 模塊輸出結(jié)果查看工具。
- vincent:把 Python 轉(zhuǎn)換為 Vega 語法的轉(zhuǎn)換工具。
- VisPy:基于 OpenGL 的高性能科學可視化工具。
- Altair:用于 Python 的聲明式統(tǒng)計可視化庫。
- bqplot:Jupyter Notebook 的交互式繪圖庫。
- Cartopy:具有 matplotlib 支持的 Python 制圖庫。
- Dash:構(gòu)建在 Flask、React 和 Plotly 之上,旨在用于分析 Web 應用程序。
- diagrams:用圖表作為代碼。
- plotnine:基于ggplot2的Python圖形語法。
- PyGraphviz: Graphviz 的 Python 接口。
- Seaborn:使用 Matplotlib 進行統(tǒng)計數(shù)據(jù)可視化。
23.數(shù)據(jù)庫(Database)
Python 實現(xiàn)的數(shù)據(jù)庫。
- pickleDB:一個簡單,輕量級鍵值儲存數(shù)據(jù)庫。
- TinyDB:一個微型的,面向文檔型數(shù)據(jù)庫。
- ZODB:一個 Python 原生對象數(shù)據(jù)庫。一個鍵值和對象圖數(shù)據(jù)庫。
24.數(shù)據(jù)庫驅(qū)動(Database Drivers)
用來連接和操作數(shù)據(jù)庫的庫。
- MySQL:awesome-mysql 系列
- aiomysql:基于 asyncio 的異步 MySQL 數(shù)據(jù)庫操作庫。
- mysql-python:Python 的 MySQL 數(shù)據(jù)庫連接器。
- ysqlclient:mysql-python 分支,支持 Python 3。
- oursql:一個更好的 MySQL 連接器,支持原生預編譯指令和 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ù)庫
- cassandra-python-driver:Cassandra 的 Python 驅(qū)動。
- HappyBase:一個為 Apache HBase 設計的,對開發(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ū)動程序。
25.日期和時間(Date and Time)
操作日期和時間的類庫。
- arrow:更好的 Python 日期時間操作類庫。
- Chronyk:Python 3 的類庫,用于解析手寫格式的時間和日期。
- dateutil:Python datetime 模塊的擴展。
- delorean:解決 Python 中有關(guān)日期處理的棘手問題的庫。
- maya:人性化的時間處理庫。
- pendulum:一個比 arrow 更具有明確的,可預測的行為的時間操作庫。
- PyTime:一個簡單易用的 Python 模塊,用于通過字符串來操作日期/時間。
- pytz:現(xiàn)代以及歷史版本的世界時區(qū)定義。將時區(qū)數(shù)據(jù)庫引入 Python。
- when.py:提供用戶友好的函數(shù)來幫助用戶進行常用的日期和時間操作。
- dateutil:Python 標準包 datetime 的擴展。
- moment:一個處理日期/時間的庫,靈感來自 Moment.js。
- pytz:支持跨平臺時區(qū)計算,并將 tz database 引入 Python。
26.調(diào)試工具(Debugging Tools)
用來進行代碼調(diào)試的庫。
- 調(diào)試器
- ipdb:IPython 啟用的 pdb。
- pudb:全屏,基于控制臺的 Python 調(diào)試器。
- pdb++:另一種 pdb 的替代。
- wdb:一個奇異的 web 調(diào)試器,通過 WebSockets 工作。
- 追蹤器
- lptrace:為 Python 程序打造的 strace。
- manhole:調(diào)試UNIX套接字連接,并顯示所有線程的堆棧跟蹤和交互式提示。
- pyringe:能夠附加到 Python 進程并將代碼注入Python進程的調(diào)試器。
- python-hunter:一個靈活的代碼追蹤工具包。
- 性能分析器
- lineprofiler:逐行性能分析。
- Memory Profiler、內(nèi)存:監(jiān)控 Python 代碼的內(nèi)存使用。
- py-spy:Python 程序采樣分析器,使用 Rust 實現(xiàn)。
- pyflame:用于 Python 的跟蹤分析器。
- vprof:視覺 Python 分析器。
- 其他
- pyelftools:解析和分析 ELF 文件以及 DWARF 調(diào)試信息。
- django-debug-toolbar:為 Django 顯示各種調(diào)試信息。
- django-devserver:一個 Django 運行服務器的替代品。
- flask-debugtoolbar:django-debug-toolbar 的 flask 版。
- icecream:通過一個簡單的函數(shù)調(diào)用檢查變量、表達式和程序執(zhí)行情況。
27.深度學習(Deep Learning)
神經(jīng)網(wǎng)絡和深度學習相關(guān)框架。 也可以參考 awesome-deep-learning。
- Caffe:一個 Caffe 的 python 接口。
- keras:以 tensorflow/theano/CNTK 為后端的深度學習封裝庫,快速上手神經(jīng)網(wǎng)絡。
- MXNet:一個高效和靈活的深度學習框架。
- Pytorch:一個具有張量和動態(tài)神經(jīng)網(wǎng)絡,并有強大 GPU 加速能力的深度學習框架。
- SerpentAI:游戲代理框架,可使用任意視頻游戲作為深度學習沙箱。
- Theano:一個快速數(shù)值計算庫。
- TensorFlow:谷歌開源的最受歡迎的深度學習框架。
- hebel:GPU 加速的深度學習庫。
- pydeep:Python 深度學習庫。
28.DevOps 工具(DevOps Tools)
用于 DevOps 的軟件和庫。
- Ansible:一個非常簡單的 IT 自動化平臺。
- SaltStack:基礎設施自動化和管理系統(tǒng)。
- OpenStack:用于構(gòu)建私有和公有云的開源軟件。
- Docker Compose:快速,分離的開發(fā)環(huán)境,使用 Docker。
- Fabric:一個簡單的,Python 風格的工具,用來進行遠程執(zhí)行和部署。
- cuisine:為 Fabric 提供一系列高級函數(shù)。
- Fabtools:一個用來編寫超贊的 Fabric 文件的工具。
- gitapi:Git 的純 Python API。
- hgapi:Mercurial 的純 Python API。
- honcho:Foreman 的 Python 克隆版,用來管理基于 Procfile 的應用。
- pexpect:在一個偽終端中控制交互程序,就像 GNU expect 一樣。
- psutil:一個跨平臺進程和系統(tǒng)工具模塊。
- supervisor:UNIX 的進程控制系統(tǒng)。
- cloudinit:一個多分發(fā)包,用于處理云實例的早期初始化。
- pyinfra:一個通用的 CLI 工具包和 python 庫,用于自動化的基礎設施。
- honcho:Foreman 的 Python 克隆版,用于管理基于 Procfile 的應用。
- BorgBackup:具有壓縮和加密功能的重復數(shù)據(jù)刪除存檔器。
- docker-compose: 使用 Docker 的快速獨立的開發(fā)環(huán)境。
29.分布式計算(Distributed Computing)
分布式計算相關(guān)的框架和庫。
- dpark:Spark 的 Python 克隆版,一個類似 MapReduce 的框架。
- dumbo:這個 Python 模塊可以讓人輕松的編寫和運行 Hadoop 程序。
- luigi:這個模塊幫你構(gòu)建批處理作業(yè)的復雜流水線。
- mrjob:在 Hadoop 或 Amazon Web Services 上運行 MapReduce 任務。
- dask:用于分析計算的靈活的并行計算庫。
- PySpark:Spark 的 Python API 。
- Ray:一個用于并行和分布式 Python 的系統(tǒng),它統(tǒng)一了機器學習生態(tài)系統(tǒng)。
- faust:一個 Python 流處理庫,核心思想來源 Kafka Streams。
- streamparse:運行針對事實數(shù)據(jù)流的 Python 代碼。集成了 Apache Storm。
- mars:是基于張量的,用于進行大規(guī)模數(shù)據(jù)計算的統(tǒng)一計算框架。
30.分發(fā)(Distribution)
打包為可執(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 腳本的工具,也可以將加密后的腳本綁定到固件上,或設置已加密腳本的有效期。
- shiv:一個命令行工具,可用于構(gòu)建完全獨立的 zip 應用(PEP 441 所描述的那種),同時包含了所有的依賴項。
31.文檔(Documentation)
用以生成項目文檔的庫。
- pdoc:一個可以替換 Epydoc 的庫,可以自動生成 Python 庫的 API 文檔。
- Pycco:文學編程(literate-programming)風格的文檔生成器。
32.下載器(Downloader)
用來進行下載的庫.
- s3cmd:一個用來管理 Amazon S3 和 CloudFront 的命令行工具。
- s4cmd:超級 S3 命令行工具,性能更加強勁。
- you-get:一個 YouTube/Youku/Niconico 視頻下載器,使用 Python 3 編寫。
- youtube-dl:一個小巧的命令行程序,用來下載 YouTube 視頻。
- akshare:為方便人使用而創(chuàng)建的金融數(shù)據(jù)接口庫。
33.電子商務(E-commerce)
用于電子商務以及支付的框架和庫。
- django-oscar:一個用于 Django 的開源的電子商務框架。
- django-shop:一個基于 Django 的店鋪系統(tǒng)。
- Cartridge:一個基于 Mezzanine 構(gòu)建的購物車應用。
- shoop:一個基于 Django 的開源電子商務平臺。
- alipay:非官方的 Python 支付寶 API。
- merchant:一個可以接收來自多種支付平臺支付的 Django 應用。
- money:一個貨幣類庫。帶有可選的 CLDR 后端本地化格式,提供可擴展的貨幣兌換解決方案。
- python-currencies:顯示貨幣格式以及它的數(shù)值。
- forex-python:外匯匯率,比特幣價格指數(shù)和貨幣換算。
- saleor:一款兼容 Django 的電子商務平臺。
34.編輯器插件和 IDE(Editor Plugins and IDEs)
- Emacs
- elpy:Emacs Python 開發(fā)環(huán)境。
- Sublime Text
- anaconda:Anaconda 可將功能齊全的 Python 開發(fā) IDE 轉(zhuǎn)換為 Sublime Text 3。
- SublimeJEDI:一個很棒的自動補全庫 Jedi 的Sublime Text 插件。
- Vim
- jedi-vim:用于 Python 的 Jedi 自動補全庫的 Vim 綁定。
- python-mode:一個將 Vim 轉(zhuǎn)換為 Python IDE 的多合一插件。
- YouCompleteMe:包含 Jedi 補全的 Python 引擎。
- Visual Studio
- PTVS:Visual Studio Python 工具。
- Visual Studio Code
- Python:對 Python 有豐富支持的官方 VSCode 擴展。
- IDE
- PyCharm:JetBrains 提供的商業(yè) Python IDE,也有免費的社區(qū)版。
- spyder: 開源 Python IDE。
35.電子郵件(Email)
用來發(fā)送和解析電子郵件的庫。
郵件服務器:
- modoboa:一個郵件托管和管理平臺,具有現(xiàn)代的、簡約的 Web UI。
- salmon:一個 Python 郵件服務器。
客戶端 :
- yagmail:yagmail是一個GMAIL / SMTP客戶端,旨在使其盡可能簡單地發(fā)送電子郵件。
- imbox:Python IMAP 庫。
其他:
- flanker:一個 email 地址和 Mime 解析庫。
- mailer:一款高性能可擴展的郵件投遞框架。
- inbox:一個開源電子郵件工具箱。
36.企業(yè)級應用集成(Enterprise Application Integrations)
企業(yè)級環(huán)境中用于集成的平臺與工具。
- Zato:ESB, SOA, REST, APIs 以及云的 Python 整合。
37.環(huán)境管理(Environment Management)
管理 Python 版本和環(huán)境的工具
- pyenv:簡單的 Python 版本管理工具。
- Vex:可以在虛擬環(huán)境中執(zhí)行命令。
- virtualenv:創(chuàng)建獨立 Python 環(huán)境的工具。
38.文件(Files)
文件管理和 MIME(多用途的網(wǎng)際郵件擴充協(xié)議)類型檢測。
- aiofiles:基于 asyncio,提供文件異步操作。
- imghdr:(Python 標準庫)檢測圖片類型。
- mimetypes:(Python 標準庫)將文件名映射為 MIME 類型。
- path.py:對 os.path 進行封裝的模塊。
- pathlib:(Python3.4+ 標準庫)跨平臺的、面向?qū)ο蟮穆窂讲僮鲙臁?/li>
- python-magic:文件類型檢測的第三方庫 libmagic 的 Python 接口。
- Unipath:用面向?qū)ο蟮姆绞讲僮魑募湍夸洝?/li>
- watchdog:管理文件系統(tǒng)事件的 API 和 shell 工具。
- PyFilesystem2:Python 的文件系統(tǒng)抽象層。
39.外來函數(shù)接口(Foreign Function Interface)
使用外來函數(shù)接口的庫。
- cffi:用來調(diào)用 C 代碼的外來函數(shù)接口。
- ctypes:(Python 標準庫) 用來調(diào)用 C 代碼的外來函數(shù)接口。
- PyCUDA:Nvidia CUDA API 的封裝。
- SWIG:簡化的封裝和接口生成器。
40.表單(Forms)
進行表單操作的庫。
- Deform:Python HTML 表單生成庫,受到了 formish 表單生成庫的啟發(fā)。
- django-bootstrap3:集成了 Bootstrap 3 的 Django。
- django-bootstrap4:集成了 Bootstrap 4 的 Django。
- django-crispy-forms:一個 Django 應用,他可以讓你以一種非常優(yōu)雅且 DRY (Don't repeat yourself) 的方式來創(chuàng)建美觀的表單。
- django-remote-forms:一個平臺獨立的 Django 表單序列化工具。
- W TForms:一個靈活的表單驗證和呈現(xiàn)庫。
41.函數(shù)式編程(Functional Programming)
使用 Python 進行函數(shù)式編程。
- CyToolz:Toolz 的 Cython 實現(xiàn):高性能函數(shù)式工具。
- fn.py:在 Python 中進行函數(shù)式編程:實現(xiàn)了一些享受函數(shù)式編程缺失的功能。
- funcy:炫酷又實用的函數(shù)式工具。
- Toolz:一組用于迭代器,函數(shù)和字典的函數(shù)式編程工具。
- Coconut:為了簡單、優(yōu)雅、更 Pythonic 的函數(shù)式編程而構(gòu)建的 Python 變體。
- more-itertools:比 itertools
擁有更多的可迭代對象的操作方式。 - returns:一個類型安全的單元、轉(zhuǎn)換器與合成工具集合。
42.圖形用戶界面(GUI Development)
用來創(chuàng)建圖形用戶界面程序的庫。
- curses:內(nèi)建的 ncurses 封裝,用來創(chuàng)建終端圖形用戶界面。
- enaml:使用類似 QML 的 Declaratic 語法來創(chuàng)建美觀的用戶界面。
- kivy:一個用來創(chuàng)建自然用戶交互(NUI)應用程序的庫,可以運行在 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 的一個事實標準庫。
- Toga:一個 Python 原生的,操作系統(tǒng)原生的 GUI 工具包。
- urwid:一個用來創(chuàng)建終端 GUI 應用的庫,支持組件,事件和豐富的色彩等。
- 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 應用的庫。
- PySimpleGUI:tkinter,Qt,WxPython 和 Remi 的封裝。
- pywebview:圍繞網(wǎng)頁視圖組件的輕量級跨平臺的原生包裝。
- DearPyGui:一個簡單的可使用 GPU 加速的 Python GUI 框架。
43.GraphQL(GraphQL)
GraphQL 相關(guān)庫。
- graphene:Python GraphQL 框架。
- tartiflette-aiohttp:Tartiflette 的基于 aiohttp 的裝飾器,用于通過 HTTP 公開 GraphQL API。
- tartiflette-asgi:Tartiflette GraphQL 引擎的 ASGI 支持。
- tartiflette:支持 Python 3.6+ 和 asyncio 的 SDL 優(yōu)先的 GraphQL 引擎實現(xiàn)。
44.游戲開發(fā)(Game Development)
超贊的游戲開發(fā)庫。
- Cocos2d:cocos2d 是一個用來開發(fā) 2D 游戲, 示例和其他圖形/交互應用的框架。基于 pyglet。
- Panda3D:由迪士尼開發(fā)的 3D 游戲引擎,并由卡內(nèi)基梅隴娛樂技術(shù)中心負責維護。使用 C++ 編寫, 針對 Python 進行了完全的封裝。
- Pygame:Pygame 是一組 Python 模塊,用來編寫游戲。
- PyOgre:Ogre 3D 渲染引擎的 Python 綁定,可以用來開發(fā)游戲和仿真程序等任何 3D 應用。
- PyOpenGL:OpenGL 的 Python 綁定及其相關(guān) APIs。
- PySDL2:SDL2 庫的封裝,基于 ctypes。
- RenPy:一個視覺小說(visual novel)引擎。
- Arcade:一個現(xiàn)代 Python 框架,用于制作具有引人入勝的圖形與聲音的游戲。
- Harfang3D:支持3D,VR 與游戲開發(fā)的 Python 框架。
45.地理位置(Geolocation)
地理編碼地址以及用來處理經(jīng)緯度的庫。
- GeoDjango:世界級地理圖形 web 框架。
- GeoIP:MaxMind GeoIP Legacy 數(shù)據(jù)庫的 Python API。
- geojson:GeoJSON 的 Python 綁定及工具。
- geopy:Python 地址編碼工具箱。
- django-countries:一個 Django 應用程序,提供用于表格的國家選擇功能,國旗圖標靜態(tài)文件以及模型中的國家字段。
- pygeoip:Python GeoIP 接口。
46.HTML 處理(HTML Manipulation)
處理 HTML 和 XML 的庫。
- BeautifulSoup:以 Python 風格的方式來對 HTML 或 XML 進行迭代,搜索和修改。
- bleach:一個基于白名單的 HTML 清理和文本鏈接庫。
- cssutils:一個 Python 的 CSS 庫。
- html5lib:一個兼容標準的 HTML 文檔和片段解析及序列化庫。
- lxml:一個非常快速,簡單易用,功能齊全的庫,用來處理 HTML 和 XML。
- MarkupSafe:為 Python 實現(xiàn) XML/HTML/XHTML 標記安全字符串。
- 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)引擎,并可以導出為 PDF。
- xmldataset:簡單 XML 解析。
47.HTTP
使用 HTTP 的庫。
- aiohttp:基于 asyncio 的異步 HTTP 網(wǎng)絡庫。
- requests:人性化的 HTTP 請求庫。
- grequests:requests 庫 + gevent ,用于異步 HTTP 請求。
- httplib2:全面的 HTTP 客戶端庫。
- treq:類似 requests 的 Python API 構(gòu)建于 Twisted HTTP 客戶端之上。
- urllib3:一個具有線程安全連接池,支持文件 post,清晰友好的 HTTP 庫。
- httpx:下一代 Python HTTP 客戶端。
48.硬件(Hardware)
用來對硬件進行編程的庫。
- ino:操作 Arduino 的命令行工具。
- Pyro:Python 機器人編程庫。
- PyUserInput:跨平臺的,控制鼠標和鍵盤的模塊。
- scapy:一個非常棒的操作數(shù)據(jù)包的庫。
- wifi:一個 Python 庫和命令行工具用來在 Linux 平臺上操作 WiFi。
- Pingo:Pingo 為類似 Raspberry Pi,pcDuino, Intel Galileo 等設備提供統(tǒng)一的 API 用以編程。
- keyboard:在 Windows 和 Linux 上掛鉤并模擬全局鍵盤事件。
- mouse:在 Windows 和 Linux 上掛鉤并模擬全局鼠標事件。
49.圖像處理(Image Processing)
用來操作圖像的庫.
- pillow:Pillow 是一個更加易用版的 PIL。
- hmap:圖像直方圖映射。
- imgSeek:一個使用視覺相似性搜索一組圖片集合的項目。
- nude.py:裸體檢測。
- python-barcode:不借助其他庫在 Python 程序中生成條形碼。
- pygram:類似 Instagram 的圖像濾鏡。
- python-qrcode:一個純 Python 實現(xiàn)的二維碼生成器。
- Quads:基于四叉樹的計算機藝術(shù)。
- scikit-image:一個用于(科學)圖像處理的 Python 庫。
- thumbor:一個小型圖像服務,具有剪裁,尺寸重設和翻轉(zhuǎn)功能。
- wand:MagickWand 的 Python 綁定。MagickWand 是 ImageMagick 的 C API 。
- face_recognition:簡單易用的 Python 人臉識別庫。
- pagan:基于輸入和哈希的復古風圖標(頭像)生成工具。
- PyMatting:支持 alpha matting 的庫。
- pywal:由圖像生成配色方案的工具。
- pyvips:低內(nèi)存消耗且快速的圖像處理庫。
50.高性能(Implementations)
讓 Python 更快的庫。
- Cython:優(yōu)化的 Python 靜態(tài)編譯器。使用類型混合使 Python 編譯成 C 或 C++ 模塊來獲得性能的極大提升。
- CLPython:用 Common Lisp 編寫的 Python 編程語言的實現(xiàn)。
- Grumpy:編譯器比解釋器更強大的 cpython2.7 替代品(alpha)。
- IronPython:用 C# 編寫的 Python 編程語言的實現(xiàn)。
- Jython:為 JVM 用 Java 編寫的 Python 編程語言的實現(xiàn)。
- MicroPython:精簡高效的 Python 編程語言實現(xiàn)。
- Pyjion:基于 CoreCLR 的 Python JIT。
- Numba:Python JIT (just in time) 編譯器,針對科學用的 Python ,由 Cython 和 NumPy 的開發(fā)者開發(fā)。
- PeachPy:嵌入 Python 的 x86-64 匯編器。可以被用作 Python 內(nèi)聯(lián)的匯編器或者是獨立的匯編器,用于 Windows,Linux,OS X,Native Client 或者 Go 。
- PyPy:使用 Python 實現(xiàn)的 Python。解釋器使用黑魔法加快 Python 運行速度且不需要加入額外的類型信息。
- Pyston:使用 LLVM 和現(xiàn)代 JIT 技術(shù)構(gòu)建的 Python 實現(xiàn),目標是為了獲得很好的性能。
- Stackless Python:一個強化版的 Python。
51.交互式解析器(Interactive Interpreter)
交互式 Python 解析器。
- IPython:功能豐富的工具,非常有效的使用交互式 Python。
- bpython:界面豐富的 Python 解析器。
- ptpython:高級交互式 Python 解析器, 構(gòu)建于 python-prompt-toolkit 之上。
- Jupyter Notebook (IPython):一個能夠讓你最大限度地以交互式方式使用 Python 的豐富工具包。
52.國際化(Internationalization)
用來進行國際化的庫。
- Babel:一個 Python 的國際化庫。
- PyICU:一個封裝了 ICU C++ 庫的 Python 擴展。
53.任務調(diào)度(Job Scheduler)
任務調(diào)度庫。
- APScheduler:輕巧但強大的進程內(nèi)任務調(diào)度,使你可以調(diào)度函數(shù)。
- django-schedule:一個 Django 排程應用。
- doit:一個任務執(zhí)行和構(gòu)建工具。
- gunnery:分布式系統(tǒng)使用的多用途任務執(zhí)行工具 ,具有 web 交互界面。
- Joblib:一組為 Python 提供輕量級作業(yè)流水線的工具。
- Plan:如有神助地編寫 crontab 文件。
- schedule:人性化的 Python 任務調(diào)度庫。
- Spiff:使用純 Python 實現(xiàn)的強大的工作流引擎。
- TaskFlow:一個可以讓你方便執(zhí)行任務的 Python 庫,一致并且可靠。
- Airflow :是一個工作流分配管理系統(tǒng),通過有向非循環(huán)圖的方式管理任務流程,設置任務依賴關(guān)系和時間調(diào)度。
- Prefect:一個現(xiàn)代的工作流程編排框架,使構(gòu)建、計劃和監(jiān)視健壯的數(shù)據(jù)管道變得容易。
54.日志(Logging)
用來生成和操作日志的庫。
- logging:(Python 標準庫) 為 Python 提供日志功能。
- logbook:Logging 庫的替代品。
- Eliot:為復雜的和分布式系統(tǒng)創(chuàng)建日志。
- Raven:Sentry 的 Python 客戶端。
- Sentry:實時記錄和收集日志的服務器。
- sentry-python:Python 版 Sentry SDK。
- loguru:旨在帶來愉悅體驗的 Python 日志庫。
- structlog:結(jié)構(gòu)化日志,讓日志變得簡單。
55.機器學習(Machine Learning)
機器學習相關(guān)庫,也可以參考 awesome-machine-learning。
- Crab:靈活、快速的推薦引擎。
- NuPIC:智能計算 Numenta 平臺。
- pattern:Python 網(wǎng)絡挖掘模塊。
- PyBrain:另一個 Python 機器學習庫。
- Pylearn2:一個基于 Theano 的機器學習庫。
- python-recsys:一個用來實現(xiàn)推薦系統(tǒng)的 Python 庫。
- scikit-learn:基于 SciPy 構(gòu)建的機器學習 Python 模塊。
- vowpalporpoise:輕量級 Vowpal Wabbit 的 Python 封裝。
- gym:開發(fā)和比較強化學習算法的工具包。
- H2O:開源快速可擴展的機器學習平臺。
- Metrics:機器學習的評估指標。
- vowpal_porpoise:Python 版 Vowpal Wabbit 裝飾器。
- xgboost:可擴展,便攜式和分布式梯度提升庫。
- MindsDB:MindsDB 是現(xiàn)有數(shù)據(jù)庫的開源 AI 層,可讓使用標準查詢輕松地進行開發(fā),訓練和部署最新的機器學習模型。
56.微軟的 Windows 平臺(Microsoft Windows)
在 Windows 平臺上進行 Python 編程。
- Python(x,y):面向科學應用的 Python 發(fā)行版,基于 Qt 和 Spyder。
- pythonlibs:非官方的 Windows 平臺 Python 擴展二進制包。
- PythonNet:Python 與 .NET 公共語言運行庫 (CLR)的集成。
- PyWin32:針對 Windows 的 Python 擴展。
- WinPython:Windows 7/8 系統(tǒng)下便攜式開發(fā)環(huán)境。
57.雜項(Miscellaneous)
不屬于上面任何一個類別,但是非常有用的庫。
- blinker:快速的 Python 運行時信號/事件分配系統(tǒng)。
- boltons:一組純 Python 實用工具。
- itsdangerous:將受信任的數(shù)據(jù)傳遞到不受信任的環(huán)境的幫助工具。
- magenta:使用人工智能生成音樂與藝術(shù)的工具。
- pluginbase:一個簡單但靈活的 Python 插件系統(tǒng)。
- tryton:一個通用業(yè)務框架
58.自然語言處理(Natural Language Processing)
用來處理人類語言的庫。
- NLTK:一個先進的平臺,用以構(gòu)建處理人類語言數(shù)據(jù)的 Python 程序。
- gensim:人性化的話題建模庫。
- jieba:中文分詞工具。
- langid.py:獨立的語言識別系統(tǒng)。
- Pattern:Python 網(wǎng)絡信息挖掘模塊。
- SnowNLP:一個用來處理中文文本的庫。
- TextBlob:為進行普通自然語言處理任務提供一致的 API。
- TextGrocery:一簡單高效的短文本分類工具,基于 LibLinear 和 Jieba。
- thulac:清華大學自然語言處理與社會人文計算實驗室研制推出的一套中文詞法分析工具包。
- polyglot:支持數(shù)百種語言的自然語言處理管道。
- pytext:基于 PyTouch 的自然語言模型框架。
- PyTorch-NLP:一個支持快速深度學習 NLP 原型研究的工具包。
- spacy:Python 和 Cython 中用于工業(yè)級自然語言處理的庫。
- Stanza:斯坦福 NLP 集團的官方 Python 庫,支持 60 多種語言。
- funNLP:中文自然語言處理的工具和數(shù)據(jù)集。
- pkuseg-python:一個支持對不同領(lǐng)域進行中文分詞的工具箱。
59.網(wǎng)絡可視化和 SDN(Network Virtualization)
用來進行網(wǎng)絡可視化和 SDN(軟件定義網(wǎng)絡)的工具和庫。
- Mininet:一款流行的網(wǎng)絡模擬器以及用 Python 編寫的 API。
- POX:一個針對基于 Python 的軟件定義網(wǎng)絡應用(例如 OpenFlow SDN 控制器)的開源開發(fā)平臺。
- Pyretic:火熱的 SDN 編程語言中的一員,為網(wǎng)絡交換機和模擬器提供強大的抽象能力。
- napalm:可跨供應商 API 來操縱網(wǎng)絡設備。
60.動態(tài)消息(News Feed)
用來創(chuàng)建用戶活動的庫。
- django-activity-stream:從你的站點行為中生成通用活動信息流。
- Stream-Framework:使用 Cassandra 和 Redis 創(chuàng)建動態(tài)消息和通知系統(tǒng)。
61.ORM
實現(xiàn)對象關(guān)系映射或數(shù)據(jù)映射技術(shù)的庫。
- 關(guān)系型數(shù)據(jù)庫
- Django Models:Django 的一部分。
- SQLAlchemy:Python SQL 工具以及對象關(guān)系映射工具。
- Peewee:一個小巧,富有表現(xiàn)力的 ORM。
- PonyORM:提供面向生成器的 SQL 接口的 ORM。
- python-sql:編寫 Python 風格的 SQL 查詢。
- dataset:在數(shù)據(jù)庫中存儲字典,支持 SQLite,MySQL 和 PostgreSQL。
- orator:Orator ORM,提供了一個簡單而美觀的 ActiveRecord 實現(xiàn)。
- orm:一個異步的 ORM。
- pony:提供面向生成器的SQL接口的ORM。
- pydal:純 Python 數(shù)據(jù)庫抽象接口層。
- NoSQL 數(shù)據(jù)庫
- django-mongodb-engine:Django MongoDB 后端。
- PynamoDB:Amazon DynamoDB 的一個 Python 風格接口。
- flywheel:Amazon DynamoDB 的對象映射工具。
- MongoEngine:一個 Python 對象文檔映射工具,用于 MongoDB。
- hot-redis:為 Redis 提供 Python 豐富的數(shù)據(jù)類型。
- redisco:一個 Python 庫,提供可以持續(xù)存在在 Redis 中的簡單模型和容器。
- 其他
- butterdb:Google Drive 電子表格的 Python ORM。
62.包管理(Package Management)
管理包和依賴的工具。
- pip:Python 包和依賴關(guān)系管理工具。
- pip-tools:保證 Python 包依賴關(guān)系更新的一組工具。
- PyPI:Python 正式的第三方包軟件存儲庫。
- pipenv:Python 官方推薦的新一代包管理工具。
- poetry:可完全取代 setup.py 的包管理工具。
- conda:跨平臺的 Python 二進制包管理工具。
- Curdling:管理 Python 包的命令行工具。
- wheel:Python 分發(fā)的新標準,意在取代 eggs。
63.包倉庫(Package Repositories)
本地 PyPI 倉庫服務和代理。
- warehouse:下一代 PyPI。
- bandersnatch:PyPA 提供的 PyPI 鏡像工具。
- devpi:PyPI 服務和打包/測試/分發(fā)工具。
- localshop:本地 PyPI 服務(自定義包并且自動對 PyPI 鏡像)。
64.滲透測試(Penetration Testing)
滲透測試相關(guān)框架和工具。
- fsociety:一款滲透測試框架。
- setoolkit:社會工程工具包。
- sqlmap:自動 SQL 注入和數(shù)據(jù)庫接管工具。
65.權(quán)限(Permissions)
允許或拒絕用戶訪問數(shù)據(jù)或功能的庫。
- Carteblanche:站在用戶和設計者角度開發(fā)的一個代碼對齊模塊,很好地處理了代碼導航及權(quán)限。
- django-guardian:Django 1.2+ ,實現(xiàn)了單個對象權(quán)限。
- django-rules:一個小巧但是強大的應用,提供對象級別的權(quán)限管理,且不需要使用數(shù)據(jù)庫。
66.進程(Processes)
操作系統(tǒng)進程啟動及通信庫。
- envoy:比 Python subprocess 模塊更人性化。
- sarge:另一 種 subprocess 模塊的封裝。
- sh:一個完備的 subprocess 替代庫。
- delegator.py:人性化的 Subprocesses 2.0 版本。
67.推薦系統(tǒng)(Recommender Systems)
用于構(gòu)建推薦系統(tǒng)的相關(guān)庫。
- annoy:對 C++/Python 實現(xiàn)的近似近鄰算法進行了內(nèi)存優(yōu)化。
- fastFM:Factorization Machine 相關(guān)庫。
- implicit:對隱式數(shù)據(jù)集進行協(xié)作過濾的快速 Python 實現(xiàn)。
- libffm:Field-aware Factorization Machine (FFM) 相關(guān)庫。
- lightfm:很多流行的推薦算法的 Python 實現(xiàn)。
- spotlight:使用 PyTorch 實現(xiàn)的深度推薦模型。
- Surprise:用于構(gòu)建和分析推薦系統(tǒng)的科學工具。
- tensorrec:TensorFlow 的推薦引擎框架。
68.重構(gòu)(Refactoring)
Python 重構(gòu)相關(guān)庫和工具。
- Bicycle Repair Man:Python 的重構(gòu)工具。
- Bowler:適用于現(xiàn)代Python的安全代碼重構(gòu)。
- Rope:一個 Python 的重構(gòu)庫。
69.RESTful API
用來開發(fā) RESTful APIs 的庫
- Django
- django-rest-framework:一個強大靈活的工具,用來構(gòu)建 web API。
- django-tastypie:為 Django 應用開發(fā) API。
- Flask
- flask-api:為 flask 開發(fā)的,可瀏覽 Web APIs 。
- flask-restful:為 flask 快速創(chuàng)建 REST APIs 。
- 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 學到的知識。
- apistar:專為Python 3設計的智能 Web API 框架。
- fastapi:一個現(xiàn)代,快速,基于標準 Python 類型注解的的 web框架,可使用 Python3.6+ 版本構(gòu)建 API。
- hug:一個為純凈公開的 API 打造的 Python 3 框架。
- sandman2:為數(shù)據(jù)庫驅(qū)動的系統(tǒng)自動生成 REST API。
- vibora:快速高效且支持異步的 Web 框架,靈感來源于 Flask。
70.機器人(Robotics)
機器人相關(guān)庫。
- PythonRobotics:各種具有可視化效果的機器人算法的匯總。
- rospy:ROS (Robot Operating System) 庫。
71.RPC 服務器(RPC Servers)
兼容 RPC 的服務器。
- SimpleJSONRPCServer:這個庫是 JSON-RPC 規(guī)范的一個實現(xiàn)。
- SimpleXMLRPCServer:(Python 標準庫) 簡單的 XML-RPC 服務器實現(xiàn),單線程。
- zeroRPC:zerorpc 是一個靈活的 RPC 實現(xiàn),基于 ZeroMQ 和 MessagePack。
- RPyC (Remote Python Call):適用于 Python 的透明且對稱的RPC庫。
72.科學計算(Science)
- astropy:一個天文學 Python 庫。
- bcbio-nextgen:這個工具箱為全自動高通量測序分析提供符合最佳實踐的處理流程。
- bccb:生物分析相關(guān)代碼集合。
- Biopython:Biopython 是一組可以免費使用的用來進行生物計算的工具。
- cclib:一個用來解析和解釋計算化學軟件包輸出結(jié)果的庫。
- Colour:大量色彩理論轉(zhuǎn)換和算法的實現(xiàn)。
- Karate Club:用于圖形結(jié)構(gòu)化數(shù)據(jù)的無監(jiān)督機器學習工具箱。
- NIPY:神經(jīng)影響學工具箱集合。
- ObsPy:地震學 Python 工具箱。
- QuTiP:Python 版 Quantum 工具箱。
- SimPy:一個基于過程的離散事件模擬框架。
- NetworkX:一個為復雜網(wǎng)絡設計的高性能軟件。
- Neupy:執(zhí)行和測試各種不同的人工神經(jīng)網(wǎng)絡算法。
- NumPy:使用 Python 進行科學計算的基礎包。
- Open Babel:一個化學工具箱,用來描述多種化學數(shù)據(jù)。
- PyDy:PyDy 是 Python Dynamics 的縮寫,用來為動力學運動建模工作流程提供幫助, 基于 NumPy, SciPy, IPython 和 matplotlib。
- PyMC:馬爾科夫鏈蒙特卡洛采樣工具。
- RDKit:化學信息學和機器學習軟件。
- SciPy:由一些基于 Python ,用于數(shù)學,科學和工程的開源軟件構(gòu)成的生態(tài)系統(tǒng)。
- statsmodels:統(tǒng)計建模和計量經(jīng)濟學。
- SymPy:一個用于符號數(shù)學的 Python 庫。
- zipline:一個 Python 算法交易庫。
73.搜索(Search)
對數(shù)據(jù)進行索引和執(zhí)行搜索查詢的庫和軟件。
- django-haystack:Django 模塊化搜索。
- elasticsearch-py:Elasticsearch 的官方底層 Python 客戶端。
- elasticsearch-dsl-py:Elasticsearch 的官方高級 Python 客戶端。
- solrpy:solr 的 Python 客戶端。
- pysolr:支持 Apache Solr 的輕量級 Python 裝飾器。
- Whoosh:一個快速的純 Python 搜索引擎庫。
74.序列化(Serialization)
復雜數(shù)據(jù)類型序列化相關(guān)庫。
- marshmallow:一個輕量級的庫,用于將復雜對象與簡單 Python 數(shù)據(jù)類型相互轉(zhuǎn)換。
- pysimdjson:與 Python 綁定的 simdjson 。
- python-rapidjson: RapidJSON 的 Python 封裝。
- ultrajson:使用 Python 綁定的,用 C 編寫的快速 JSON 解碼器和編碼器。
75.Serverless 框架(Serverless Frameworks)
使用 Python 開發(fā) Serverless 模型相關(guān)的庫。
- python-lambda :在 AWS Lambda 開發(fā)和部署 Python 代碼的工具包。
- Zappa:在 AWS Lambda 和 API Gateway 部署 WSGI 應用的工具。
76.Shell
- xonsh:一種基于 python 的跨平臺,面向 unix 的 shell 語言和命令提示符。
77.特殊文本格式處理(Specific Formats Processing)
一些用來解析和操作特殊文本格式的庫。
- 通用
- 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 更快,更準確,可擴展。
- YAML
- PyYAML:Python 版本的 YAML 解析器。
- CSV
- csvkit:用于轉(zhuǎn)換和操作 CSV 的工具。
- Archive
78.靜態(tài)站點生成器(Static Site Generator)
靜態(tài)站點生成器是一個軟件,它把文本和模板作為輸入,然后輸出 HTML 文件。
- Pelican:使用 Markdown 或 ReST 來處理內(nèi)容, Jinja 2 來制作主題。支持 DVCS, Disqus.。AGPL 許可。
- Cactus:為設計師設計的靜態(tài)站點生成器。
- Hyde:基于 Jinja2 的靜態(tài)站點生成器。
- Nikola:一個靜態(tài)網(wǎng)站和博客生成器。
- Tinkerer:Tinkerer 是一個博客引擎/靜態(tài)站點生成器,由 Sphinx 驅(qū)動。
- Lektor:一個簡單易用的靜態(tài) CMS 和博客引擎。
- makesite:簡單輕量的站點/博客生成器(小于 130 行代碼)。
79.標記(Tagging)
用來進行標記的庫。
- django-taggit:簡單的 Django 標記工具。
80.隊列(Task Queues)
處理事件以及任務隊列的庫。
- celery:一個異步任務隊列/作業(yè)隊列,基于分布式消息傳遞
- daramatiq:適用于Python 3的快速可靠的后臺任務處理庫。
- huey:小型多線程任務隊列。
- mrq:一個 Python 的分布式 worker 任務隊列, 使用 Redis 和 gevent。
- rq:簡單的 Python 作業(yè)隊列。
- simpleq:一個簡單的,可無限擴張的,基于亞馬遜 SQS 的隊列。
81.模板引擎(Template Engine)
模板生成和詞法解析的庫和工具。
- Jinja2:一個現(xiàn)代的,對設計師友好的模板引擎。
- Chameleon:一個 HTML/XML 模板引擎。 模仿了 ZPT(Zope Page Templates), 進行了速度上的優(yōu)化。
- Genshi:Python 模板工具,用以生成 web 感知的結(jié)果。
- Mako:Python 平臺的超高速輕量級模板。
82.測試(Testing)
進行代碼庫測試和生成測試數(shù)據(jù)的庫。
- 測試框架
- unittest:(Python 標準庫) 單元測試框架。
- nose:nose 擴展了 unittest 的功能。
- nose2 nose
的繼任者,基于 unittest2
。 - contexts:一個 Python 3.3+ 的 BDD 框架。受到 C# Machine.Specifications 的啟發(fā)。
- hypothesis:Hypothesis 是一個基于先進的 Quickcheck 風格特性的測試庫。
- mamba:Python 的終極測試工具, 擁護 BDD。
- pyshould:Should 風格的斷言,基于 PyHamcrest。
- pytest:一個成熟的全功能 Python 測試工具。
- green:干凈,多彩的測試工具。
- pyvows:BDD 風格的測試工具,受 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 應用測試工具。
- Schemathesis:基于屬性的自動測試工具,用于測試使用 Open API / Swagger 規(guī)范構(gòu)建的 Web 應用程序。
- Mock 測試
- mock:(Python 標準庫) 一個用于偽造測試的庫。
- 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:一個代碼覆蓋率測試工具,為開源項目提供免費代碼覆蓋率測試服務。
- 偽數(shù)據(jù)
- faker:一個 Python 庫,用來生成偽數(shù)據(jù)。
- fake2db:偽數(shù)據(jù)庫生成器。
- mimesis:一個幫助你生成偽數(shù)據(jù)的 Python 庫。
- radar:生成隨機的日期/時間。
- 錯誤處理
- Fu ckIt.py:使用最先進的技術(shù)來保證你的 Python 代碼無論對錯都能繼續(xù)運行。
83.文本處理(Text Processing)
用于解析和操作文本的庫。
- 通用
- chardet:字符編碼檢測器,兼容 Python 2 和 Python 3。
- difflib:(Python 標準庫)幫助我們進行差異化比較。
- ftfy:讓 Unicode 文本更完整更連貫。
- thefuzz:模糊字符串匹配。
- Levenshtein:快速計算編輯距離以及字符串的相似度。
- pangu.py:在中日韓語字符和數(shù)字字母之間添加空格。
- pypinyin:漢字拼音轉(zhuǎn)換工具 Python 版。
- unidecode:Unicode 文本的 ASCII 轉(zhuǎn)換形式 。
- pyfiglet:figlet 的 Python 實現(xiàn)。
- 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 解析器。
84.第三方 API(Third-party APIs)
用來訪問第三方 API 的庫。 參見: List of Python API Wrappers and Libraries。
- apache-libcloud:一個為各種云設計的 Python 庫。
- boto3:Amazon Web Services 的 Python 接口。
- django-wordpress:Django 的 WordPress 模型與視圖。
- facebook-sdk:Facebook 平臺的 Python SDK。
- facepy:Facepy 讓和 Facebook's Graph API 的交互變得更容易。
- gmail:Gmail 的 Python 接口。
- google-api-python-client:Python 用的 Google APIs 客戶端庫。
- gspread:Google 電子表格的 Python API。
- twython:Twitter API 的封裝。
85.URL 處理(URL Manipulation)
解析 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。
86.視頻(Video)
用來操作視頻和 GIF 的庫。
- moviepy:一個用來進行基于腳本的視頻編輯模塊,適用于多種格式,包括動圖 GIFs。
- scikit-video:SciPy 視頻處理常用程序。
- vidgear: 強大的多線程視頻處理框架。
87.Web 資源管理(Web Asset Management)
管理、壓縮、縮小網(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。
88.網(wǎng)頁內(nèi)容提取(Web Content Extracting)
用于進行網(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 等等。
89.網(wǎng)絡爬取(Web Crawling)
自動化web抓取的庫。
- Scrapy:一個快速高級的屏幕爬取及網(wǎng)頁采集框架。
- ScrapydWeb:一個用于 Scrapyd 集群管理的全功能 web UI,支持 Scrapy 日志分析和可視化,自動打包,定時器任務和郵件通知等特色功能。
- cola:一個分布式爬蟲框架。
- Demiurge:基于 PyQuery 的爬蟲微型框架。
- feedparser:通用 feed 解析器。
- Grab:站點爬取框架。
- MechanicalSoup:用于自動和網(wǎng)絡站點交互的 Python 庫。
- portia:Scrapy 可視化爬取。
- pyspider:一個強大的爬蟲系統(tǒng)。
- RoboBrowser:一個簡單的,Python 風格的庫,用來瀏覽網(wǎng)站,而不需要一個獨立安裝的瀏覽器。
90.Web 框架(Web Frameworks)
全棧 Web 框架。
- Django:Python 界最流行的 web 框架。
- awesome-django(by shahraizali) 系列
- awesome-django(by wsvincent) 系列
- Flask:一個 Python 微型框架。
- Pyramid:一個小巧,快速,接地氣的開源 Python web 框架。
- Bottle:一個快速小巧,輕量級的 WSGI 微型 web 框架。
- CherryPy:一個極簡的 Python web 框架,服從 HTTP/1.1 協(xié)議且具有 WSGI 線程池。
- TurboGears:一個可以擴展為全棧解決方案的微型框架。
- web.py:一個 Python 的 web 框架,既簡單,又強大。
- web2py:一個全棧 web 框架和平臺,專注于簡單易用。
- Tornado:一個 web 框架和異步網(wǎng)絡庫。
- sanic:基于 Python3.5+ 的異步網(wǎng)絡框架。
- starlette: 一款輕量級,高性能的 ASGI 框架。
- Masonite:以開發(fā)者為中心的現(xiàn)代 Python Web 框架。
91.WebSocket
Web socket 相關(guān)庫。
- autobahn-python:適用于 Twisted 和 asyncio 的 Python WebSocket 和 WAMP。
- channels:開發(fā)者友好的 Django 異步工具。
- websockets:一個用于構(gòu)建 WebSocket 服務器和客戶端的庫,著重于正確性和簡單性。
92.WSGI 服務器(WSGI Servers)
兼容 WSGI 的 web 服務器
- bjoern:異步,非常快速,由 C 語言編寫。
- gunicorn:Pre-forked, 部分是由 C 語言編寫的。
- uwsgi:uwsgi 項目的目的是開發(fā)一組全棧工具,用來建立托管服務,由 C 語言編寫。
- waitress:多線程,是它驅(qū)動著 Pyramid 框架。
- Werkzeug:一個 WSGI 工具庫,驅(qū)動著 Flask,而且可以很方便大嵌入到你的項目中去。
- fapws3:異步 (僅對于網(wǎng)絡端),由 C 語言編寫。
- meinheld:異步,部分是由 C 語言編寫的。
- netius:異步,非常快速。
- paste:多線程,穩(wěn)定,久經(jīng)考驗。
- rocket:多線程。
內(nèi)容整理不易,如果覺得有幫助,就麻煩點個贊支持一下吧!
0個必不可少的Python庫也是基本的第三方庫
讀者您好。今天我將介紹20個屬于我常用工具的Python庫,我相信你看完之后也會覺得離不開它們。他們是:
- Requests.Kenneth Reitz寫的最富盛名的http庫。每個Python程序員都應該有它。
- Scrapy.如果你從事爬蟲相關(guān)的工作,那么這個庫也是必不可少的。用過它之后你就不會再想用別的同類庫了。
- wxPython.Python的一個GUI(圖形用戶界面)工具。我主要用它替代tkinter。你一定會愛上它的。
- Pillow.它是PIL(Python圖形庫)的一個友好分支。對于用戶比PIL更加友好,對于任何在圖形領(lǐng)域工作的人是必備的庫。
- SQLAlchemy.一個數(shù)據(jù)庫的庫。對它的評價褒貶參半。是否使用的決定權(quán)在你手里。
- BeautifulSoup.我知道它很慢,但這個xml和html的解析庫對于新手非常有用。
- Twisted.對于網(wǎng)絡應用開發(fā)者最重要的工具。它有非常優(yōu)美的api,被很多Python開發(fā)大牛使用。
- NumPy.我們怎么能缺少這么重要的庫?它為Python提供了很多高級的數(shù)學方法。
- SciPy.既然我們提了NumPy,那就不得不提一下SciPy。這是一個Python的算法和數(shù)學工具庫,它的功能把很多科學家從Ruby吸引到了Python。
- matplotlib.一個繪制數(shù)據(jù)圖的庫。對于數(shù)據(jù)科學家或分析師非常有用。
- Pygame.哪個程序員不喜歡玩游戲和寫游戲?這個庫會讓你在開發(fā)2D游戲的時候如虎添翼。
- Pyglet.3D動畫和游戲開發(fā)引擎。非常有名的Python版本Minecraft就是用這個引擎做的。
- pyQT.Python的GUI工具。這是我在給Python腳本開發(fā)用戶界面時次于wxPython的選擇。
- pyGtk.也是Python GUI庫。很有名的Bittorrent客戶端就是用它做的。
- Scapy.用Python寫的數(shù)據(jù)包探測和分析庫。
- pywin32.一個提供和windows交互的方法和類的Python庫。
- nltk.自然語言工具包。我知道大多數(shù)人不會用它,但它通用性非常高。如果你需要處理字符串的話,它是非常好的庫。但它的功能遠遠不止如此,自己摸索一下吧。
- nose.Python的測試框架。被成千上萬的Python程序員使用。如果你做測試導向的開發(fā),那么它是必不可少的。
- SymPy.SymPy可以做代數(shù)評測、差異化、擴展、復數(shù)等等。它封裝在一個純Python發(fā)行版本里。
- IPython.怎么稱贊這個工具的功能都不為過。它把Python的提示信息做到了極致。包括完成信息、歷史信息、shell功能,以及其他很多很多方面。一定要研究一下它。
【Python系統(tǒng)運維常用庫】
1、psutil是一個跨平臺庫(http://code.google.com/p/psutil/)
能夠?qū)崿F(xiàn)獲取系統(tǒng)運行的進程和系統(tǒng)利用率(內(nèi)存,CPU,磁盤,網(wǎng)絡等),主要用于系統(tǒng)監(jiān)控,分析和系統(tǒng)資源及進程的管理。
2、IPy(http://github.com/haypo/python-ipy),輔助IP規(guī)劃。
3、dnspython(http://dnspython.org)Python實現(xiàn)的一個DNS工具包。
4、difflib:difflib作為Python的標準模塊,無需安裝,作用是對比文本之間的差異。
5、filecmp:系統(tǒng)自帶,可以實現(xiàn)文件,目錄,遍歷子目錄的差異,對比功能。
6、smtplib:發(fā)送電子郵件模塊
7、pycurl(http://pycurl.sourceforge.net)是一個用C語言寫的libcurl Python實現(xiàn),功能強大,支持的協(xié)議有:FTP,HTTP,HTTPS,TELNET等,可以理解為Linux下curl命令功能的Python封裝。
8、XlsxWriter:操作Excel工作表的文字,數(shù)字,公式,圖表等。
9、rrdtool:用于跟蹤對象的變化,生成這些變化的走走勢圖
10、scapy(http://www.wecdev.org/projects/scapy/)是一個強大的交互式數(shù)據(jù)包處理程序,它能夠?qū)?shù)據(jù)包進行偽造或解包,包括發(fā)送數(shù)據(jù)包,包嗅探,應答和反饋等功能。
11、Clam Antivirus免費開放源代碼防毒軟件,pyClamad,可以讓Python模塊直接使用ClamAV病毒掃描守護進程calmd。
12、pexpect:可以理解成Linux下expect的Python封裝,通過pexpect我們可以實現(xiàn)對ssh,ftp,passwd,telnet等命令行進行自動交互,而無需人工干涉來達到自動化的目的。
13、paramiko是基于Python實現(xiàn)的SSH2遠程安裝連接,支持認證及密鑰方式。可以實現(xiàn)遠程命令執(zhí)行,文件傳輸,中間SSH代理等功能。相對于Pexpect,封裝的層次更高,更貼近SSH協(xié)議的功能,官網(wǎng)地址:http://paramiko.org(依賴:Crypto,Ecdsa,Python開發(fā)包python-devel)
14、fabric是基于Python實現(xiàn)的SSH命令行工具,簡化了SSH的應用程序部署及系統(tǒng)管理任務,它提供了系統(tǒng)基礎的操作組件,可以實現(xiàn)本地或遠程shell命令,包括命令執(zhí)行,文件上傳,下載及完整執(zhí)行日志輸出等功能。Fabric在paramiko的基礎上做了更高一層的封裝,操作起來更加簡單。官網(wǎng)地址:http://www.fabfile.org(依賴setuptools,Crypto,paramiko包支持)
15、CGIHTTPRequestHandler實現(xiàn)對CGI的支持。
16、ansible(http://www.ansibleworks.com/)一種集成IT系統(tǒng)的配置管理,應用部署,執(zhí)行特定任務的開源平臺。基于Python實現(xiàn),由Paramiko和PyYAML兩個關(guān)鍵模塊構(gòu)建。Ansibl與Saltstack最大的區(qū)別是Ansible無需在被控主機上部署任何客戶端,默認直接通過SSH通道進行遠程命令執(zhí)行或下發(fā)功能。
17、YAML:是一種用來表達數(shù)據(jù)序列的編程語言。
18、playbook:一個非常簡單的配置管理和多主機部署系統(tǒng)。
19、saltstack(http://saltstack.com)是一個服務器基礎架構(gòu)集中化管理平臺,一般可以理解為簡化版的puppet和加強版的func。Saltstack基于Python語言實現(xiàn),結(jié)合輕量級消息隊列ZeroMQ,與Python每三方模塊(Pyzmq,PyCrypto,Pyjinja2,python-msgpack和PyYAML等)構(gòu)建。
20、func,為解決集群管理,監(jiān)控問題需設計開發(fā)的系統(tǒng)管理基礎框架。
Python 有哪些好的 Web 框架? - 知乎 https://www.zhihu.com/question/20706333
standard libs:
itertools http://docs.python.org/2/library/itertools.htmlfunctools http://docs.python.org/2/library/functools.html 學好python有必要掌握上面這兩個庫吧re 正則subprocess http://docs.python.org/2/library/subprocess.html 調(diào)用shell命令的神器pdb 調(diào)試traceback 調(diào)試pprint 漂亮的輸出logging 日志threading和multiprocessing 多線程urllib/urllib2/httplib http庫,httplib底層一點,推薦第三方的庫requestsos/sys 系統(tǒng),環(huán)境相關(guān)Queue 隊列pickle/cPickle 序列化工具hashlib md5, sha等hash算法cvsjson/simplejson python的json庫,據(jù)so上的討論和benchmark,simplejson的性能要高于jsontimeit 計算代碼運行的時間等等cProfile python性能測量模塊glob 類似與listfile,可以用來查找文件atexit 有一個注冊函數(shù),可用于正好在腳本退出運行前執(zhí)行一些代碼dis python 反匯編,當對某條語句不理解原理時,可以用dis.dis 函數(shù)來查看代碼對應的python 解釋器指令等等。3th libs:
- paramiko https://github.com/paramiko/paramiko ssh python 庫
- selenium https://pypi.python.org/pypi/selenium 瀏覽器自動化測試工具selenium的python 接口
- lxml http://lxml.de/ python 解析html,xml 的神器
- mechanize https://pypi.python.org/pypi/mechanize/ Stateful programmatic web browsing
- pycurl https://pypi.python.org/pypi/pycurl cURL library module for Python
- Fabric http://docs.fabfile.org/en/1.8/ Fabric is a Python (2.5 or higher) library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks.
- xmltodict https://github.com/martinblech/xmltodict xml 轉(zhuǎn) dict,真心好用
- urllib3 和 requests: 當然其實requests就夠了 Requests: HTTP for Humans
- flask http://flask.pocoo.org/python web 微框架
- ipdb 調(diào)試神器,同時推薦ipython!結(jié)合ipython使用
- redis redis python接口
- pymongo mongodbpython接口
- PIL http://www.pythonware.com/products/pil/ python圖像處理
- mako http://www.makotemplates.org/ python模版引擎
- numpy , scipy 科學計算
- matplotlib 畫圖
- scrapy 爬蟲
- django/tornado/web.py/web2py/uliweb/flask/twisted/bottle/cherrypy.等等 python web框架/服務器
- sh 1.08 — sh v1.08 documentation 用來運行shell 模塊的 極佳選擇
環(huán)境管理
管理 Python 版本和環(huán)境的工具
p – 非常簡單的交互式 python 版本管理工具。
pyenv – 簡單的 Python 版本管理工具。
Vex – 可以在虛擬環(huán)境中執(zhí)行命令。
virtualenv – 創(chuàng)建獨立 Python 環(huán)境的工具。
virtualenvwrapper- virtualenv 的一組擴展。
包管理
管理包和依賴的工具。
pip – Python 包和依賴關(guān)系管理工具。
pip-tools – 保證 Python 包依賴關(guān)系更新的一組工具。
conda – 跨平臺,Python 二進制包管理工具。
Curdling – 管理 Python 包的命令行工具。
wheel – Python 分發(fā)的新標準,意在取代 eggs。
包倉庫
本地 PyPI 倉庫服務和代理。
warehouse – 下一代 PyPI。
Warehousebandersnatch – PyPA 提供的 PyPI 鏡像工具。
devpi – PyPI 服務和打包/測試/分發(fā)工具。
localshop – 本地 PyPI 服務(自定義包并且自動對 PyPI 鏡像)。
分發(fā)
打包為可執(zhí)行文件以便分發(fā)。
PyInstaller – 將 Python 程序轉(zhuǎn)換成獨立的執(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本身。
構(gòu)建工具
將源碼編譯成軟件。
buildout – 一個構(gòu)建系統(tǒng),從多個組件來創(chuà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 之上。
文件
文件管理和 MIME(多用途的網(wǎng)際郵件擴充協(xié)議)類型檢測。
imghdr – (Python 標準庫)檢測圖片類型。
mimetypes – (Python 標準庫)將文件名映射為 MIME 類型。
path.py – 對 os.path 進行封裝的模塊。
pathlib – (Python3.4+ 標準庫)跨平臺的、面向?qū)ο蟮穆窂讲僮鲙臁?
python-magic- 文件類型檢測的第三方庫 libmagic 的 Python 接口。
Unipath- 用面向?qū)ο蟮姆绞讲僮魑募湍夸?
watchdog – 管理文件系統(tǒng)事件的 API 和 shell 工具
日期和時間
操作日期和時間的類庫。
arrow- 更好的 Python 日期時間操作類庫。
Chronyk – Python 3 的類庫,用于解析手寫格式的時間和日期。
dateutil – Python datetime 模塊的擴展。
delorean- 解決 Python 中有關(guān)日期處理的棘手問題的庫。
moment – 一個用來處理時間和日期的Python庫。靈感來自于Moment.js。
PyTime – 一個簡單易用的Python模塊,用于通過字符串來操作日期/時間。
pytz – 現(xiàn)代以及歷史版本的世界時區(qū)定義。將時區(qū)數(shù)據(jù)庫引入Python。
when.py – 提供用戶友好的函數(shù)來幫助用戶進行常用的日期和時間操作。
文本處理
用于解析和操作文本的庫。
通用
chardet – 字符編碼檢測器,兼容 Python2 和 Python3。
difflib – (Python 標準庫)幫助我們進行差異化比較。
ftfy – 讓Unicode文本更完整更連貫。
fuzzywuzzy – 模糊字符串匹配。
Levenshtein – 快速計算編輯距離以及字符串的相似度。
pangu.py – 在中日韓語字符和數(shù)字字母之間添加空格。
pyfiglet -figlet 的 Python實現(xiàn)。
shortuuid – 一個生成器庫,用以生成簡潔的,明白的,URL 安全的 UUID。
unidecode – Unicode 文本的 ASCII 轉(zhuǎn)換形式 。
uniout – 打印可讀的字符,而不是轉(zhuǎn)義的字符串。
xpinyin – 一個用于把漢字轉(zhuǎn)換為拼音的庫。
Slug化
awesome-slugify – 一個 Python slug 化庫,可以保持 Unicode。
python-slugify – Python slug 化庫,可以把 unicode 轉(zhuǎn)化為 ASCII。
unicode-slugify – 一個 slug 工具,可以生成 unicode slugs ,需要依賴 Django 。
解析器
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 文件的庫。
python-docx – 讀取,查詢以及修改 Microsoft Word 2007/2008 docx 文件。
unoconv – 在 LibreOffice/OpenOffice 支持的任意文件格式之間進行轉(zhuǎn)換。
XlsxWriter – 一個用于創(chuàng)建 Excel .xlsx 文件的 Python 模塊。
xlwings – 一個使得在 Excel 中方便調(diào)用 Python 的庫(反之亦然),基于 BSD 協(xié)議。
xlwt / xlrd – 讀寫 Excel 文件的數(shù)據(jù)和格式信息。
relatorio – 模板化OpenDocument 文件。
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)。
YAML
PyYAML – Python 版本的 YAML 解析器。
CSV
csvkit – 用于轉(zhuǎn)換和操作 CSV 的工具。
Archive
unp – 一個用來方便解包歸檔文件的命令行工具。
自然語言處理
用來處理人類語言的庫。
NLTK – 一個先進的平臺,用以構(gòu)建處理人類語言數(shù)據(jù)的 Python 程序。
jieba – 中文分詞工具。
langid.py – 獨立的語言識別系統(tǒng)。
Pattern – Python 網(wǎng)絡信息挖掘模塊。
SnowNLP – 一個用來處理中文文本的庫。
TextBlob – 為進行普通自然語言處理任務提供一致的 API。
TextGrocery – 一簡單高效的短文本分類工具,基于 LibLinear 和 Jieba。
文檔
用以生成項目文檔的庫。
Sphinx – Python 文檔生成器。
awesome-sphinxdoc
MkDocs – 對 Markdown 友好的文檔生成器。
pdoc – 一個可以替換Epydoc 的庫,可以自動生成 Python 庫的 API 文檔。
Pycco – 文學編程(literate-programming)風格的文檔生成器。
配置
用來保存和解析配置的庫。
config – logging 模塊作者寫的分級配置模塊。
ConfigObj – INI 文件解析器,帶驗證功能。
ConfigParser – (Python 標準庫) INI 文件解析器。
profig – 通過多種格式進行配置,具有數(shù)值轉(zhuǎn)換功能。
python-decouple – 將設置和代碼完全隔離。
命令行工具
用于創(chuàng)建命令行程序的庫。
命令行程序開發(fā)
cement – Python 的命令行程序框架。
click – 一個通過組合的方式來創(chuàng)建精美命令行界面的包。
cliff – 一個用于創(chuàng)建命令行程序的框架,可以創(chuàng)建具有多層命令的命令行程序。
clint – Python 命令行程序工具。
colorama – 跨平臺彩色終端文本。
docopt – Python 風格的命令行參數(shù)解析器。
Gooey – 一條命令,將命令行程序變成一個 GUI 程序。
python-prompt-toolkit – 一個用于構(gòu)建強大的交互式命令行程序的庫。
生產(chǎn)力工具
aws-cli – Amazon Web Services 的通用命令行界面。
bashplotlib – 在終端中進行基本繪圖。
caniusepython3 – 判斷是哪個項目妨礙你你移植到 Python 3。
cookiecutter – 從 cookiecutters(項目模板)創(chuàng)建項目的一個命令行工具。
doitlive – 一個用來在終端中進行現(xiàn)場演示的工具。
howdoi – 通過命令行獲取即時的編程問題解答。
httpie – 一個命令行HTTP 客戶端,cURL 的替代品,易用性更好。
PathPicker – 從bash輸出中選出文件。
percol – 向UNIX shell 傳統(tǒng)管道概念中加入交互式選擇功能。
SAWS – 一個加強版的 AWS 命令行。
thefuck – 修正你之前的命令行指令。
mycli – 一個 MySQL 命令行客戶端,具有自動補全和語法高亮功能。
pgcli – Postgres 命令行工具,具有自動補全和語法高亮功能。
下載器
用來進行下載的庫.
s3cmd – 一個用來管理Amazon S3 和 CloudFront 的命令行工具。
s4cmd – 超級 S3 命令行工具,性能更加強勁。
you-get – 一個 YouTube/Youku/Niconico 視頻下載器,使用 Python3 編寫。
youtube-dl – 一個小巧的命令行程序,用來下載 YouTube 視頻。
圖像處理
用來操作圖像的庫.
pillow – Pillow 是一個更加易用版的 PIL。
hmap – 圖像直方圖映射。
imgSeek – 一個使用視覺相似性搜索一組圖片集合的項目。
nude.py – 裸體檢測。
pyBarcode – 不借助 PIL 庫在 Python 程序中生成條形碼。
pygram – 類似 Instagram 的圖像濾鏡。
python-qrcode – 一個純 Python 實現(xiàn)的二維碼生成器。
Quads – 基于四叉樹的計算機藝術(shù)。
scikit-image – 一個用于(科學)圖像處理的 Python 庫。
thumbor – 一個小型圖像服務,具有剪裁,尺寸重設和翻轉(zhuǎn)功能。
wand – MagickWand的Python 綁定。MagickWand 是 ImageMagick的 C API 。
OCR
光學字符識別庫。
pyocr – Tesseract 和 Cuneiform 的一個封裝(wrapper)。
pytesseract – Google Tesseract OCR 的另一個封裝(wrapper)。
python-tesseract – Google Tesseract OCR 的一個包裝類。
音頻
用來操作音頻的庫
audiolazy -Python 的數(shù)字信號處理包。
audioread – 交叉庫 (GStreamer + Core Audio + MAD + FFmpeg) 音頻解碼。
beets – 一個音樂庫管理工具及 MusicBrainz 標簽添加工具
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 文件和回放功能。
視頻
用來操作視頻和GIF的庫。
moviepy – 一個用來進行基于腳本的視頻編輯模塊,適用于多種格式,包括動圖 GIFs。
scikit-video – SciPy 視頻處理常用程序。
地理位置
地理編碼地址以及用來處理經(jīng)緯度的庫。
GeoDjango – 世界級地理圖形 web 框架。
GeoIP – MaxMind GeoIP Legacy 數(shù)據(jù)庫的 Python API。
geojson – GeoJSON 的 Python 綁定及工具。
geopy – Python 地址編碼工具箱。
pygeoip – 純 Python GeoIP API。
django-countries – 一個 Django 應用程序,提供用于表格的國家選擇功能,國旗圖標靜態(tài)文件以及模型中的國家字段。
HTTP
使用HTTP的庫。
requests – 人性化的HTTP請求庫。
grequests – requests 庫 + gevent ,用于異步 HTTP 請求.
httplib2 – 全面的 HTTP 客戶端庫。
treq – 類似 requests 的Python API 構(gòu)建于 Twisted HTTP 客戶端之上。
urllib3 – 一個具有線程安全連接池,支持文件 post,清晰友好的 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系列
mysql-python – Python 的 MySQL 數(shù)據(jù)庫連接器。
mysqlclient – mysql-python 分支,支持 Python 3。
oursql – 一個更好的 MySQL 連接器,支持原生預編譯指令和 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字典 – 可以協(xié)同SQLite,MySQL,和 PostgreSQL工作。
pymssql- 一個簡單的Microsoft SQL Server數(shù)據(jù)庫接口。
NoSQL 數(shù)據(jù)庫
cassandra-python-driver – Cassandra 的 Python 驅(qū)動。
HappyBase – 一個為 Apache HBase 設計的,對開發(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 客戶端。
ORM
實現(xiàn)對象關(guān)系映射或數(shù)據(jù)映射技術(shù)的庫。
關(guān)系型數(shù)據(jù)庫
Django Models – Django 的一部分。
SQLAlchemy – Python SQL 工具以及對象關(guān)系映射工具。
awesome-sqlalchemy系列
Peewee – 一個小巧,富有表達力的 ORM。
PonyORM – 提供面向生成器的 SQL 接口的 ORM。
python-sql – 編寫 Python 風格的 SQL 查詢。
NoSQL 數(shù)據(jù)庫
django-mongodb-engine – Django MongoDB 后端。
PynamoDB – Amazon DynamoDB 的一個 Python 風格接口。
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系列
Flask – 一個 Python 微型框架。 https://github.com/humiaozuzu/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)絡庫。
權(quán)限
允許或拒絕用戶訪問數(shù)據(jù)或功能的庫。
Carteblanche – Module to align code with thoughts of users and designers. Also magically handles navigation and permissions.
django-guardian – Django 1.2+ 實現(xiàn)了單個對象權(quán)限。
django-rules – 一個小巧但是強大的應用,提供對象級別的權(quán)限管理,且不需要使用數(shù)據(jù)庫。
CMS
內(nèi)容管理系統(tǒng)
django-cms – 一個開源的,企業(yè)級 CMS,基于 Django。
djedi-cms – 一個輕量級但卻非常強大的 Django CMS ,考慮到了插件,內(nèi)聯(lián)編輯以及性能。
FeinCMS – 基于 Django 構(gòu)建的最先進的內(nèi)容管理系統(tǒng)之一。
Kotti – 一個高級的,Python 范的 web 應用框架,基于 Pyramid 構(gòu)建。
Mezzanine – 一個強大的,持續(xù)的,靈活的內(nèi)容管理平臺。
Opps – 一個為雜志,報紙網(wǎng)站以及大流量門戶網(wǎng)站設計的 CMS 平臺,基于 Django。
Plone – 一個構(gòu)建于開源應用服務器 Zope 之上的 CMS。
Quokka – 靈活,可擴展的小型 CMS,基于 Flask 和 MongoDB。
Wagtail – 一個 Django 內(nèi)容管理系統(tǒng)。
Widgy – 最新的 CMS 框架,基于 Django。
電子商務
用于電子商務以及支付的框架和庫。
django-oscar – 一個用于 Django 的開源的電子商務框架。
django-shop – 一個基于 Django 的店鋪系統(tǒng)。
Cartridge – 一個基于 Mezzanine 構(gòu)建的購物車應用。
shoop – 一個基于 Django 的開源電子商務平臺。
alipay – 非官方的 Python 支付寶 API。
merchant – 一個可以接收來自多種支付平臺支付的 Django 應用。
money – 貨幣類庫with optional CLDR-backed locale-aware formatting and an extensible currency exchange solution.
python-currencies – 顯示貨幣格式以及它的數(shù)值。
RESTful API
用來開發(fā)RESTful APIs的庫
Django
django-rest-framework – 一個強大靈活的工具,用來構(gòu)建 web API。
django-tastypie – 為Django 應用開發(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 學到的知識。
ripozo – 快速創(chuàng)建 REST/HATEOAS/Hypermedia APIs。
驗證
實現(xiàn)驗證方案的庫。
OAuth
Authomatic – 簡單但是強大的框架,身份驗證/授權(quán)客戶端。
django-allauth – Django 的驗證應用。
django-oauth-toolkit – 為 Django 用戶準備的 OAuth2。
django-oauth2-provider – 為 Django 應用提供 OAuth2 接入。
Flask-OAuthlib – OAuth 1.0/a, 2.0 客戶端實現(xiàn),供 Flask 使用。
OAuthLib – 一個 OAuth 請求-簽名邏輯通用、 完整的實現(xiàn)。
python-oauth2 – 一個完全測試的抽象接口。用來創(chuàng)建 OAuth 客戶端和服務端。
python-social-auth – 一個設置簡單的社會化驗證方式。
rauth – OAuth 1.0/a, 2.0, 和 Ofly 的 Python 庫。
sanction – 一個超級簡單的OAuth2 客戶端實現(xiàn)。
其他
jose – JavaScript 對象簽名和加密草案的實現(xiàn)。
PyJWT – JSON Web 令牌草案 01。
python-jws – JSON Web 簽名草案 02 的實現(xiàn)。
python-jwt – 一個用來生成和驗證 JSON Web 令牌的模塊。
模板引擎
模板生成和詞法解析的庫和工具。
Jinja2 – 一個現(xiàn)代的,對設計師友好的模板引擎。
Chameleon – 一個 HTML/XML 模板引擎。 模仿了 ZPT(Zope Page Templates), 進行了速度上的優(yōu)化。
Genshi – Python 模板工具,用以生成 web 感知的結(jié)果。
Mako – Python 平臺的超高速輕量級模板。
Queue
處理事件以及任務隊列的庫。
celery – 一個異步任務隊列/作業(yè)隊列,基于分布式消息傳遞。
huey – 小型多線程任務隊列。
mrq – Mr. Queue -一個 Python 的分布式 worker 任務隊列, 使用 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 客戶端。
Whoosh – 一個快速的純 Python 搜索引擎庫。
動態(tài)消息
用來創(chuàng)建用戶活動的庫。
django-activity-stream – 從你的站點行為中生成通用活動信息流。
Stream-Framework – 使用 Cassandra 和 Redis 創(chuàng)建動態(tài)消息和通知系統(tǒng)。
資源管理
管理、壓縮、縮小網(wǎ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 – 一個 Jinja 擴展,用來編譯和壓縮你的資源。
webassets – 為你的靜態(tài)資源打包、優(yōu)化和管理生成獨一無二的緩存 URL。
緩存
緩存數(shù)據(jù)的庫。
Beaker – 一個緩存和會話庫,可以用在 web 應用和獨立 Python腳本和應用上。
django-cache-machine – Django 模型的自動緩存和失效。
django-cacheops- 具有自動顆粒化事件驅(qū)動失效功能的 ORM。
django-viewlet – 渲染模板,同時具有額外的緩存控制功能。
dogpile.cache – dogpile.cache 是 Beaker 的下一代替代品,由同一作者開發(fā)。
HermesCache – Python 緩存庫,具有基于標簽的失效和 dogpile effect 保護功能。
johnny-cache – django應用緩存框架。
pylibmc – libmemcached 接口的 Python 封裝。
電子郵件
用來發(fā)送和解析電子郵件的庫。
django-celery-ses – 帶有 AWS SES 和 Celery 的 Django email 后端。
envelopes – 供人類使用的電子郵件庫。
flanker – 一個 email 地址和 Mime 解析庫。
imbox – Python IMAP 庫
inbox.py – Python SMTP 服務器。
inbox – 一個開源電子郵件工具箱。
lamson – Python 風格的 SMTP 應用服務器。
mailjet – Mailjet API 實現(xiàn),用來提供批量發(fā)送郵件,統(tǒng)計等功能。
marrow.mailer – 高性能可擴展郵件分發(fā)框架。
modoboa – 一個郵件托管和管理平臺,具有現(xiàn)代的、簡約的 Web UI。
pyzmail – 創(chuàng)建,發(fā)送和解析電子郵件。
Talon – Mailgun 庫,用來抽取信息和簽名。
國際化
用來進行國際化的庫。
Babel – 一個Python 的國際化庫。
Korean – 一個韓語詞態(tài)庫。
URL處理
解析URLs的庫
furl – 一個讓處理 URL 更簡單小型 Python 庫。
purl – 一個簡單的,不可變的URL類,具有簡潔的 API 來進行詢問和處理。
pyshorteners – 一個純 Python URL 縮短庫。
shorturl- 生成短小 URL 和類似 http://bit.ly 短鏈的Python 實現(xiàn)。
webargs – 一個解析 HTTP 請求參數(shù)的庫,內(nèi)置對流行 web 框架的支持,包括 Flask, Django, Bottle, Tornado和 Pyramid。
HTML處理
處理 HTML和XML的庫。
BeautifulSoup – 以 Python 風格的方式來對 HTML 或 XML 進行迭代,搜索和修改。
bleach – 一個基于白名單的 HTML 清理和文本鏈接庫。
cssutils – 一個 Python 的 CSS 庫。
html5lib – 一個兼容標準的 HTML 文檔和片段解析及序列化庫。
lxml – 一個非常快速,簡單易用,功能齊全的庫,用來處理 HTML 和 XML。
MarkupSafe – 為Python 實現(xiàn) XML/HTML/XHTML 標記安全字符串。
pyquery – 一個解析 HTML 的庫,類似 jQuery。
untangle – 將XML文檔轉(zhuǎn)換為Python對象,使其可以方便的訪問。
xhtml2pdf – HTML/CSS 轉(zhuǎn) PDF 工具。
xmltodict – 像處理 JSON 一樣處理 XML。
網(wǎng)絡站點爬取
爬取網(wǎng)絡站點的庫
Scrapy – 一個快速高級的屏幕爬取及網(wǎng)頁采集框架。
cola – 一個分布式爬蟲框架。
Demiurge – 基于PyQuery 的爬蟲微型框架。
feedparser – 通用 feed 解析器。
Grab – 站點爬取框架。
MechanicalSoup – 用于自動和網(wǎng)絡站點交互的 Python 庫。
portia – Scrapy 可視化爬取。
pyspider – 一個強大的爬蟲系統(tǒng)。
RoboBrowser – 一個簡單的,Python 風格的庫,用來瀏覽網(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)容/文章提取器。
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-crispy-forms – 一個 Django 應用,他可以讓你以一種非常優(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 – A mappings-validator with a variety of rules, normalization-features and simple customization that uses a pythonic schema-definition.
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ù)。
反垃圾技術(shù)
幫助你和電子垃圾進行戰(zhàn)斗的庫。
django-simple-captcha – 一個簡單、高度可定制的Django 應用,可以為任何Django表單添加驗證碼。
django-simple-spam-blocker- 一個用于Django的簡單的電子垃圾屏蔽工具。
標記
用來進行標記的庫。
django-taggit – 簡單的 Django 標記工具。
管理面板
管理界面庫。
Ajenti – 一個你的服務器值得擁有的管理面板。
django-suit – Django 管理界面的一個替代品 (僅對于非商業(yè)用途是免費的)。
django-xadmin – Django admin 的一個替代品,具有很多不錯的功能。
flask-admin – 一個用于 Flask 的簡單可擴展的管理界面框架。
flower – 一個對 Celery 集群進行實時監(jiān)控和提供 web 管理界面的工具。
Grappelli – Django 管理界面的一個漂亮的皮膚。
Wooey – 一個 Django 應用,可以為 Python 腳本創(chuàng)建 web 用戶界面。
靜態(tài)站點生成器
靜態(tài)站點生成器是一個軟件,它把文本和模板作為輸入,然后輸出HTML文件。
Pelican – 使用 Markdown 或 ReST 來處理內(nèi)容, Jinja 2 來制作主題。支持 DVCS, Disqus.。AGPL 許可。
Cactus – 為設計師設計的靜態(tài)站點生成器。
Hyde – 基于 Jinja2 的靜態(tài)站點生成器。
Nikola – 一個靜態(tài)網(wǎng)站和博客生成器。
Tinkerer – Tinkerer 是一個博客引擎/靜態(tài)站點生成器,由Sphinx驅(qū)動。
Lektor – 一個簡單易用的靜態(tài) CMS 和博客引擎。
進程
操作系統(tǒng)進程啟動及通信庫。
envoy – 比 Python subprocess 模塊更人性化。
sarge – 另一 種 subprocess 模塊的封裝。
sh – 一個完備的 subprocess 替代庫。
并發(fā)和并行
用以進行并發(fā)和并行操作的庫。
multiprocessing – (Python 標準庫) 基于進程的“線程”接口。
threading – (Python 標準庫)更高層的線程接口。
eventlet – 支持 WSGI 的異步框架。
gevent – 一個基于協(xié)程的 Python 網(wǎng)絡庫,使用greenlet。
Tomorrow -用于產(chǎn)生異步代碼的神奇的裝飾器語法實現(xiàn)。
網(wǎng)絡
用于網(wǎng)絡編程的庫。
asyncio – (Python 標準庫) 異步 I/O, 事件循環(huán), 協(xié)程以及任務。
Twisted – 一個事件驅(qū)動的網(wǎng)絡引擎。
pulsar – 事件驅(qū)動的并發(fā)框架。
diesel – 基于Greenlet 的事件 I/O 框架。
pyzmq – 一個 ZeroMQ 消息庫的 Python 封裝。
txZMQ – 基于 Twisted 的 ZeroMQ 消息庫的 Python 封裝。
WebSocket
幫助使用WebSocket的庫。
AutobahnPython – 給 Python 、使用的 WebSocket & WAMP 基于 Twisted 和 asyncio。
Crossbar – 開源統(tǒng)一應用路由(Websocket & WAMP for Python on Autobahn).
django-socketio – 給 Django 用的 WebSockets。
WebSocket-for-Python – 為Python2/3 以及 PyPy 編寫的 WebSocket 客戶端和服務器庫。
WSGI 服務器
兼容 WSGI 的 web 服務器
gunicorn – Pre-forked, 部分是由 C 語言編寫的。
uwsgi – uwsgi 項目的目的是開發(fā)一組全棧工具,用來建立托管服務, 由 C 語言編寫。
bjoern – 異步,非常快速,由 C 語言編寫。
fapws3 – 異步 (僅對于網(wǎng)絡端),由 C 語言編寫。
meinheld – 異步,部分是由 C 語言編寫的。
netius – 異步,非常快速。
paste – 多線程,穩(wěn)定,久經(jīng)考驗。
rocket – 多線程。
waitress – 多線程, 是它驅(qū)動著 Pyramid 框架。
Werkzeug – 一個 WSGI 工具庫,驅(qū)動著 Flask ,而且可以很方便大嵌入到你的項目中去。
RPC 服務器
兼容 RPC 的服務器。
SimpleJSONRPCServer – 這個庫是 JSON-RPC 規(guī)范的一個實現(xiàn)。
SimpleXMLRPCServer – (Python 標準庫) 簡單的 XML-RPC 服務器實現(xiàn),單線程。
zeroRPC – zerorpc 是一個靈活的 RPC 實現(xiàn),基于 ZeroMQ 和 MessagePack。
密碼學
cryptography – 這個軟件包意在提供密碼學基本內(nèi)容和方法提供給 Python 開發(fā)者。
hashids – 在 Python 中實現(xiàn) hashids 。
Paramiko – SSHv2 協(xié)議的 Python (2.6+, 3.3+) ,提供客戶端和服務端的功能。
Passlib – 安全密碼存儲/哈希庫,
PyCrypto – Python 密碼學工具箱。
PyNacl – 網(wǎng)絡和密碼學(NaCl) 庫的 Python 綁定。
圖形用戶界面
用來創(chuàng)建圖形用戶界面程序的庫。
curses – 內(nèi)建的 ncurses 封裝,用來創(chuàng)建終端圖形用戶界面。
enaml – 使用類似 QML 的Declaratic語法來創(chuàng)建美觀的用戶界面。
kivy – 一個用來創(chuàng)建自然用戶交互(NUI)應用程序的庫,可以運行在 Windows, Linux, Mac OS X, Android 以及 iOS平臺上。
pyglet – 一個Python 的跨平臺窗口及多媒體庫。
PyQt – 跨平臺用戶界面框架 Qt 的 Python 綁定 ,支持Qt v4 和 Qt v5。
PySide – P跨平臺用戶界面框架 Qt 的 Python 綁定 ,支持Qt v4。
Tkinter – Tkinter 是 Python GUI 的一個事實標準庫。
Toga – 一個 Python 原生的, 操作系統(tǒng)原生的 GUI 工具包。
urwid – 一個用來創(chuàng)建終端 GUI 應用的庫,支持組件,事件和豐富的色彩等。
wxPython – wxPython 是 wxWidgets C++ 類庫和 Python 語言混合的產(chǎn)物。
PyGObject – GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 綁定
Flexx – Flexx 是一個純 Python 語言編寫的用來創(chuàng)建 GUI 程序的工具集,它使用 web 技術(shù)進行界面的展示。
游戲開發(fā)
超贊的游戲開發(fā)庫。
Cocos2d – cocos2d 是一個用來開發(fā) 2D 游戲, 示例和其他圖形/交互應用的框架。基于 pyglet。
Panda3D – 由迪士尼開發(fā)的 3D 游戲引擎,并由卡內(nèi)基梅隴娛樂技術(shù)中心負責維護。使用C++編寫, 針對 Python 進行了完全的封裝。
Pygame – Pygame 是一組 Python 模塊,用來編寫游戲。
PyOgre – Ogre 3D 渲染引擎的 Python 綁定,可以用來開發(fā)游戲和仿真程序等任何 3D 應用。
PyOpenGL – OpenGL 的 Python 綁定及其相關(guān) APIs。
PySDL2 – SDL2 庫的封裝,基于 ctypes。
RenPy – 一個視覺小說(visual novel)引擎。
日志
用來生成和操作日志的庫。
logging – (Python 標準庫) 為 Python 提供日志功能。
logbook – Logging 庫的替代品。
Eliot – 為復雜的和分布式系統(tǒng)創(chuàng)建日志。
Raven – Sentry的 Python 客戶端。
Sentry – 實時記錄和收集日志的服務器。
測試
進行代碼庫測試和生成測試數(shù)據(jù)的庫。
測試框架
unittest – (Python 標準庫) 單元測試框架。
nose – nose 擴展了 unittest 的功能。
contexts – 一個 Python 3.3+ 的 BDD 框架。受到C# – Machine.Specifications的啟發(fā)。
hypothesis – Hypothesis 是一個基于先進的 Quickcheck 風格特性的測試庫。
mamba – Python 的終極測試工具, 擁護BDD。
PyAutoGUI – PyAutoGUI 是一個人性化的跨平臺 GUI 自動測試模塊。
pyshould- Should 風格的斷言,基于 PyHamcrest。
pytest- 一個成熟的全功能 Python 測試工具。
green- 干凈,多彩的測試工具。
pyvows- BDD 風格的測試工具,受Vows.js的啟發(fā)。
Robot Framework – 一個通用的自動化測試框架。
Web 測試
Selenium – Selenium WebDriver 的 Python 綁定。
locust – 使用 Python 編寫的,可擴展的用戶加載測試工具。
sixpack – 一個和語言無關(guān)的 A/B 測試框架。
splinter – 開源的 web 應用測試工具。
Mock測試
mock – (Python 標準庫) 一個用于偽造測試的庫。
doublex – Python 的一個功能強大的 doubles 測試框架。
freezegun – 通過偽造日期模塊來生成不同的時間。
httmock – 針對 Python 2.6+ 和 3.2+ 生成 偽造請求的庫。
httpretty – Python 的 HTTP 請求 mock 工具。
responses – 偽造 Python 中的 requests 庫的一個通用庫。
VCR.py – 在你的測試中記錄和重放 HTTP 交互。
對象工廠
factoryboy – 一個 Python 用的測試固件 (test fixtures) 替代庫。
mixer – 另外一個測試固件 (test fixtures) 替代庫,支持 Django, Flask, SQLAlchemy, Peewee 等。
modelmommy – 為 Django 測試創(chuàng)建隨機固件
代碼覆蓋率
coverage – 代碼覆蓋率測量。
偽數(shù)據(jù)
faker – 一個 Python 庫,用來生成偽數(shù)據(jù)。
fake2db – 偽數(shù)據(jù)庫生成器。
radar – 生成隨機的日期/時間。
錯誤處理
FuckIt.py – FuckIt.py 使用最先進的技術(shù)來保證你的 Python 代碼無論對錯都能繼續(xù)運行。
代碼分析和Lint工具
進行代碼分析,解析和操作代碼庫的庫和工具。
代碼分析
code2flow – 把你的 Python 和 JavaScript 代碼轉(zhuǎn)換為流程圖。
pycallgraph -這個庫可以把你的Python 應用的流程(調(diào)用圖)進行可視化。
pysonar2 – Python 類型推斷和檢索工具。
Lint工具
Flake8 – 模塊化源碼檢查工具: pep8, pyflakes 以及 co。
Pylint – 一個完全可定制的源碼分析器。
pylama – Python 和 JavaScript 的代碼審查工具。
調(diào)試工具
用來進行代碼調(diào)試的庫。
調(diào)試器
ipdb – IPython 啟用的 pdb。
pudb – 全屏,基于控制臺的 Python 調(diào)試器。
pyringe – 可以在 Python 進程中附加和注入代碼的調(diào)試器。
wdb – 一個奇異的 web 調(diào)試器,通過 WebSockets 工作。
winpdb – 一個具有圖形用戶界面的 Python 調(diào)試器,可以進行遠程調(diào)試,基于 rpdb2。
django-debug-toolbar – 為 Django 顯示各種調(diào)試信息。
django-devserver – 一個 Django 運行服務器的替代品。
flask-debugtoolbar – django-debug-toolbar 的 flask 版。
性能分析器
lineprofiler – 逐行性能分析。
memoryprofiler – 監(jiān)控 Python 代碼的內(nèi)存使用。
profiling – 一個交互式 Python 性能分析工具。
其他
pyelftools – 解析和分析 ELF 文件以及 DWARF 調(diào)試信息。
python-statsd – statsd 服務器的 Python 客戶端。
科學技術(shù)和數(shù)據(jù)分析
用來進行科學計算和數(shù)據(jù)分析的庫。
astropy – 一個天文學 Python 庫。
bcbio-nextgen – 這個工具箱為全自動高通量測序分析提供符合最佳實踐的處理流程。
bccb – 生物分析相關(guān)代碼集合
Biopython – Biopython 是一組可以免費使用的用來進行生物計算的工具。
blaze – NumPy 和 Pandas 的大數(shù)據(jù)接口。
cclib – 一個用來解析和解釋計算化學軟件包輸出結(jié)果的庫。
NetworkX – 一個為復雜網(wǎng)絡設計的高性能軟件。
Neupy – 執(zhí)行和測試各種不同的人工神經(jīng)網(wǎng)絡算法。
Numba – Python JIT (just in time) 編譯器,針對科學用的 Python ,由Cython 和 NumPy 的開發(fā)者開發(fā)。
NumPy – 使用 Python 進行科學計算的基礎包。
Open Babel – 一個化學工具箱,用來描述多種化學數(shù)據(jù)。
Open Mining – 使用 Python 挖掘商業(yè)情報 (BI) (Pandas web 接口)。
orange – 通過可視化編程或 Python 腳本進行數(shù)據(jù)挖掘,數(shù)據(jù)可視化,分析和機器學習。
Pandas – 提供高性能,易用的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具。
PyDy – PyDy 是 Python Dynamics 的縮寫,用來為動力學運動建模工作流程提供幫助, 基于 NumPy, SciPy, IPython 和 matplotlib。
PyMC – 馬爾科夫鏈蒙特卡洛采樣工具。
RDKit – 化學信息學和機器學習軟件。
SciPy – 由一些基于 Python ,用于數(shù)學,科學和工程的開源軟件構(gòu)成的生態(tài)系統(tǒng)。
statsmodels – 統(tǒng)計建模和計量經(jīng)濟學。
SymPy – 一個用于符號數(shù)學的 Python 庫。
zipline – 一個 Python 算法交易庫。
數(shù)據(jù)可視化
進行數(shù)據(jù)可視化的庫。 參見: awesome-javascript。
matplotlib – 一個 Python 2D 繪圖庫。
bokeh – 用 Python 進行交互式 web 繪圖。
ggplot – ggplot2 給 R 提供的 API 的 Python 版本。
plotly – 協(xié)同 Python 和 matplotlib 工作的 web 繪圖庫。
pygal – 一個 Python SVG 圖表創(chuàng)建工具。
pygraphviz – Graphviz 的 Python 接口。
PyQtGraph – 交互式實時2D/3D/圖像繪制及科學/工程學組件。
SnakeViz – 一個基于瀏覽器的 Python’s cProfile 模塊輸出結(jié)果查看工具。
vincent – 把 Python 轉(zhuǎn)換為 Vega 語法的轉(zhuǎn)換工具。
VisPy – 基于 OpenGL 的高性能科學可視化工具。
計算機視覺
計算機視覺庫。
OpenCV – 開源計算機視覺庫。
SimpleCV – 一個用來創(chuàng)建計算機視覺應用的開源框架。
機器學習
機器學習庫。 參見: awesome-machine-learning.
Crab – 靈活、快速的推薦引擎。
gensim – 人性化的話題建模庫。
hebel – GPU 加速的深度學習庫。
NuPIC – 智能計算 Numenta 平臺。
pattern – Python 網(wǎng)絡挖掘模塊。
PyBrain – 另一個 Python 機器學習庫。
Pylearn2 – 一個基于 Theano 的機器學習庫。
python-recsys – 一個用來實現(xiàn)推薦系統(tǒng)的 Python 庫。
scikit-learn – 基于 SciPy 構(gòu)建的機器學習 Python 模塊。
pydeep – Python 深度學習庫。
vowpalporpoise – 輕量級 Vowpal Wabbit 的 Python 封裝。
skflow – 一個 TensorFlow 的簡化接口(模仿 scikit-learn)。
MapReduce
MapReduce 框架和庫。
dpark – Spark 的 Python 克隆版,一個類似 MapReduce 的框架。
dumbo – 這個 Python 模塊可以讓人輕松的編寫和運行 Hadoop 程序。
luigi – 這個模塊幫你構(gòu)建批處理作業(yè)的復雜流水線。
mrjob – 在 Hadoop 或 Amazon Web Services 上運行 MapReduce 任務。
PySpark – Spark 的 Python API 。
streamparse – 運行針對事實數(shù)據(jù)流的 Python 代碼。集成了Apache Storm。
函數(shù)式編程
使用 Python 進行函數(shù)式編程。
CyToolz – Toolz 的 Cython 實現(xiàn) : 高性能函數(shù)式工具。
fn.py – 在 Python 中進行函數(shù)式編程 : 實現(xiàn)了一些享受函數(shù)式編程缺失的功能。
funcy – 炫酷又實用的函數(shù)式工具。
Toolz – 一組用于迭代器,函數(shù)和字典的函數(shù)式編程工具。
第三方 API
用來訪問第三方 API的庫。 參見: List of Python API Wrappers and Libraries。
apache-libcloud – 一個為各種云設計的 Python 庫。
boto – Amazon Web Services 的 Python 接口。
django-wordpress – WordPress models and views for Django.
facebook-sdk – Facebook 平臺的 Python SDK.
facepy – Facepy 讓和 Facebook’s Graph API 的交互變得更容易。
gmail – Gmail 的 Python 接口。
google-api-python-client – Python 用的 Google APIs 客戶端庫。
gspread – Google 電子表格的 Python API.
twython – Twitter API 的封裝。
DevOps 工具
用于 DevOps 的軟件和庫。
Ansible – 一個非常簡單的 IT 自動化平臺。
SaltStack – 基礎設施自動化和管理系統(tǒng)。
OpenStack – 用于構(gòu)建私有和公有云的開源軟件。
Docker Compose – 快速,分離的開發(fā)環(huán)境,使用 Docker。
Fabric – 一個簡單的,Python 風格的工具,用來進行遠程執(zhí)行和部署。
cuisine – 為 Fabric 提供一系列高級函數(shù)。
Fabtools – 一個用來編寫超贊的 Fabric 文件的工具。
gitapi – Git 的純 Python API。
hgapi – Mercurial 的純 Python API。
honcho – Foreman的 Python 克隆版,用來管理基于Procfile的應用。
pexpect – Controlling interactive programs in a pseudo-terminal like 在一個偽終端中控制交互程序,就像 GNU expect 一樣。
psutil – 一個跨平臺進程和系統(tǒng)工具模塊。
supervisor – UNIX 的進程控制系統(tǒng)。
任務調(diào)度
任務調(diào)度庫。
APScheduler – 輕巧但強大的進程內(nèi)任務調(diào)度,使你可以調(diào)度函數(shù)。
django-schedule – 一個 Django 排程應用。
doit – 一個任務執(zhí)行和構(gòu)建工具。
gunnery – 分布式系統(tǒng)使用的多用途任務執(zhí)行工具 ,具有 web 交互界面。
Joblib – 一組為 Python 提供輕量級作業(yè)流水線的工具。
Plan – 如有神助地編寫 crontab 文件。
schedule – 人性化的 Python 任務調(diào)度庫。
Spiff – 使用純 Python 實現(xiàn)的強大的工作流引擎。
TaskFlow – 一個可以讓你方便執(zhí)行任務的 Python 庫,一致并且可靠。
外來函數(shù)接口
使用外來函數(shù)接口的庫。
cffi – 用來調(diào)用 C 代碼的外來函數(shù)接口。
ctypes – (Python 標準庫) 用來調(diào)用 C 代碼的外來函數(shù)接口。
PyCUDA – Nvidia CUDA API 的封裝。
SWIG – 簡化的封裝和接口生成器。
高性能
讓 Python 更快的庫。
Cython – 優(yōu)化的 Python 靜態(tài)編譯器。使用類型混合使 Python 編譯成 C 或 C++ 模塊來獲得性能的極大提升。
PeachPy – 嵌入 Python 的 x86-64 匯編器。可以被用作 Python 內(nèi)聯(lián)的匯編器或者是獨立的匯編器,用于 Windows, Linux, OS X, Native Client 或者 Go 。
PyPy – 使用 Python 實現(xiàn)的 Python。解釋器使用黑魔法加快 Python 運行速度且不需要加入額外的類型信息。
Pyston – 使用 LLVM 和現(xiàn)代 JIT 技術(shù)構(gòu)建的 Python 實現(xiàn),目標是為了獲得很好的性能。
Stackless Python – 一個強化版的 Python。
微軟的 Windows平臺
在 Windows 平臺上進行 Python 編程。
Python(x,y) – 面向科學應用的 Python 發(fā)行版,基于 Qt 和 Spyder。
pythonlibs – 非官方的 Windows 平臺 Python 擴展二進制包。
PythonNet – Python 與 .NET 公共語言運行庫 (CLR)的集成。
PyWin32 – 針對 Windows 的Python 擴展。
WinPython – Windows 7/8 系統(tǒng)下便攜式開發(fā)環(huán)境。
網(wǎng)絡可視化和SDN
用來進行網(wǎng)絡可視化和SDN(軟件定義網(wǎng)絡)的工具和庫。
Mininet – 一款流行的網(wǎng)絡模擬器以及用 Python 編寫的 API。
POX – 一個針對基于 Python 的軟件定義網(wǎng)絡應用(例如 OpenFlow SDN 控制器)的開源開發(fā)平臺。
Pyretic – 火熱的 SDN 編程語言中的一員,為網(wǎng)絡交換機和模擬器提供強大的抽象能力。
SDX Platform – 基于 SDN 的 IXP 實現(xiàn),影響了 Mininet, POX 和 Pyretic。
硬件
用來對硬件進行編程的庫。
ino -操作Arduino的命令行工具。
Pyro – Python 機器人編程庫。
PyUserInput – 跨平臺的,控制鼠標和鍵盤的模塊。
scapy – 一個非常棒的操作數(shù)據(jù)包的庫。
wifi – 一個 Python 庫和命令行工具用來在 Linux 平臺上操作WiFi。
Pingo – Pingo 為類似Raspberry Pi,pcDuino, Intel Galileo等設備提供統(tǒng)一的API用以編程。
兼容性
幫助從 Python 2 向 Python 3遷移的庫。
Python-Future – 這就是 Python 2 和 Python 3 之間丟失的那個兼容性層。
Python-Modernize – 使 Python 代碼更加現(xiàn)代化以便最終遷移到 Python 3。
Six – Python 2 和 3 的兼容性工具。
雜項
不屬于上面任何一個類別,但是非常有用的庫。
blinker – 一個快速的 Python 進程內(nèi)信號/事件分發(fā)系統(tǒng)。
itsdangerous – 一系列輔助工具用來將可信的數(shù)據(jù)傳入不可信的環(huán)境。
pluginbase – 一個簡單但是非常靈活的 Python 插件系統(tǒng)。
Pychievements – 一個用來創(chuàng)建和追蹤成就的 Python 框架。
Tryton – 一個通用商務框架。
算法和設計模式
Python 實現(xiàn)的算法和設計模式。
algorithms -一個 Python 算法模塊
python-patterns – Python 設計模式的集合。
sortedcontainers – 快速,純 Python 實現(xiàn)的SortedList,SortedDict 和 SortedSet 類型。
編輯器插件
編輯器和 IDE 的插件
Emacs
Elpy – Emacs Python 開發(fā)環(huán)境。
Sublime Text
SublimeJEDI – 一個 Sublime Text 插件,用來使用超贊的自動補全庫 Jedi。
Anaconda – Anaconda 把你的 Sublime Text 3 變成一個功能齊全的 Python IDE。
Vim
YouCompleteMe – 引入基于 Jedi 的 Python 自動補全引擎。
Jedi-vim – 綁定 Vim 和 Jedi 自動補全庫對 Python 進行自動補全。
Python-mode – 將 Vim 變成 Python IDE 的一款多合一插件。
Visual Studio
PTVS – Visual Studio 的 Python 工具
集成開發(fā)環(huán)境
流行的 Python 集成開發(fā)環(huán)境。
PyCharm – 商業(yè)化的 Python IDE ,由 JetBrains 開發(fā)。也有免費的社區(qū)版提供。
LiClipse – 基于 Eclipse 的免費多語言 IDE 。使用 PyDev 來支持 Python 。
Spyder – 開源 Python IDE。
服務
在線工具和簡化開發(fā)的 API 。
持續(xù)集成
參見: awesome-CIandCD.
Travis CI – 一個流行的工具,為你的開源和私人項目提供持續(xù)集成服務。(僅支持 GitHub)
CircleCI – 一個持續(xù)集成工具,可以非常快速的進行并行測試。 (僅支持 GitHub)
Vexor CI – 一個為私人 app 提供持續(xù)集成的工具,支持按分鐘付費。
Wercker – 基于 Docker 平臺,用來構(gòu)建和部署微服務。
代碼質(zhì)量
Codacy – 自動化代碼審查,更加快速的發(fā)布高質(zhì)量代碼。對于開源項目是免費的。
QuantifiedCode – 一個數(shù)據(jù)驅(qū)動、自動、持續(xù)的代碼審查工具。
資源
在這里可以找到新的 Python 庫。
網(wǎng)站
r/Python
CoolGithubProjects
Django Packages
Full Stack Python
Python 3 Wall of Superpowers
Python Hackers
Python ZEEF
Trending Python repositories on GitHub today
PyPI Ranking
周刊
Import Python Newsletter
Pycoder’s Weekly
Python Weekly
Twitter
@codetengu
@getpy
@planetpython
@pycoders
@pypi
@pythontrending
@PythonWeekly
原生:
系統(tǒng)調(diào)用的subprocess
多線程的multiprocessing
第三方:
系統(tǒng)管理推薦fabric和salt
WEB框架推薦flask和tornado
ORM推薦SQLAlchemy
功能型的都是各取所需 就說些好用的吧
Tornado: 和其他Python框架的架構(gòu)可謂大相徑庭,Request的處理方式也很舒服,特別適合REST,誰用誰知道
Mako: 個人認為是最好的Template,簡單 性能好
SQLAlchemy: 快一統(tǒng)ORM了吧
Quixote:其實還是蠻好用的
pyQuery: 用jQuery的語法寫爬蟲 略爽
看完有所收獲?希望愛學習的你不要吝嗇三連擊[轉(zhuǎn)發(fā)+ 收藏 ]~
關(guān)注我的原創(chuàng)公眾號:「Python社區(qū)營」,更多優(yōu)質(zhì)的技術(shù)文章第一時間更新。
.很多小伙伴糾結(jié)于這個一百天的時間,我覺得完全沒有必要,也違背了我最初放這個大綱上來的初衷,我是覺得這個學習大綱還不錯,自學按照這個來也能相對系統(tǒng)的學習知識,而不是零散細碎的知識最后無法整合,每個人的基礎以及學習進度都不一樣,沒有必要糾結(jié)于一百天這個時間,甭管你是用三個月還是用一年來學習這些東西,最后學到了不就是收獲嗎?何必糾結(jié)于這一百天,覺得這一百天學習不完我就放棄了呢?(另,項目后面沒有更新完,大家可以按照這個框架去學習,沒有更新完的大家可以自行找資料。)
給初學者的幾個建議:
- Make English as your working language.
- Practice makes perfect.
- All experience comes from mistakes.
- Don't be one of the leeches.
- Either stand out or kicked out.
下面是這個一百天計劃里面的學習框架,我在這里放上來。
Day01~15 - Python語言基礎
Day01 - 初識Python
Python簡介 - Python的歷史 / Python的優(yōu)缺點 / Python的應用領(lǐng)域
搭建編程環(huán)境 - Windows環(huán)境 / Linux環(huán)境 / MacOS環(huán)境
從終端運行Python程序 - Hello, world / print函數(shù) / 運行程序
使用IDLE - 交互式環(huán)境(REPL) / 編寫多行代碼 / 運行程序 / 退出IDLE
注釋 - 注釋的作用 / 單行注釋 / 多行注釋
Day02 - 語言元素
程序和進制 - 指令和程序 / 馮諾依曼機 / 二進制和十進制 / 八進制和十六進制
變量和類型 - 變量的命名 / 變量的使用 / input函數(shù) / 檢查變量類型 / 類型轉(zhuǎn)換
數(shù)字和字符串 - 整數(shù) / 浮點數(shù) / 復數(shù) / 字符串 / 字符串基本操作 / 字符編碼
運算符 - 數(shù)學運算符 / 賦值運算符 / 比較運算符 / 邏輯運算符 / 身份運算符 / 運算符的優(yōu)先級
應用案例 - 華氏溫度轉(zhuǎn)換成攝氏溫度 / 輸入圓的半徑計算周長和面積 / 輸入年份判斷是否是閏年
Day03 - 分支結(jié)構(gòu)
分支結(jié)構(gòu)的應用場景 - 條件 / 縮進 / 代碼塊 / 流程圖
if語句 - 簡單的if / if-else結(jié)構(gòu) / if-elif-else結(jié)構(gòu) / 嵌套的if
應用案例 - 用戶身份驗證 / 英制單位與公制單位互換 / 擲骰子決定做什么 / 百分制成績轉(zhuǎn)等級制 / 分段函數(shù)求值 / 輸入三條邊的長度如果能構(gòu)成三角形就計算周長和面積
Day04 - 循環(huán)結(jié)構(gòu)
循環(huán)結(jié)構(gòu)的應用場景 - 條件 / 縮進 / 代碼塊 / 流程圖
while循環(huán) - 基本結(jié)構(gòu) / break語句 / continue語句
for循環(huán) - 基本結(jié)構(gòu) / range類型 / 循環(huán)中的分支結(jié)構(gòu) / 嵌套的循環(huán) / 提前結(jié)束程序
應用案例 - 1~100求和 / 判斷素數(shù) / 猜數(shù)字游戲 / 打印九九表 / 打印三角形圖案 / 猴子吃桃 / 百錢百雞
Day05 - 構(gòu)造程序邏輯
基礎練習 - 水仙花數(shù) / 完美數(shù) / 五人分魚 / Fibonacci數(shù)列 / 回文素數(shù)
綜合練習 - Craps賭博游戲
Day06 - 函數(shù)和模塊的使用
函數(shù)的作用 - 代碼的壞味道 / 用函數(shù)封裝功能模塊
定義函數(shù) - def語句 / 函數(shù)名 / 參數(shù)列表 / return語句 / 調(diào)用自定義函數(shù)
調(diào)用函數(shù) - Python內(nèi)置函數(shù) / 導入模塊和函數(shù)
函數(shù)的參數(shù) - 默認參數(shù) / 可變參數(shù) / 關(guān)鍵字參數(shù) / 命名關(guān)鍵字參數(shù)
函數(shù)的返回值 - 沒有返回值 / 返回單個值 / 返回多個值
作用域問題 - 局部作用域 / 嵌套作用域 / 全局作用域 / 內(nèi)置作用域 / 和作用域相關(guān)的關(guān)鍵字
用模塊管理函數(shù) - 模塊的概念 / 用自定義模塊管理函數(shù) / 命名沖突的時候會怎樣(同一個模塊和不同的模塊)
Day07 - 字符串和常用數(shù)據(jù)結(jié)構(gòu)
字符串的使用 - 計算長度 / 下表運算 / 切片 / 常用方法
列表基本用法 - 定義列表 / 用下表訪問元素 / 下標越界 / 添加元素 / 刪除元素 / 修改元素 / 切片 / 循環(huán)遍歷
列表常用操作 - 連接 / 復制(復制元素和復制數(shù)組) / 長度 / 排序 / 倒轉(zhuǎn) / 查找
生成列表 - 使用range創(chuàng)建數(shù)字列表 / 生成表達式 / 生成器
元組的使用 - 定義元組 / 使用元組中的值 / 修改元組變量 / 元組和列表轉(zhuǎn)換
集合基本用法 - 集合和列表的區(qū)別 / 創(chuàng)建集合 / 添加元素 / 刪除元素 / 清空
集合常用操作 - 交集 / 并集 / 差集 / 對稱差 / 子集 / 超集
字典的基本用法 - 字典的特點 / 創(chuàng)建字典 / 添加元素 / 刪除元素 / 取值 / 清空
字典常用操作 - keys()方法 / values()方法 / items()方法 / setdefault()方法
基礎練習 - 跑馬燈效果 / 列表找最大元素 / 統(tǒng)計考試成績的平均分 / Fibonacci數(shù)列 / 楊輝三角
綜合案例 - 雙色球選號 / 井字棋
Day08 - 面向?qū)ο缶幊袒A
類和對象 - 什么是類 / 什么是對象 / 面向?qū)ο笃渌嚓P(guān)概念
定義類 - 基本結(jié)構(gòu) / 屬性和方法 / 構(gòu)造器 / 析構(gòu)器 / str方法
使用對象 - 創(chuàng)建對象 / 給對象發(fā)消息
面向?qū)ο蟮乃拇笾е?- 抽象 / 封裝 / 繼承 / 多態(tài)
基礎練習 - 定義學生類 / 定義時鐘類 / 定義圖形類 / 定義汽車類
Day09 - 面向?qū)ο筮M階
屬性 - 類屬性 / 實例屬性 / 屬性訪問器 / 屬性修改器 / 屬性刪除器 / 使用slots
類中的方法 - 實例方法 / 類方法 / 靜態(tài)方法
運算符重載 - add / sub / or /getitem / setitem / len / repr / gt / lt / le / ge / eq / ne / contains
類(的對象)之間的關(guān)系 - 關(guān)聯(lián) / 繼承 / 依賴
繼承和多態(tài) - 什么是繼承 / 繼承的語法 / 調(diào)用父類方法 / 方法重寫 / 類型判定 / 多重繼承 / 菱形繼承(鉆石繼承)和C3算法
綜合案例 - 工資結(jié)算系統(tǒng) / 圖書自動折扣系統(tǒng) / 自定義分數(shù)類
Day10 - 圖形用戶界面和游戲開發(fā)
使用tkinter開發(fā)GUI
使用pygame三方庫開發(fā)游戲應用
“大球吃小球”游戲
Day11 - 文件和異常
- 讀文件 - 讀取整個文件 / 逐行讀取 / 文件路徑
- 寫文件 - 覆蓋寫入 / 追加寫入 / 文本文件 / 二進制文件
- 異常處理 - 異常機制的重要性 / try-except代碼塊 / else代碼塊 / finally代碼塊 / 內(nèi)置異常類型 / 異常棧 / raise語句
- 數(shù)據(jù)持久化 - CSV文件概述 / csv模塊的應用 / JSON數(shù)據(jù)格式 / json模塊的應用
Day12 - 字符串和正則表達式
- 字符串高級操作 - 轉(zhuǎn)義字符 / 原始字符串 / 多行字符串 / in和 not in運算符 / is開頭的方法 / join和split方法 / strip相關(guān)方法 / pyperclip模塊 / 不變字符串和可變字符串 / StringIO的使用
- 正則表達式入門 - 正則表達式的作用 / 元字符 / 轉(zhuǎn)義 / 量詞 / 分組 / 零寬斷言 /貪婪匹配與惰性匹配懶惰 / 使用re模塊實現(xiàn)正則表達式操作(匹配、搜索、替換、捕獲)
- 使用正則表達式 - re模塊 / compile函數(shù) / group和groups方法 / match方法 / search方法 / findall和finditer方法 / sub和subn方法 / split方法
- 應用案例 - 使用正則表達式驗證輸入的字符串
Day13 - 進程和線程
- 進程和線程的概念 - 什么是進程 / 什么是線程 / 多線程的應用場景
- 使用進程 - fork函數(shù) / multiprocessing模塊 / 進程池 / 進程間通信
- 使用線程 - thread模塊 / threading模塊 / Thread類 / Lock類 / Condition類 / 線程池
Day14 - 網(wǎng)絡編程入門和網(wǎng)絡應用開發(fā)
- 計算機網(wǎng)絡基礎 - 計算機網(wǎng)絡發(fā)展史 / “TCP-IP”模型 / IP地址 / 端口 / 協(xié)議 / 其他相關(guān)概念
- 網(wǎng)絡應用模式 - “客戶端-服務器”模式 / “瀏覽器-服務器”模式
- 基于HTTP協(xié)議訪問網(wǎng)絡資源 - 網(wǎng)絡API概述 / 訪問URL / requests模塊 / 解析JSON格式數(shù)據(jù)
- Python網(wǎng)絡編程 - 套接字的概念 / socket模塊 / socket函數(shù) / 創(chuàng)建TCP服務器 / 創(chuàng)建TCP客戶端 / 創(chuàng)建UDP服務器 / 創(chuàng)建UDP客戶端 / SocketServer模塊
- 電子郵件 - SMTP協(xié)議 / POP3協(xié)議 / IMAP協(xié)議 / smtplib模塊 / poplib模塊 / imaplib模塊
- 短信服務 - 調(diào)用短信服務網(wǎng)關(guān)
Day15 - 圖像和文檔處理
- 用Pillow處理圖片 - 圖片讀寫 / 圖片合成 / 幾何變換 / 色彩轉(zhuǎn)換 / 濾鏡效果
- 讀寫Word文檔 - 文本內(nèi)容的處理 / 段落 / 頁眉和頁腳 / 樣式的處理
- 讀寫Excel文件 - xlrd模塊 / xlwt模塊
- 生成PDF文件 - pypdf2模塊 / reportlab模塊
Day16~Day20 - Python語言進階
- 常用數(shù)據(jù)結(jié)構(gòu)
- 函數(shù)的高級用法 - “一等公民” / 高階函數(shù) / Lambda函數(shù) / 作用域和閉包 / 裝飾器
- 面向?qū)ο蟾呒壷R - “三大支柱” / 類與類之間的關(guān)系 / 垃圾回收 / 魔術(shù)屬性和方法 / 混入 / 元類 / 面向?qū)ο笤O計原則 / GoF設計模式
- 迭代器和生成器 - 相關(guān)魔術(shù)方法 / 創(chuàng)建生成器的兩種方式 /
- 并發(fā)和異步編程 - 多線程 / 多進程 / 異步IO / async和await
Day21~30 - Web前端入門
- 用HTML標簽承載頁面內(nèi)容
- 用CSS渲染頁面
- 用JavaScript處理交互式行為
- jQuery入門和提高
- Vue.js入門
- Element的使用
- Bootstrap的使用
Day31~35 - 玩轉(zhuǎn)Linux操作系統(tǒng)
- 操作系統(tǒng)發(fā)展史和Linux概述
- Linux基礎命令
- Linux中的實用程序
- Linux的文件系統(tǒng)
- Vim編輯器的應用
- 環(huán)境變量和Shell編程
- 軟件的安裝和服務的配置
- 網(wǎng)絡訪問和管理
- 其他相關(guān)內(nèi)容
Day36~40 - 數(shù)據(jù)庫基礎和進階
- 關(guān)系型數(shù)據(jù)庫MySQL
- 關(guān)系型數(shù)據(jù)庫概述
- MySQL的安裝和使用
- SQL的使用
- DDL - 數(shù)據(jù)定義語言 - create / drop / alter
- DML - 數(shù)據(jù)操作語言 - insert / delete / update / select
- DCL - 數(shù)據(jù)控制語言 - grant / revoke
- 相關(guān)知識
- 范式理論 - 設計二維表的指導思想
- 數(shù)據(jù)完整性
- 數(shù)據(jù)一致性
- 在Python中操作MySQL
- NoSQL入門
- NoSQL概述
- Redis概述
- Mongo概述
Day41~55 - 實戰(zhàn)Django
Day41 - 快速上手
- Web應用工作原理和HTTP協(xié)議
- Django框架概述
- 5分鐘快速上手
- 使用視圖模板
Day42 - 深入模型
- 關(guān)系型數(shù)據(jù)庫配置
- 管理后臺的使用
- 使用ORM完成對模型的CRUD操作
- Django模型最佳實踐
- 模型定義參考
Day43 - 靜態(tài)資源和Ajax請求
- 加載靜態(tài)資源
- 用Ajax請求獲取數(shù)據(jù)
Day44 - 表單的應用
- 表單和表單控件
- 跨站請求偽造和CSRF令牌
- Form和ModelForm
- 表單驗證
Day45 - Cookie和Session
- 實現(xiàn)用戶跟蹤
- cookie和session的關(guān)系
- Django框架對session的支持
- 視圖函數(shù)中的cookie讀寫操作
Day46 - 報表和日志
- 通過HttpResponse修改響應頭
- 使用StreamingHttpResponse處理大文件
- 使用xlwt生成Excel報表
- 使用reportlab生成PDF報表
- 使用ECharts生成前端圖表
- 配置日志和Django-Debug-Toolbar
Day47 - 中間件的應用
- 什么是中間件
- Django框架內(nèi)置的中間件
- 自定義中間件及其應用場景
Day48 - 前后端分離開發(fā)入門
- 返回JSON格式的數(shù)據(jù)
- 用Vue.js渲染頁面
Day49 - RESTful架構(gòu)和DRF入門Day50 - RESTful架構(gòu)和DRF進階Day51 - 使用緩存
- 網(wǎng)站優(yōu)化第一定律
- 在Django項目中使用Redis提供緩存服務
- 在視圖函數(shù)中讀寫緩存
- 使用裝飾器實現(xiàn)頁面緩存
- 為數(shù)據(jù)接口提供緩存服務
Day52 - 文件上傳和富文本編輯
- 文件上傳表單控件和圖片文件預覽
- 服務器端如何處理上傳的文件
- 富文本編輯器概述
- wangEditor的使用
Day53 - 短信和郵件
- 常用短信網(wǎng)關(guān)平臺介紹
- 使用螺絲帽發(fā)送短信
- Django框架對郵件服務的支持
Day54 - 異步任務和定時任務
- 網(wǎng)站優(yōu)化第二定律
- 配置消息隊列服務
- 在項目中使用celery實現(xiàn)任務異步化
- 在項目中使用celery實現(xiàn)定時任務
Day55 - 單元測試和項目上線
- Python中的單元測試
- Django框架對單元測試的支持
- 使用版本控制系統(tǒng)
- 配置和使用uWSGI
- 動靜分離和Nginx配置
- 配置HTTPS
Day56~60 - 實戰(zhàn)Flask
Day56 - Flask入門Day57 - 模板的使用Day58 - 表單的處理Day59 - 數(shù)據(jù)庫操作Day60 - 項目實戰(zhàn)
Day61~65 - 實戰(zhàn)Tornado
Day61 - 預備知識
Day62 - Tornado入門
- Tornado概述
- 5分鐘上手Tornado
- 路由解析
- 請求處理器
Day63 - 異步化
Day64 - WebSocket的應用
- WebSocket簡介
- WebSocket服務器端編程
- WebSocket客戶端編程
- 項目:Web聊天室
Day65 - 項目實戰(zhàn)
- 前后端分離開發(fā)和接口文檔的撰寫
- 使用Vue.js實現(xiàn)前端渲染
- 使用ECharts實現(xiàn)報表功能
- 使用WebSocket實現(xiàn)推送服務
Day66~75 - 爬蟲開發(fā)
Day66 - 網(wǎng)絡爬蟲和相關(guān)工具
- 網(wǎng)絡爬蟲的概念及其應用領(lǐng)域
- 網(wǎng)絡爬蟲的合法性探討
- 開發(fā)網(wǎng)絡爬蟲的相關(guān)工具
- 一個爬蟲程序的構(gòu)成
Day67 - 數(shù)據(jù)采集和解析
- 數(shù)據(jù)采集的標準和三方庫
- 頁面解析的三種方式:正則表達式解析 / XPath解析 / CSS選擇器解析
Day68 - 存儲數(shù)據(jù)
- 如何存儲海量數(shù)據(jù)
- 實現(xiàn)數(shù)據(jù)的緩存
Day69 - 并發(fā)下載
- 多線程和多進程
- 異步I/O和協(xié)程
- async和await關(guān)鍵字的使用
- 三方庫aiohttp的應用
Day70 - 解析動態(tài)內(nèi)容
- JavaScript逆向工程
- 使用Selenium獲取動態(tài)內(nèi)容
Day71 - 表單交互和驗證碼處理
Day72 - Scrapy入門
Day73 - Scrapy高級應用
- Spider的用法
- 中間件的應用:下載中間件 / 蜘蛛中間件
- Scrapy對接Selenium抓取動態(tài)內(nèi)容
- Scrapy部署到Docker
Day74 - Scrapy分布式實現(xiàn)
- 分布式爬蟲的原理
- Scrapy分布式實現(xiàn)
- 使用Scrapyd實現(xiàn)分布式部署
Day75 - 爬蟲項目實戰(zhàn)
- 爬取招聘網(wǎng)站數(shù)據(jù)
- 爬取房地產(chǎn)行業(yè)數(shù)據(jù)
- 爬取二手車交易平臺數(shù)據(jù)
Day76~90 - 數(shù)據(jù)處理和機器學習
Day76 - 機器學習基礎Day77 - Pandas的應用Day78 - NumPy和SciPy的應用Day79 - Matplotlib和數(shù)據(jù)可視化Day80 - k最近鄰(KNN)分類Day81 - 決策樹Day82 - 貝葉斯分類Day83 - 支持向量機(SVM)Day84 - K-均值聚類Day85 - 回歸分析Day86 - 大數(shù)據(jù)分析入門Day87 - 大數(shù)據(jù)分析進階Day88 - Tensorflow入門Day89 - Tensorflow實戰(zhàn)Day90 - 推薦系統(tǒng)
Day91~100 - 團隊項目開發(fā)
第91天:團隊項目開發(fā)準備
- 軟件過程模型
- 經(jīng)典過程模型(瀑布模型)
- 可行性分析(研究做還是不做),輸出《可行性分析報告》。
- 需求分析(研究做什么),輸出《需求規(guī)格說明書》和產(chǎn)品界面原型圖。
- 概要設計和詳細設計,輸出概念模型圖、物理模型圖、類圖、時序圖等。
- 編碼 / 測試。
- 上線 / 維護。
- 敏捷開發(fā)(Scrum)- 產(chǎn)品所有者、Scrum Master、研發(fā)人員 - Sprint
- 產(chǎn)品的Backlog(用戶故事、產(chǎn)品原型)。
- 計劃會議(評估和預算)。
- 日常開發(fā)(站立會議、番茄工作法、結(jié)對編程、測試先行、代碼重構(gòu)……)。
- 修復bug(問題描述、重現(xiàn)步驟、測試人員、被指派人)。
- 評審會議(Showcase)。
- 回顧會議(當前周期做得好和不好的地方
有小伙伴私信我,要Python的學習資料,我連夜整理了一些有深度的Python教程和參考資料,從入門到高級的都有,文件已經(jīng)打包好了,正在學習Python的同學可以免費下載學習,有興趣的可以下載來看一下。資料是我辛苦整理的可不能輕易得到喲。點擊我的頭像,關(guān)注后私信回復“資料”即可下載。首先把代碼擼起來!首先把代碼擼起來!首先把代碼擼起來!重要的事說三遍,哈哈。“編程是門手藝活”。什么意思?得練啊。