在python程序員成為大神之前,都不可避免的都要做一段時間的調包俠
那就算是調包俠也都會有自己調包秘籍,拿出來能讓他人感歎“相見恨晚”的那種
在Github上有個awesome-python這麼個項目,能獲得110k stars隻能說知道的人太少了
它總結了Web 框架、網絡爬蟲、網絡内容提取、模闆引擎、數據庫、數據可視化、圖片處理、文本處理、自然語言處理、機器學習、日志、代碼分析等各個方向的python庫
這裡面每個方向的庫都是經典中的經典,國内「開源前哨」團隊還把他們漢化過來了,分享在下面,強烈建議收藏,方便以後學習和查閱。
1環境管理 管理 Python 版本和環境的工具
p:非常簡單的交互式 Python 版本管理工具。pyenv:簡單的 Python 版本管理工具。Vex:可以在虛拟環境中執行命令。virtualenv:創建獨立 Python 環境的工具。virtualenvwrapper:virtualenv 的一組擴展。buildout:在隔離環境初始化後使用聲明性配置管理。2包管理 管理包和依賴的工具。
pip:Python 包和依賴關系管理工具。pip-tools:保證 Python 包依賴關系更新的一組工具。PyPI:Python 正式的第三方包軟件存儲庫。pipenv:Python 官方推薦的新一代包管理工具。poetry:可完全取代 setup.py 的包管理工具。conda:跨平台的 Python 二進制包管理工具。Curdling:管理 Python 包的命令行工具。wheel:Python 分發的新标準,意在取代 eggs。3包倉庫 本地 PyPI 倉庫服務和代理。
warehouse:下一代 PyPI。bandersnatch:PyPA 提供的 PyPI 鏡像工具。devpi:PyPI 服務和打包/測試/分發工具。localshop:本地 PyPI 服務(自定義包并且自動對 PyPI 鏡像)。4分發 打包為可執行文件以便分發。
PyInstaller:将 Python 程序轉換成獨立的執行文件(跨平台)。cx_Freeze:将python程序轉換為帶有一個動态鍊接庫的可執行文件。dh-virtualenv:構建并将 virtualenv虛拟環境作為一個 Debian 包來發布。Nuitka:将腳本、模塊、包編譯成可執行文件或擴展模塊。py2app:将 Python 腳本變為獨立軟件包(Mac OS X)。py2exe:将 Python 腳本變為獨立軟件包(Windows)。pynsist:一個用來創建 Windows 安裝程序的工具,可以在安裝程序中打包 Python 本身。pyarmor:一個用于加密 python 腳本的工具,也可以将加密後的腳本綁定到固件上,或設置已加密腳本的有效期。shiv:一個命令行工具,可用于構建完全獨立的 zip 應用(PEP 441 所描述的那種),同時包含了所有的依賴項。5構建工具 将源碼編譯成軟件。
buildout:一個構建系統,從多個組件來創建,組裝和部署應用。BitBake:針對嵌入式 Linux 的類似 make 的構建工具。fabricate:對任何語言自動找到依賴關系的構建工具。PlatformIO:多平台命令行構建工具。PyBuilder:純 Python 實現的持續化構建工具。SCons:軟件構建工具。6交互式解析器 交互式 Python 解析器。
IPython:功能豐富的工具,非常有效的使用交互式 Python。bpython:界面豐富的 Python 解析器。ptpython:高級交互式 Python 解析器, 構建于 python-prompt-toolkit 之上。Jupyter Notebook (IPython):一個能夠讓你最大限度地以交互式方式使用 Python 的豐富工具包。7文件 文件管理和 MIME(多用途的網際郵件擴充協議)類型檢測。
aiofiles:基于 asyncio,提供文件異步操作。imghdr:(Python 标準庫)檢測圖片類型。mimetypes:(Python 标準庫)将文件名映射為 MIME 類型。path.py:對 os.path 進行封裝的模塊。pathlib:(Python3.4 标準庫)跨平台的、面向對象的路徑操作庫。python-magic:文件類型檢測的第三方庫 Libmagic 的 Python 接口。Unipath:用面向對象的方式操作文件和目錄。watchdog:管理文件系統事件的 API 和 Shell 工具。PyFilesystem2:Python 的文件系統抽象層。8日期和時間 操作日期和時間的類庫。
arrow:更好的 Python 日期時間操作類庫。Chronyk:Python 3 的類庫,用于解析手寫格式的時間和日期。dateutil:Python datetime 模塊的擴展。delorean:解決 Python 中有關日期處理的棘手問題的庫。maya:人性化的時間處理庫。pendulum:一個比 arrow 更具有明确的,可預測的行為的時間操作庫。PyTime:一個簡單易用的 Python 模塊,用于通過字符串來操作日期/時間。pytz:現代以及曆史版本的世界時區定義。将時區數據庫引入 Python。when.py:提供用戶友好的函數來幫助用戶進行常用的日期和時間操作。dateutil:Python 标準包 datetime 的擴展。moment:一個處理日期/時間的庫,靈感來自 Moment.js。pytz:支持跨平台時區計算,并将 tz database 引入 Python。9文本處理 用于解析和操作文本的庫。
通用
chardet:字符編碼檢測器,兼容 Python 2 和 Python 3。difflib:(Python 标準庫)幫助我們進行差異化比較。ftfy:讓 unicode 文本更完整更連貫。thefuzz:模糊字符串匹配。Levenshtein:快速計算編輯距離以及字符串的相似度。pangu.py:在中日韓語字符和數字字母之間添加空格。pypinyin:漢字拼音轉換工具 Python 版。shortuuid:一個生成器庫,用以生成簡潔的,明白的,URL 安全的 UUID。simpleJSON:Python 的 JSON編碼、解碼器。unidecode:Unicode 文本的 ASCII 轉換形式 。uniout:打印可讀的字符,而不是轉義的字符串。xpinyin:一個用于把漢字轉換為拼音的庫。pyfiglet:figlet 的 Python 實現。flashtext:一個高效的文本查找替換庫。textdistance:支持 30 多種算法來計算序列之間的距離。 Slug 化
awesome-slugify:一個 Python slug 化庫,可以保持 Unicode。python-slugify:Python slug 化庫,可以把 unicode 轉化為 ASCII。unicode-slugify:一個 slug 工具,可以生成 unicode slugs ,需要依賴 Django 。 解析器
phonenumbers:解析,格式化,儲存,驗證電話号碼。python-phonenumbers:解析,格式化,存儲,校驗國際電話号碼。PLY:lex 和 yacc 解析工具的 Python 實現。Pygments:通用語法高亮工具。pyparsing:生成通用解析器的框架。python-nameparser:把一個人名分解為幾個獨立的部分。python-user-agents:浏覽器 user agent 解析器。SQLparse:一個無驗證的 SQL 解析器。10特殊文本格式處理 一些用來解析和操作特殊文本格式的庫。
通用
tablib:一個用來處理中表格數據的模塊。Office Marmir:把輸入的 Python 數據結構轉換為電子表單。openpyxl:一個用來讀寫 Excel 2010 xlsx/xlsm/xltx/xltm 文件的庫。pyexcel:一個提供統一 API,用來讀寫,操作 Excel 文件的庫。python-docx:讀取,查詢以及修改 Microsoft Word 2007/2008 docx 文件。Microsoft Word 2007/2008 docx 文件。python-pptx:可用于創建和修改 ppt 文件的 Python 庫。relatorio:模闆化 OpenDocument 文件。unoconv:在 LibreOffice/OpenOffice 支持的任意文件格式之間進行轉換。XlsxWriter:一個用于創建 Excel .xlsx 文件的 Python 模塊。xlwings:一個使得在 Excel 中方便調用 Python 的庫(反之亦然),基于 BSD 協議。xlwt / xlrd:讀寫 Excel 文件的數據和格式信息。docxtpl:通過 jinja2 模版編輯 docx 文檔。 PDF
PDFMiner:一個用于從 PDF 文檔中抽取信息的工具。PyPDF2:一個可以分割,合并和轉換 PDF 頁面的庫。ReportLab:快速創建富文本 PDF 文檔。 Markdown
Mistune:快速并且功能齊全的純 Python 實現的 Markdown 解析器。Python-Markdown:John Gruber’s Markdown 的 Python 版實現。Python-Markdown2:純 Python 實現的 Markdown 解析器,比 Python-Markdown 更快,更準确,可擴展。 YAML
PyYAML:Python 版本的 YAML 解析器。 CSV
csvkit:用于轉換和操作 CSV 的工具。 Archive
unp:一個用來方便解包歸檔文件的命令行工具。11自然語言處理 用來處理人類語言的庫。
NLTK:一個先進的平台,用以構建處理人類語言數據的 Python 程序。gensim:人性化的話題建模庫。jieba:中文分詞工具。langid.py:獨立的語言識别系統。Pattern:Python 網絡信息挖掘模塊。SnowNLP:一個用來處理中文文本的庫。TextBlob:為進行普通自然語言處理任務提供一緻的 API。TextGrocery:一簡單高效的短文本分類工具,基于 LibLinear 和 Jieba。thulac:清華大學自然語言處理與社會人文計算實驗室研制推出的一套中文詞法分析工具包。polyglot:支持數百種語言的自然語言處理管道。pytext:基于 PyTouch 的自然語言模型框架。PyTorch-NLP:一個支持快速深度學習 NLP 原型研究的工具包。spacy:Python 和 Cython 中用于工業級自然語言處理的庫。Stanza:斯坦福 NLP 集團的官方 Python 庫,支持 60 多種語言。funNLP:中文自然語言處理的工具和數據集。pkuseg-python:一個支持對不同領域進行中文分詞的工具箱。12文檔 用以生成項目文檔的庫。
Sphinx:Python 文檔生成器。awesome-sphinxdocMkDocs:對 Markdown 友好的文檔生成器。pdoc:一個可以替換 Epydoc 的庫,可以自動生成 Python 庫的 API 文檔。Pycco:文學編程(literate-programming)風格的文檔生成器。readthedocs:一個基于 Sphinx/MkDocs 的在線文檔托管系統,對開源項目免費開放使用。13配置 用來保存和解析配置的庫。
config:lOGGing 模塊作者寫的分級配置模塊。ConfigObj:INI 文件解析器,帶驗證功能。ConfigParser:(Python 标準庫) INI 文件解析器。profig:通過多種格式進行配置,具有數值轉換功能。python-decouple:将設置和代碼完全隔離。hydra:一個優雅地配置複雜應用程序的框架。14命令行工具 用于創建命令行程序的庫。
命令行程序開發
cement:Python 的命令行程序框架。CLIck:一個通過組合的方式來創建精美命令行界面的包。cliff:一個用于創建命令行程序的框架,可以創建具有多層命令的命令行程序。clint:Python 命令行程序工具。docopt:Python 風格的命令行參數解析器。Gooey:一條命令,将命令行程序變成一個 GUI 程序。python-prompt-toolkit:一個用于構建強大的交互式命令行程序的庫。python-fire:Google 出品的一個基于 Python 類的構建命令行界面的庫。Pythonpy:在命令行中直接執行任何 Python 指令。 終端呈現方式
asciimatics:跨平台,全屏終端包(即鼠标/鍵盤輸入和彩色,定位文本輸出),完整的複雜動畫和特殊效果的高級 API。alive-progress:一款新的進度條,具有實時吞吐量信息以及非常酷的動畫。colorama:跨平台彩色終端文本。bashplotlib:在終端中進行基本繪圖。rich:一個在終端中支持富文本和格式美化的 Python 庫, 同時提供了RichHandler日志處理程序。tqdm:一個可在循環和命令行中使用的快速、可擴展的進度條。 生産力工具
aws-cli:Amazon Web Services 的通用命令行界面。caniusepython3:判斷是哪個項目妨礙你你移植到 Python 3。cookiecutter:從 cookiecutters(項目模闆)創建項目的一個命令行工具。doitlive:一個用來在終端中進行現場演示的工具。pyftpdlib:一個速度極快和可擴展的 Python FTP 服務庫。howdoi:通過命令行獲取即時的編程問題解答。PathPicker:從 bash 輸出中選出文件。percol:向 UNIX shell 傳統管道概念中加入交互式選擇功能。thefuck:修正你之前的命令行指令。try:一個極其簡單的命令行工具,用來試用 python 庫。copier:用于呈現項目模闆的庫和命令行實用程序。Invoke:用于管理面向 shell 的子進程,同時支持将可執行的 Python 代碼組織成命令行可調用的狀态。tmuxp:tmux 會話管理器。 高級 CLI
httpie:一個命令行 HTTP 客戶端,cURL 的替代品,易用性更好。iredis:支持自動補全和高亮顯示的 redis 命令行工具。kube-shell:K8S 命令行集成的 shell 工具。litecli:支持自動補全和語法高亮的 SQLite 命令行工具。mycli:支持自動補全和語法高亮的 MySQL 命令行客戶端pgcli:支持自動補全和語法高亮的 Postgres 命令行工具。SAWS:一個加強版的 AWS 命令行。 Shell
xonsh:一種基于 python 的跨平台,面向 unix 的 shell 語言和命令提示符。15下載器 用來進行下載的庫.
s3cmd:一個用來管理 Amazon S3 和 CloudFront 的命令行工具。s4cmd:超級 S3 命令行工具,性能更加強勁。you-get:一個 YouTube/Youku/Niconico 視頻下載器,使用 Python 3 編寫。youtube-dl:一個小巧的命令行程序,用來下載 YouTube 視頻。akshare:為方便人使用而創建的金融數據接口庫。16圖像處理 用來操作圖像的庫.
pillow:Pillow 是一個更加易用版的 PIL。hmap:圖像直方圖映射。imgSeek:一個使用視覺相似性搜索一組圖片集合的項目。nude.py:裸體檢測。python-barcode:不借助其他庫在 Python 程序中生成條形碼。pygram:類似 Instagram 的圖像濾鏡。python-qrcode:一個純 Python 實現的二維碼生成器。Quads:基于四叉樹的計算機藝術。scikit-image:一個用于(科學)圖像處理的 Python 庫。thumbor:一個小型圖像服務,具有剪裁,尺寸重設和翻轉功能。wand:MagickWand 的 Python 綁定。MagickWand 是 ImageMagick 的 C API 。face_recognition:簡單易用的 Python 人臉識别庫。pagan:基于輸入和哈希的複古風圖标(頭像)生成工具。PyMatting:支持 alpha matting 的庫。pywal:由圖像生成配色方案的工具。pyvips:低内存消耗且快速的圖像處理庫。17OCR 光學字符識别庫。
paddleocr: 除光學字符識别外還引入了表格識别。pyocr:Tesseract 和 Cuneiform 的一個封裝。pytesseract:Google Tesseract OCR 的一個封裝。18音頻 用來操作音頻的庫
audiolazy:Python 的數字信号處理包。audioread:交叉庫 (GStreamer Core Audio MAD FFmpeg) 音頻解碼。beets:一個音樂庫管理工具及 MusicBrainz 标簽添加工具。dejavu:音頻指紋提取和識别。django-elastic-transcoder:Django Amazon Elastic Transcoder。eyeD3:一個用來操作音頻文件的工具,具體來講就是包含 ID3 元信息的 MP3 文件。id3reader:一個用來讀取 MP3 元數據的 Python 模塊。m3u8:一個用來解析 m3u8 文件的模塊。mutagen:一個用來處理音頻元數據的 Python 模塊。pydub:通過簡單、簡潔的高層接口來操作音頻文件。pyechonest:Echo Nest API 的 Python 客戶端。talkbox:一個用來處理演講/信号的 Python 庫。TimeSide:開源 web 音頻處理框架。tinytag:一個用來讀取 MP3, OGG, FLAC 以及 Wave 文件音樂元數據的庫。mingus:一個高級音樂理論和曲譜包,支持 MIDI 文件和回放功能。kapre:Keras 音頻處理器。librosa:音頻音樂分析 Python 庫。matchering:用于音頻母帶制作的庫。pyAudioAnalysis:音頻特征提取,分類,分段和應用。beets:一個音樂庫管理器和 MusicBrainz 标記器。19Video 用來操作視頻和 GIF 的庫。
moviepy:一個用來進行基于腳本的視頻編輯模塊,适用于多種格式,包括動圖 GIFs。scikit-video:SciPy 視頻處理常用程序。vidgear:強大的多線程視頻處理框架。20地理位置 地理編碼地址以及用來處理經緯度的庫。
GeoDjango:世界級地理圖形 web 框架。GeoIP:MaxMind GeoIP Legacy 數據庫的 Python API。GeoJSON:GeoJSON 的 Python 綁定及工具。geopy:Python 地址編碼工具箱。GeoIP2:GeoIP2 Webservice 客戶端與數據庫 Python API。django-countries:一個 Django 應用程序,提供用于表格的國家選擇功能,國旗圖标靜态文件以及模型中的國家字段。pygeoip:Python GeoIP 接口。21HTTP 使用 HTTP 的庫。
aiohttp:基于 asyncio 的異步 HTTP 網絡庫。requests:人性化的 HTTP 請求庫。grequests:requests 庫 gevent ,用于異步 HTTP 請求。httplib2:全面的 HTTP 客戶端庫。treq:類似 requests 的 Python API 構建于 Twisted HTTP 客戶端之上。urllib3:一個具有線程安全連接池,支持文件 post,清晰友好的 HTTP 庫。httpx:下一代 Python HTTP 客戶端。22數據庫 Python 實現的數據庫。
pickleDB:一個簡單,輕量級鍵值儲存數據庫。PipelineDB:流式 SQL 數據庫。TinyDB:一個微型的,面向文檔型數據庫。ZODB:一個 Python 原生對象數據庫。一個鍵值和對象圖數據庫。23數據庫驅動 用來連接和操作數據庫的庫。
MySQL:awesome-mysql 系列aiomysql:基于 asyncio 的異步 MySQL 數據庫操作庫。mysql-python:Python 的 MySQL 數據庫連接器。ysqlclient:mysql-python 分支,支持 Python 3。oursql:一個更好的 MySQL 連接器,支持原生預編譯指令和 BLOBs。PyMySQL:純 Python MySQL 驅動,兼容 mysql-python。 PostgreSQL
psycopg2:Python 中最流行的 PostgreSQL 适配器。queries:psycopg2 庫的封裝,用來和 PostgreSQL 進行交互。txpostgres:基于 Twisted 的異步 PostgreSQL 驅動。 其他關系型數據庫
apsw:另一個 Python SQLite 封裝。dataset:在數據庫中存儲 Python 字典pymssql:一個簡單的 Microsoft SQL Server 數據庫接口。 NoSQL 數據庫
asyncio-redis:基于 asyncio 的 redis 客戶端 (PEP 3156)。cassandra-python-driver:Cassandra 的 Python 驅動。HappyBase:一個為 Apache HBase 設計的,對開發者友好的庫。Plyvel:一個快速且功能豐富的 LevelDB 的 Python 接口。py2neo:Neo4j restful 接口的 Python 封裝客戶端。pycassa:Cassandra 的 Python Thrift 驅動。PyMongo:MongoDB 的官方 Python 客戶端。redis-py:Redis 的 Python 客戶端。telephus:基于 Twisted 的 Cassandra 客戶端。txRedis:基于 Twisted 的 Redis 客戶端。kafka-python:Apache Kafka Python 客戶端。 異步客戶端
motor:支持 MongoDB 的異步 Python 驅動程序。24ORM 實現對象關系映射或數據映射技術的庫。
關系型數據庫
awesome-sqlalchemy
Django Models:Django 的一部分。SQLAlchemy:Python SQL 工具以及對象關系映射工具。awesome-sqlalchemy 系列Peewee:一個小巧,富有表現力的 ORM。PonyORM:提供面向生成器的 SQL 接口的 ORM。python-sql:編寫 Python 風格的 SQL 查詢。dataset:在數據庫中存儲字典,支持 SQLite,MySQL 和 PostgreSQL。orator:Orator ORM,提供了一個簡單而美觀的 ActiveRecord 實現。orm:一個異步的 ORM。pony:提供面向生成器的SQL接口的ORM。pydal:純 Python 數據庫抽象接口層。 NoSQL 數據庫
django-mongodb-engine:Django MongoDB 後端。PynamoDB:Amazon DynamoDB 的一個 Python 風格接口。flywheel:Amazon DynamoDB 的對象映射工具。MongoEngine:一個 Python 對象文檔映射工具,用于 MongoDB。hot-redis:為 Redis 提供 Python 豐富的數據類型。redisco:一個 Python 庫,提供可以持續存在在 Redis 中的簡單模型和容器。 其他
butterdb:Google Drive 電子表格的 Python ORM。25Web 框架 全棧 Web 框架。
Django:Python 界最流行的 web 框架。awesome-django(by shahraizali) 系列awesome-django(by wsvincent) 系列Flask:一個 Python 微型框架。awesome-flask 系列Pyramid:一個小巧,快速,接地氣的開源 Python web 框架。awesome-pyramid 系列Bottle:一個快速小巧,輕量級的 WSGI 微型 web 框架。CherryPy:一個極簡的 Python web 框架,服從 HTTP/1.1 協議且具有 WSGI 線程池。TurboGears:一個可以擴展為全棧解決方案的微型框架。web.py:一個 Python 的 web 框架,既簡單,又強大。web2py:一個全棧 web 框架和平台,專注于簡單易用。Tornado:一個 web 框架和異步網絡庫。sanic:基于 Python3.5 的異步網絡框架。starlette:一款輕量級,高性能的 ASGI 框架。Masonite:以開發者為中心的現代 Python Web 框架。26WebSocket Web socket 相關庫。
autobahn-python:适用于 Twisted 和 asyncio 的 Python WebSocket 和 WAMP。channels:開發者友好的 Django 異步工具。websockets:一個用于構建 WebSocket 服務器和客戶端的庫,着重于正确性和簡單性。27權限 允許或拒絕用戶訪問數據或功能的庫。
Carteblanche:站在用戶和設計者角度開發的一個代碼對齊模塊,很好地處理了代碼導航及權限。django-guardian:Django 1.2 ,實現了單個對象權限。django-rules:一個小巧但是強大的應用,提供對象級别的權限管理,且不需要使用數據庫。28CMS 内容管理系統。
odoo-cms:一個開源的,企業級 CMS,基于 odoo。django-cms:一個開源的,企業級 CMS,基于 Django。djedi-cms:一個輕量級但卻非常強大的 Django CMS ,考慮到了插件,内聯編輯以及性能。FeinCMS:基于 Django 構建的最先進的内容管理系統之一。Kotti:一個高級的,Python 範的 web 應用框架,基于 Pyramid 構建。Mezzanine:一個強大的,持續的,靈活的内容管理平台。Opps:一個為雜志,報紙網站以及大流量門戶網站設計的 CMS 平台,基于 Django。Plone:一個構建于開源應用服務器 Zope 之上的 CMS。Quokka:靈活,可擴展的小型 CMS,基于 Flask 和 MongoDB。Wagtail:一個 Django 内容管理系統。Widgy:最新的 CMS 框架,基于 Django。indico:一個功能豐富的事件管理系統,由 @CERN 開發。29電子商務 用于電子商務以及支付的框架和庫。
django-oscar:一個用于 Django 的開源的電子商務框架。django-shop:一個基于 Django 的店鋪系統。Cartridge:一個基于 Mezzanine 構建的購物車應用。shoop:一個基于 Django 的開源電子商務平台。alipay:非官方的 Python 支付寶 API。merchant:一個可以接收來自多種支付平台支付的 Django 應用。money:一個貨币類庫。帶有可選的 CLDR 後端本地化格式,提供可擴展的貨币兌換解決方案。python-currencies:顯示貨币格式以及它的數值。forex-python:外彙彙率,比特币價格指數和貨币換算。saleor:一款兼容 Django 的電子商務平台。30RESTful API 用來開發 RESTful APIs 的庫
Django
django-rest-framework:一個強大靈活的工具,用來構建 web API。django-tastypie:為 Django 應用開發 API。django-formapi:為 Django 的表單驗證,創建 JSON APIs 。 Flask
flask-api:為 flask 開發的,可浏覽 Web APIs 。flask-restful:為 flask 快速創建 REST APIs 。flask-restless:為 SQLAlchemy 定義的數據庫模型創建 RESTful APIs 。flask-api-utils:為 Flask 處理 API 表示和驗證。eve:REST API 框架,由 Flask, MongoDB 等驅動。 Pyramid
cornice:一個 Pyramid 的 REST 框架 。 與框架無關的
falcon:一個用來建立雲 API 和 web app 後端的高性能框架。sandman:為現存的數據庫驅動系統自動創建 REST APIs 。restless:框架無關的 REST 框架 ,基于從 Tastypie 學到的知識。ripozo:快速創建 REST/HATEOAS/Hypermedia APIs。apistar:專為Python 3設計的智能 Web API 框架。fastapi:一個現代,快速,基于标準 Python 類型注解的的 web框架,可使用 Python3.6 版本構建 API。hug:一個為純淨公開的 API 打造的 Python 3 框架。sandman2:為數據庫驅動的系統自動生成 REST API。vibora:快速高效且支持異步的 Web 框架,靈感來源于 Flask。31驗證 實現驗證方案的庫。
OAuth
authlib:一個強大的Python庫,用來構建 OAuth 和 OpenID 服務端。包括:JWS, JWK, JWA, JWT。Authomatic:簡單但是強大的框架,身份驗證/授權客戶端。django-allauth:Django 的驗證應用。django-oauth-toolkit:為 Django 用戶準備的 OAuth2。django-oauth2-provider:為 Django 應用提供 OAuth2 接入。Flask-OAuthlib:OAuth 1.0/a, 2.0 客戶端實現,供 Flask 使用。OAuthLib:一個 OAuth 請求-簽名邏輯通用、 完整的實現。python-oauth2:一個完全測試的抽象接口。用來創建 OAuth 客戶端和服務端。python-social-auth:一個設置簡單的社會化驗證方式。rauth:OAuth 1.0/a, 2.0, 和 Ofly 的 Python 庫。sanction:一個超級簡單的 OAuth2 客戶端實現。 其他
PyJWT:JSON Web 令牌草案 01。python-jws:JSON Web 簽名草案 02 的實現。python-jwt:一個用來生成和驗證 JSON Web 令牌的模塊。python-jose:python 版 JOSE 實現。32模闆引擎 模闆生成和詞法解析的庫和工具。
Jinja2:一個現代的,對設計師友好的模闆引擎。Chameleon:一個 HTML/XML 模闆引擎。模仿了 ZPT(Zope Page Templates), 進行了速度上的優化。Genshi:Python 模闆工具,用以生成 web 感知的結果。Mako:Python 平台的超高速輕量級模闆。33隊列 處理事件以及任務隊列的庫。
celery:一個異步任務隊列/作業隊列,基于分布式消息傳遞daramatiq:适用于Python 3的快速可靠的後台任務處理庫。huey:小型多線程任務隊列。mrq:一個 Python 的分布式 worker 任務隊列, 使用 Redis 和 gevent。rq:簡單的 Python 作業隊列。simpleq:一個簡單的,可無限擴張的,基于亞馬遜 SQS 的隊列。34搜索 對數據進行索引和執行搜索查詢的庫和軟件。
django-haystack:Django 模塊化搜索。elasticsearch-py:Elasticsearch 的官方底層 Python 客戶端。elasticsearch-dsl-py:Elasticsearch 的官方高級 Python 客戶端。solrpy:solr 的 Python 客戶端。pysolr:支持 Apache Solr 的輕量級 Python 裝飾器。Whoosh:一個快速的純 Python 搜索引擎庫。 動态消息
用來創建用戶活動的庫。
django-activity-stream:從你的站點行為中生成通用活動信息流。Stream-Framework:使用 Cassandra 和 Redis 創建動态消息和通知系統。35Web 資源管理 管理、壓縮、縮小網站資源的工具。
django-compressor:将鍊接和内聯的 JavaScript 或 CSS 壓縮到一個單獨的緩存文件中。django-pipeline:Django 的資源包裝庫。django-storages:一個針對 Django 的自定義存儲後端的工具集合。fanstatic:打包、優化,并且把靜态文件依賴作為 Python 的包來提供。File Conveyor:一個後台駐留的程序,用來發現和同步文件到 CDNs, S3 和 FTP。Flask-Assets:幫你将 web 資源整合到你的 Flask app 中。jinja-assets-compressor:一個 Jinja 擴展,用來編譯和壓縮你的資源。webassets:為你的靜态資源打包、優化和管理生成獨一無二的緩存 URL。36緩存 緩存數據的庫。
Beaker:一個緩存和會話庫,可以用在 web 應用和獨立 Python 腳本和應用上。django-cache-machine:Django 模型的自動緩存和失效。django-cacheops:具有自動顆粒化事件驅動失效功能的 ORM。django-viewlet:渲染模闆,同時具有額外的緩存控制功能。dogpile.cache:dogpile.cache 是 Beaker 的下一代替代品,由同一作者開發。HermesCache:Python 緩存庫,具有基于标簽的失效和 dogpile effect 保護功能。johnny-cache:django 應用緩存框架。pylibmc:libmemcached 接口的 Python 封裝。python-diskcache:SQLite 和文件支持的緩存後端,具有比 memcached 和 redis 更快的查找速度。37電子郵件 用來發送和解析電子郵件的庫。
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 實現,用來提供批量發送郵件,統計等功能。marrow.mailer:高性能可擴展郵件分發框架。modoboa:一個郵件托管和管理平台,具有現代的、簡約的 Web UI。pyzmail:創建,發送和解析電子郵件。Talon:Mailgun 庫,用來抽取信息和簽名。yagmail:yagmail是一個GMAIL / SMTP客戶端,旨在使其盡可能簡單地發送電子郵件。salmon:一個 Python 郵件服務器。mailer:一款高性能可擴展的郵件投遞框架。38國際化 用來進行國際化的庫。
Babel:一個 Python 的國際化庫。Korean:一個韓語詞态庫。PyICU:一個封裝了 ICU C 庫的 Python 擴展。39URL 處理 解析 URLs 的庫
furl:一個讓處理 URL 更簡單小型 Python 庫。purl:一個簡單的,不可變的 URL 類,具有簡潔的 API 來進行詢問和處理。pyshorteners:一個純 Python URL 縮短庫。shorturl:生成短小 URL 和類似 bit.ly 短鍊的 Python 實現。webargs:一個解析 HTTP 請求參數的庫,内置對流行 web 框架的支持,包括 Flask, Django, Bottle, Tornado 和 Pyramid。40HTML 處理 處理 HTML 和 XML 的庫。
BeautifulSoup:以 Python 風格的方式來對 HTML 或 XML 進行叠代,搜索和修改。bleach:一個基于白名單的 HTML 清理和文本鍊接庫。cssutils:一個 Python 的 CSS 庫。html5lib:一個兼容标準的 HTML 文檔和片段解析及序列化庫。lxml:一個非常快速,簡單易用,功能齊全的庫,用來處理 HTML 和 XML。MarkupSafe:為 Python 實現 XML/HTML/XHTML 标記安全字符串。pyquery:一個解析 HTML 的庫,類似 jQuery。requests-html:人性化的,Pythonic 的 HTML 解析庫。untangle:将 XML 文檔轉換為 Python 對象,使其可以方便的訪問。xhtml2pdf:HTML/CSS 轉 PDF 工具。xmltodict:像處理 JSON 一樣處理 XML。WeasyPrint:用于HTML和CSS的可視化呈現引擎,并可以導出為 PDF。xmldataset:簡單 XML 解析。 爬取網絡站點的庫
Scrapy:一個快速高級的屏幕爬取及網頁采集框架。ScrapydWeb:一個用于 Scrapyd 集群管理的全功能 web UI,支持 Scrapy 日志分析和可視化,自動打包,定時器任務和郵件通知等特色功能。cola:一個分布式爬蟲框架。Demiurge:基于 PyQuery 的爬蟲微型框架。feedparser:通用 feed 解析器。Grab:站點爬取框架。MechanicalSoup:用于自動和網絡站點交互的 Python 庫。portia:Scrapy 可視化爬取。pyspider:一個強大的爬蟲系統。RoboBrowser:一個簡單的,Python 風格的庫,用來浏覽網站,而不需要一個獨立安裝的浏覽器。41網頁内容提取 用于進行網頁内容提取的庫。
Haul:一個可以擴展的圖像爬取工具。html2text:将 HTML 轉換為 Markdown 格式文本。lassie:人性化的網頁内容檢索庫。micawber:一個小型網頁内容提取庫,用來從 URLs 提取富内容。newspaper:使用 Python 進行新聞提取,文章提取以及内容策展。opengraph:一個用來解析開放内容協議(Open Graph Protocol)的 Python 模塊。python-goose:HTML 内容/文章提取器(python2)。goose3:HTML 内容/文章提取器(python3)。python-readability:arc90 公司 readability 工具的 Python 高速端口。sanitize:為雜亂的數據世界帶來調理性。sumy:一個為文本文件和 HTML 頁面進行自動摘要的模塊。textract:從任何格式的文檔中提取文本,Word,PowerPoint,PDFs 等等。42表單 進行表單操作的庫。
Deform:Python HTML 表單生成庫,受到了 formish 表單生成庫的啟發。django-bootstrap3:集成了 Bootstrap 3 的 Django。django-bootstrap4:集成了 Bootstrap 4 的 Django。django-crispy-forms:一個 Django 應用,他可以讓你以一種非常優雅且 DRY (Don’t repeat yourself) 的方式來創建美觀的表單。django-remote-forms:一個平立的 Django 表單序列化工具。WTForms:一個靈活的表單驗證和呈現庫。WTForms-JSON:一個 WTForms 擴展,用來處理 JSON 數據。43數據驗證 數據驗證庫。多用于表單驗證。
Cerberus:一個映射驗證器(mappings-validator)。支持多種規則,提供歸一化功能,可以方便地定制為 Python 風格的 schema 定義。colander:一個用于對從 XML, JSON,HTML 表單獲取的數據或其他同樣簡單的序列化數據進行驗證和反序列化的系統。kmatch:一種用于匹配/驗證/篩選 Python 字典的語言。schema:一個用于對 Python 數據結構進行驗證的庫。Schematics:數據結構驗證。valideer:輕量級可擴展的數據驗證和适配庫。voluptuous:一個 Python 數據驗證庫。主要是為了驗證傳入 Python 的 JSON,YAML 等數據。jsonschema:JSON Schema 的 python 實現,用于 JSON 數據的驗證。44序列化 複雜數據類型序列化相關庫。
marshmallow:一個輕量級的庫,用于将複雜對象與簡單 Python 數據類型相互轉換。pysimdjson:與 Python 綁定的 simdjson 。python-rapidjson:RapidJSON 的 Python 封裝。ultrajson:使用 Python 綁定的,用 C 編寫的快速 JSON 解碼器和編碼器。45反垃圾技術 幫助你和電子垃圾進行戰鬥的庫。
django-simple-captcha:一個簡單、高度可定制的 Django 應用,可以為任何 Django 表單添加驗證碼。django-simple-spam-blocker:一個用于 Django 的簡單的電子垃圾屏蔽工具。46标記 用來進行标記的庫。
django-taggit:簡單的 Django 标記工具。47管理面闆 管理界面庫。
Ajenti:一個你的服務器值得擁有的管理面闆。django-suit:Django 管理界面的一個替代品(僅對于非商業用途是免費的)。django-xadmin:Django admin 的一個替代品,具有很多不錯的功能。flask-admin:一個用于 Flask 的簡單可擴展的管理界面框架。flower:一個對 Celery 集群進行實時監控和提供 web 管理界面的工具。Grappelli:Django 管理界面的一個漂亮的皮膚。Wooey:一個 Django 應用,可以為 Python 腳本創建 web 用戶界面。django-grappelli:擁有絢麗外觀的 Django Admin 界面。django-jet:具有改進功能的現代響應式 Django 管理界面模闆。jet-bridge:管理面闆框架,适用于任何具有良好 UI 的應用(例如 Django)。48Serverless 框架 使用 Python 開發 Serverless 模型相關的庫。
python-lambda :在 AWS Lambda 開發和部署 Python 代碼的工具包。Zappa:在 AWS Lambda 和 API Gateway 部署 WSGI 應用的工具。49靜态站點生成器 靜态站點生成器是一個軟件,它把文本和模闆作為輸入,然後輸出 HTML 文件。
Pelican:使用 Markdown 或 ReST 來處理内容, Jinja 2 來制作主題。支持 DVCS, Disqus.。AGPL 許可。Cactus:為設計師設計的靜态站點生成器。Hyde:基于 Jinja2 的靜态站點生成器。Nikola:一個靜态網站和博客生成器。Tinkerer:Tinkerer 是一個博客引擎/靜态站點生成器,由 Sphinx 驅動。Lektor:一個簡單易用的靜态 CMS 和博客引擎。makesite:簡單輕量的站點/博客生成器(小于 130 行代碼)。50進程 操作系統進程啟動及通信庫。
envoy:比 Python subprocess 模塊更人性化。sarge:另一 種 subprocess 模塊的封裝。sh:一個完備的 subprocess 替代庫。delegator.py:人性化的 Subprocesses 2.0 版本。51并發和并行 用以進行并發和并行操作的庫。
multiprocessing:(Python 标準庫) 基于進程的“線程”接口。threading:(Python 标準庫)更高層的線程接口。eventlet:支持 WSGI 的異步框架。gevent:一個基于協程的 Python 網絡庫,使用 greenlet。Tomorrow:用于産生異步代碼的神奇的裝飾器語法實現。uvloop:在 libuv 之上超快速實現 asyncio 事件循環。concurrent.futures:(Python 标準庫) 異步執行可調用對象的高級接口。gevent:使用 greenlet 且基于協程的 Python 網絡庫。scoop:支持在 Python 中進行可伸縮并行操作。52網絡 用于網絡編程的庫。
asyncio:(Python 标準庫) 異步 I/O,事件循環,協程以及任務。trio:異步并發和 I/O 友好的庫。Twisted:一個事件驅動的網絡引擎。pulsar:事件驅動的并發框架。diesel:基于 Greenlet 的事件 I/O 框架。pyzmq:一個 ZeroMQ 消息庫的 Python 封裝。Toapi:一個輕巧,簡單,快速的 Flask 庫,緻力于為所有網站提供 API 服務。txZMQ:基于 Twisted 的 ZeroMQ 消息庫的 Python 封裝。53WebSocket 幫助使用 WebSocket 的庫。
AutobahnPython:給 Python、使用的 WebSocket & WAMP 基于 Twisted 和 asyncio。Crossbar:開源統一應用路由(Websocket & WAMP for Python on Autobahn)。django-socketio:給 Django 用的 WebSockets。WebSocket-for-Python:為 Python2/3 以及 PyPy 編寫的 WebSocket 客戶端和服務器庫。54WSGI 服務器 兼容 WSGI 的 web 服務器
gunicorn:Pre-forked, 部分是由 C 語言編寫的。uwsgi:uwsgi 項目的目的是開發一組全棧工具,用來建立托管服務,由 C 語言編寫。bjoern:異步,非常快速,由 C 語言編寫。fapws3:異步 (僅對于網絡端),由 C 語言編寫。meinheld:異步,部分是由 C 語言編寫的。netius:異步,非常快速。paste:多線程,穩定,久經考驗。rocket:多線程。waitress:多線程,是它驅動着 Pyramid 框架。Werkzeug:一個 WSGI 工具庫,驅動着 Flask,而且可以很方便大嵌入到你的項目中去。55ASGI 服務器 兼容 ASGI 的 web 服務器。
daphne:用于 ASGI 和 ASGI-HTTP 的,支持 HTTP,HTTP2 和 WebSocket 協議的服務器。uvicorn:使用 uvloop 和 httptools 實現的閃電般快速的 ASGI 服務器。56RPC 服務器 兼容 RPC 的服務器。
SimpleJSONRPCServer:這個庫是 JSON-RPC 規範的一個實現。SimpleXMLRPCServer:(Python 标準庫) 簡單的 XML-RPC 服務器實現,單線程。zeroRPC:zerorpc 是一個靈活的 RPC 實現,基于 ZeroMQ 和 MessagePack。RPyC (Remote Python Call):适用于 Python 的透明且對稱的RPC庫。57密碼學cryptography:這個軟件包意在提供密碼學基本内容和方法提供給 Python 開發者。hashids:在 Python 中實現 hashids 。Paramiko:SSHv2 協議的 Python (2.6 , 3.3 ) ,提供客戶端和服務端的功能。Passlib:安全密碼存儲/哈希庫。PyCrypto:Python 密碼學工具箱。PyNacl:網絡和密碼學(NaCl) 庫的 Python 綁定。58圖形用戶界面 用來創建圖形用戶界面程序的庫。
curses:内建的 ncurses 封裝,用來創建終端圖形用戶界面。enaml:使用類似 QML 的 Declaratic 語法來創建美觀的用戶界面。kivy:一個用來創建自然用戶交互(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 原生的,操作系統原生的 GUI 工具包。urwid:一個用來創建終端 GUI 應用的庫,支持組件,事件和豐富的色彩等。wxPython:wxPython 是 wxWidgets C 類庫和 Python 語言混合的産物。PyGObject:GLib/GObject/GIO/GTK (GTK 3) 的 Python 綁定。Flexx:Flexx 是一個純 Python 語言編寫的用來創建 GUI 程序的工具集,它使用 web 技術進行界面的展示。Eel:用于制作簡單離線 HTML/JS GUI 應用的庫。PySimpleGUI:tkinter,Qt,WxPython 和 Remi 的封裝。pywebview:圍繞網頁視圖組件的輕量級跨平台的原生包裝。DearPyGui:一個簡單的可使用 GPU 加速的 Python GUI 框架。59遊戲開發 超贊的遊戲開發庫。
Cocos2d:cocos2d 是一個用來開發 2D 遊戲, 示例和其他圖形/交互應用的框架。基于 pyglet。Panda3D:由迪士尼開發的 3D 遊戲引擎,并由卡内基梅隴娛樂技術中心負責維護。使用 C 編寫, 針對 Python 進行了完全的封裝。Pygame:Pygame 是一組 Python 模塊,用來編寫遊戲。PyOgre:Ogre 3D 渲染引擎的 Python 綁定,可以用來開發遊戲和仿真程序等任何 3D 應用。PyOpenGL:OpenGL 的 Python 綁定及其相關 APIs。PySDL2:SDL2 庫的封裝,基于 ctypes。RenPy:一個視覺小說(visual novel)引擎。Arcade:一個現代 Python 框架,用于制作具有引人入勝的圖形與聲音的遊戲。Harfang3D:支持3D,VR 與遊戲開發的 Python 框架。60日志 用來生成和操作日志的庫。
logging:(Python 标準庫) 為 Python 提供日志功能。logbook:Logging 庫的替代品。Eliot:為複雜的和分布式系統創建日志。Raven:Sentry 的 Python 客戶端。Sentry:實時記錄和收集日志的服務器。sentry-python:Python 版 Sentry SDK。loguru:旨在帶來愉悅體驗的 Python 日志庫。structlog:結構化日志,讓日志變得簡單。61測試 進行代碼庫測試和生成測試數據的庫。
測試框架
unittest:(Python 标準庫) 單元測試框架。nose:nose 擴展了 unittest 的功能。nose2 nose的繼任者,基于 unittest2。contexts:一個 Python 3.3 的 BDD 框架。受到 C# Machine.Specifications 的啟發。hypothesis:Hypothesis 是一個基于先進的 Quickcheck 風格特性的測試庫。mamba:Python 的終極測試工具, 擁護 BDD。pyshould:Should 風格的斷言,基于 PyHamcrest。pytest:一個成熟的全功能 Python 測試工具。green:幹淨,多彩的測試工具。pyvows:BDD 風格的測試工具,受 Vows.js 的啟發。Robot Framework:一個通用的自動化測試框架。tox:自動化測試與發布的工具,支持多個 Python 版本。 GUI / Web 測試
Selenium:Selenium WebDriver 的 Python 綁定。PyAutoGUI:PyAutoGUI 是一個人性化的跨平台 GUI 自動測試模塊。locust:使用 Python 編寫的,可擴展的用戶加載測試工具。sixpack:一個和語言無關的 A/B 測試框架。splinter:開源的 web 應用測試工具。Schemathesis:基于屬性的自動測試工具,用于測試使用 Open API / Swagger 規範構建的 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 測試創建随機固件。 代碼覆蓋率
coverage:代碼覆蓋率測量。Codecov:一個代碼覆蓋率測試工具,為開源項目提供免費代碼覆蓋率測試服務。 僞數據
faker:一個 Python 庫,用來生成僞數據。fake2db:僞數據庫生成器。mimesis:一個幫助你生成僞數據的 Python 庫。radar:生成随機的日期/時間。 錯誤處理
FuckIt.py:使用最先進的技術來保證你的 Python 代碼無論對錯都能繼續運行。62滲透測試 滲透測試相關框架和工具。
fsociety:一款滲透測試框架。setoolkit:社會工程工具包。sqlmap:自動 SQL 注入和數據庫接管工具。63代碼分析和 Lint 工具 進行代碼分析、解析和操作代碼庫的庫和工具。
代碼分析
coala:語言獨立和易于擴展的代碼分析應用程序。code2flow:把你的 Python 和 JavaScript 代碼轉換為流程圖。pycallgraph:這個庫可以把你的 Python 應用的流程(調用圖)進行可視化。pysonar2:Python 類型推斷和檢索工具。prospector:分析 Python 代碼的工具。vulture:用于發現和分析無效 Python 代碼的工具。 Lint 工具
awesome-flake8-extensions
Flake8:模塊化源碼檢查工具,提供與 pycodestyle、pyflakes 、McCabe 相關的裝飾器。Pylint:一個完全可定制的源碼分析器。YAPF:Google 的 Python 代碼格式化工具。pylama:Python 和 JavaScript 的代碼審查工具。wemake-python-styleguide:有史以來最嚴格的 Python 代碼審查工具。 代碼格式化
autopep8:自動格式化 Python 代碼,以使其符合 PEP8 規範。black:一個堅定的 Python 代碼格式化工具。isort:用于糾正包導入順序的 Python 庫。靜态類型檢查,也可以參考 awesome-python-typingmypy:在編譯期間檢查變量類型。pyre-check:性能類型檢查。typeshed:帶有靜态類型的Python庫存根的集合。 靜态類型注釋生成器
MonkeyType:通過收集運行時的類型來為 Python 生成靜态類型注釋的系統。pyannotate:自動生成符合 PEP-484 的注解。pytype:檢查和推斷 Python 代碼中的類型,無需添加注解。64調試工具 用來進行代碼調試的庫。
調試器
ipdb:IPython 啟用的 pdb。pudb:全屏,基于控制台的 Python 調試器。pdb :另一種 pdb 的替代。pyringe:可以在 Python 進程中附加和注入代碼的調試器。wdb:一個奇異的 web 調試器,通過 WebSockets 工作。winpdb:一個具有圖形用戶界面的 Python 調試器,可以進行遠程調試,基于 rpdb2。 追蹤器
lptrace:為 Python 程序打造的 strace。manhole:調試UNIX套接字連接,并顯示所有線程的堆棧跟蹤和交互式提示。pyringe:能夠附加到 Python 進程并将代碼注入Python進程的調試器。python-hunter:一個靈活的代碼追蹤工具包。 性能分析器
lineprofiler:逐行性能分析。Memory Profiler、内存:監控 Python 代碼的内存使用。profiling:一個交互式 Python 性能分析工具。py-spy:Python 程序采樣分析器,使用 Rust 實現。pyflame:用于 Python 的跟蹤分析器。vprof:視覺 Python 分析器。 其他
pyelftools:解析和分析 ELF 文件以及 DWARF 調試信息。python-statsd:statsd 服務器的 Python 客戶端。django-debug-toolbar:為 Django 顯示各種調試信息。django-devserver:一個 Django 運行服務器的替代品。flask-debugtoolbar:django-debug-toolbar 的 flask 版。icecream:通過一個簡單的函數調用檢查變量、表達式和程序執行情況。65科學計算和數據分析 用來進行科學計算和數據分析的庫。
astropy:一個天文學 Python 庫。bcbio-nextgen:這個工具箱為全自動高通量測序分析提供符合最佳實踐的處理流程。bccb:生物分析相關代碼集合。Biopython:Biopython 是一組可以免費使用的用來進行生物計算的工具。blaze:NumPy 和 Pandas 的大數據接口。cclib:一個用來解析和解釋計算化學軟件包輸出結果的庫。NetworkX:一個為複雜網絡設計的高性能軟件。Neupy:執行和測試各種不同的人工神經網絡算法。NumPy:使用 Python 進行科學計算的基礎包。Open Babel:一個化學工具箱,用來描述多種化學數據。Open Mining:使用 Python 挖掘商業情報 (BI) (Pandas web 接口)。orange:通過可視化編程或 Python 腳本進行數據挖掘,數據可視化,分析和機器學習。Pandas:提供高性能,易用的數據結構和數據分析工具。PyDy:PyDy 是 Python Dynamics 的縮寫,用來為動力學運動建模工作流程提供幫助, 基于 NumPy, SciPy, IPython 和 matplotlib。PyMC:馬爾科夫鍊蒙特卡洛采樣工具。RDKit:化學信息學和機器學習軟件。SciPy:由一些基于 Python ,用于數學,科學和工程的開源軟件構成的生态系統。statsmodels:統計建模和計量經濟學。SymPy:一個用于符号數學的 Python 庫。zipline:一個 Python 算法交易庫。Bayesian-belief-networks:優雅的貝葉斯理念網絡框架。AWS Data Wrangler:AWS 平台上使用的 Pandas。Optimus:在使用 PySpark 時,讓敏捷數據科學工作流程變得簡單。Colour:大量色彩理論轉換和算法的實現。Karate Club:用于圖形結構化數據的無監督機器學習工具箱。NIPY:神經影響學工具箱集合。ObsPy:地震學 Python 工具箱。QuTiP:Python 版 Quantum 工具箱。SimPy:一個基于過程的離散事件模拟框架。66數據可視化 進行數據可視化的庫。參見:awesome-javascript。
matplotlib:一個 Python 2D 繪圖庫。bokeh:用 Python 進行交互式 web 繪圖。ggplot:ggplot2 給 R 提供的 API 的 Python 版本。plotly:協同 Python 和 matplotlib 工作的 web 繪圖庫。pyecharts:基于百度 Echarts 的數據可視化庫。pygal:一個 Python SVG 圖表創建工具。pygraphviz:Graphviz 的 Python 接口。PyQtGraph:交互式實時 2D/3D/ 圖像繪制及科學/工程學組件。SnakeViz:一個基于浏覽器的 Python’s cProfile 模塊輸出結果查看工具。vincent:把 Python 轉換為 Vega 語法的轉換工具。VisPy:基于 OpenGL 的高性能科學可視化工具。Altair:用于 Python 的聲明式統計可視化庫。bqplot:Jupyter Notebook 的交互式繪圖庫。Cartopy:具有 matplotlib 支持的 Python 制圖庫。Dash:構建在 Flask、React 和 Plotly 之上,旨在用于分析 Web 應用程序。awesome-dashdiagrams:用圖表作為代碼。plotnine:基于ggplot2的Python圖形語法。PyGraphviz:Graphviz 的 Python 接口。Seaborn:使用 Matplotlib 進行統計數據可視化。67計算機視覺 計算機視覺相關庫。
OpenCV:開源計算機視覺庫。pyocr:Tesseract 和 Cuneiform 的包裝庫。pytesseract:Google Tesseract OCR 的另一包裝庫。SimpleCV:一個用來創建計算機視覺應用的開源框架。EasyOCR:支持40多種語言的即用型 OCR。Face Recognition:簡單的面部識别庫。Kornia:PyTorch 的開源差異化計算機視覺庫。tesserocr:另一個簡單的,兼容 Pillow 的 tesseract-ocr API 裝飾器,可用于 OCR。68深度學習 神經網絡和深度學習相關框架。也可以參考 awesome-deep-learning。
Caffe:一個 Caffe 的 python 接口。Caffe2:一個輕量級的,模塊化的,可擴展的深度學習框架。keras:以 tensorflow/theano/CNTK 為後端的深度學習封裝庫,快速上手神經網絡。MXNet:一個高效和靈活的深度學習框架。Pytorch:一個具有張量和動态神經網絡,并有強大 GPU 加速能力的深度學習框架。SerpentAI:遊戲代理框架,可使用任意視頻遊戲作為深度學習沙箱。Theano:一個快速數值計算庫。TensorFlow:谷歌開源的最受歡迎的深度學習框架。skflow:一個 TensorFlow 的簡化接口(模仿 scikit-learn)。hebel:GPU 加速的深度學習庫。pydeep:Python 深度學習庫。69機器學習 機器學習相關庫,也可以參考 awesome-machine-learning。
Crab:靈活、快速的推薦引擎。NuPIC:智能計算 Numenta 平台。pattern:Python 網絡挖掘模塊。PyBrain:另一個 Python 機器學習庫。Pylearn2:一個基于 Theano 的機器學習庫。python-recsys:一個用來實現推薦系統的 Python 庫。scikit-learn:基于 SciPy 構建的機器學習 Python 模塊。vowpalporpoise:輕量級 Vowpal Wabbit 的 Python 封裝。gym:開發和比較強化學習算法的工具包。H2O:開源快速可擴展的機器學習平台。Metrics:機器學習的評估指标。vowpal_porpoise:Python 版 Vowpal Wabbit 裝飾器。xgboost:可擴展,便攜式和分布式梯度提升庫。MindsDB:MindsDB 是現有數據庫的開源 AI 層,可讓使用标準查詢輕松地進行開發,訓練和部署最新的機器學習模型。70推薦系統 用于構建推薦系統的相關庫。
annoy:對 C /Python 實現的近似近鄰算法進行了内存優化。fastFM:Factorization Machine 相關庫。implicit:對隐式數據集進行協作過濾的快速 Python 實現。libffm:Field-aware Factorization Machine (FFM) 相關庫。lightfm:很多流行的推薦算法的 Python 實現。spotlight:使用 PyTorch 實現的深度推薦模型。Surprise:用于構建和分析推薦系統的科學工具。tensorrec:TensorFlow 的推薦引擎框架。71分布式計算 分布式計算相關的框架和庫。
dpark:Spark 的 Python 克隆版,一個類似 MapReduce 的框架。dumbo:這個 Python 模塊可以讓人輕松的編寫和運行 Hadoop 程序。luigi:這個模塊幫你構建批處理作業的複雜流水線。mrjob:在 Hadoop 或 Amazon Web Services 上運行 MapReduce 任務。dask:用于分析計算的靈活的并行計算庫。PySpark:Spark 的 Python API 。Ray:一個用于并行和分布式 Python 的系統,它統一了機器學習生态系統。faust:一個 Python 流處理庫,核心思想來源 Kafka Streams。streamparse:運行針對事實數據流的 Python 代碼。集成了 Apache Storm。mars:是基于張量的,用于進行大規模數據計算的統一計算框架。72函數式編程 使用 Python 進行函數式編程。
CyToolz:Toolz 的 Cython 實現:高性能函數式工具。fn.py:在 Python 中進行函數式編程:實現了一些享受函數式編程缺失的功能。funcy:炫酷又實用的函數式工具。Toolz:一組用于叠代器,函數和字典的函數式編程工具。Coconut:為了簡單、優雅、更 Pythonic 的函數式編程而構建的 Python 變體。more-itertools:比 itertools 擁有更多的可叠代對象的操作方式。returns:一個類型安全的單元、轉換器與合成工具集合。73第三方 API 用來訪問第三方 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 的封裝。74DevOps 工具 用于 DevOps 的軟件和庫。
Ansible:一個非常簡單的 IT 自動化平台。SaltStack:基礎設施自動化和管理系統。OpenStack:用于構建私有和公有雲的開源軟件。Docker Compose:快速,分離的開發環境,使用 Docker。Fabric:一個簡單的,Python 風格的工具,用來進行遠程執行和部署。cuisine:為 Fabric 提供一系列高級函數。Fabtools:一個用來編寫超贊的 Fabric 文件的工具。gitapi:Git 的純 Python API。hgapi:Mercurial 的純 Python API。honcho:Foreman 的 Python 克隆版,用來管理基于 Procfile 的應用。pexpect:在一個僞終端中控制交互程序,就像 GNU expect 一樣。psutil:一個跨平台進程和系統工具模塊。supervisor:UNIX 的進程控制系統。cloudinit:一個多分發包,用于處理雲實例的早期初始化。pyinfra:一個通用的 CLI 工具包和 python 庫,用于自動化的基礎設施。honcho:Foreman 的 Python 克隆版,用于管理基于 Procfile 的應用。BorgBackup:具有壓縮和加密功能的重複數據删除存檔器。docker-compose:使用 Docker 的快速獨立的開發環境。75任務調度 任務調度庫。
APScheduler:輕巧但強大的進程内任務調度,使你可以調度函數。django-schedule:一個 Django 排程應用。doit:一個任務執行和構建工具。gunnery:分布式系統使用的多用途任務執行工具 ,具有 web 交互界面。Joblib:一組為 Python 提供輕量級作業流水線的工具。Plan:如有神助地編寫 crontab 文件。schedule:人性化的 Python 任務調度庫。Spiff:使用純 Python 實現的強大的工作流引擎。TaskFlow:一個可以讓你方便執行任務的 Python 庫,一緻并且可靠。Airflow :是一個工作流分配管理系統,通過有向非循環圖的方式管理任務流程,設置任務依賴關系和時間調度。Prefect:一個現代的工作流程編排框架,使構建、計劃和監視健壯的數據管道變得容易。76外來函數接口 使用外來函數接口的庫。
cffi:用來調用 C 代碼的外來函數接口。ctypes:(Python 标準庫) 用來調用 C 代碼的外來函數接口。PyCUDA:Nvidia CUDA API 的封裝。SWIG:簡化的封裝和接口生成器。77重構 Python 重構相關庫和工具。
Bicycle Repair Man:Python 的重構工具。Bowler:适用于現代Python的安全代碼重構。Rope:一個 Python 的重構庫。78高性能 讓 Python 更快的庫。
Cython:優化的 Python 靜态編譯器。使用類型混合使 Python 編譯成 C 或 C 模塊來獲得性能的極大提升。CLPython:用 Common Lisp 編寫的 Python 編程語言的實現。Grumpy:編譯器比解釋器更強大的 cpython2.7 替代品(alpha)。IronPython:用 C# 編寫的 Python 編程語言的實現。Jython:為 JVM 用 Java 編寫的 Python 編程語言的實現。MicroPython:精簡高效的 Python 編程語言實現。Pyjion:基于 CoreCLR 的 Python JIT。Numba:Python JIT (just in time) 編譯器,針對科學用的 Python ,由 Cython 和 NumPy 的開發者開發。PeachPy:嵌入 Python 的 x86-64 彙編器。可以被用作 Python 内聯的彙編器或者是獨立的彙編器,用于 Windows,Linux,OS X,Native Client 或者 Go 。PyPy:使用 Python 實現的 Python。解釋器使用黑魔法加快 Python 運行速度且不需要加入額外的類型信息。Pyston:使用 LLVM 和現代 JIT 技術構建的 Python 實現,目标是為了獲得很好的性能。Stackless Python:一個強化版的 Python。79微軟的 Windows 平台 在 Windows 平台上進行 Python 編程。
Python(x,y):面向科學應用的 Python 發行版,基于 Qt 和 Spyder。pythonlibs:非官方的 Windows 平台 Python 擴展二進制包。PythonNet:Python 與 .NET 公共語言運行庫 (CLR)的集成。PyWin32:針對 Windows 的 Python 擴展。WinPython:Windows 7/8 系統下便攜式開發環境。80網絡可視化和 SDN 用來進行網絡可視化和 SDN(軟件定義網絡)的工具和庫。
Mininet:一款流行的網絡模拟器以及用 Python 編寫的 API。POX:一個針對基于 Python 的軟件定義網絡應用(例如 OpenFlow SDN 控制器)的開源開發平台。Pyretic:火熱的 SDN 編程語言中的一員,為網絡交換機和模拟器提供強大的抽象能力。SDX Platform:基于 SDN 的 IXP 實現,影響了 Mininet, POX 和 Pyretic。NRU:一個基于組件的軟件定義網絡框架。napalm:可跨供應商 API 來操縱網絡設備。81硬件 用來對硬件進行編程的庫。
ino:操作 Arduino 的命令行工具。Pyro:Python 機器人編程庫。PyUserInput:跨平台的,控制鼠标和鍵盤的模塊。scapy:一個非常棒的操作數據包的庫。wifi:一個 Python 庫和命令行工具用來在 Linux 平台上操作 WiFi。Pingo:Pingo 為類似 Raspberry Pi,pcDuino, Intel Galileo 等設備提供統一的 API 用以編程。keyboard:在 Windows 和 Linux 上挂鈎并模拟全局鍵盤事件。mouse:在 Windows 和 Linux 上挂鈎并模拟全局鼠标事件。82兼容性 幫助從 Python 2 向 Python 3 遷移的庫。
Python-Future:這就是 Python 2 和 Python 3 之間丢失的那個兼容性層。Six:Python 2 和 3 的兼容性工具。modernize:使 Python 代碼更加現代化以便最終遷移到 Python 3。83算法和設計模式 數據結構、算法和設計模式的 Python 實現。也可以參考 awesome-algorithms 。
算法
algorithms:數據結構和算法的簡單示例。python-ds:用于面試的數據結構和算法的集合。sortedcontainers:排序集合的快速的純 Python 實現。TheAlgorithms:所有算法的 Python 實現。 設計模式
PyPattyrn:一個簡單而有效的庫,用于實現常見的設計模式。python-patterns:一個 Python 設計模式集合。transitions:輕量級的,面向對象的有限狀态機實現。84内置類的增強版實現 一些 Python 内置類的增強版實現庫。
attrs:一個在類定義時可替換 __init__, __eq__, __repr__等方法的樣闆。bidict:高效的 Pythonic 的雙向映射數據結構和相關功能。Box:具有高級點符号訪問權限的 Python 字典。dataclasses:(Python 标準庫) 數據類。DottedDict:提供一種使用點路徑符号訪問列表和字典的方法的庫。85機器人 機器人相關庫。
PythonRobotics:各種具有可視化效果的機器人算法的彙總。rospy:ROS (Robot Operating System) 庫。86聊天工具 聊天機器人開發相關的庫。
errbot:實現 ChatOps 的最簡單最受歡迎的聊天機器人。87編輯器插件和 IDE Emacs
elpy:Emacs Python 開發環境。 Sublime Text
anaconda:Anaconda 可将功能齊全的 Python 開發 IDE 轉換為 Sublime Text 3。SublimeJEDI:一個很棒的自動補全庫 Jedi 的Sublime Text 插件。 Vim
jedi-vim:用于 Python 的 Jedi 自動補全庫的 Vim 綁定。python-mode:一個将 Vim 轉換為 Python IDE 的多合一插件。YouCompleteMe:包含 Jedi 補全的 Python 引擎。Visual StudioPTVS:Visual Studio Python 工具。Visual Studio CodePython:對 Python 有豐富支持的官方 VSCode 擴展。 IDE
PyCharm:JetBrains 提供的商業 Python IDE,也有免費的社區版。spyder:開源 Python IDE。88企業級應用集成 企業級環境中用于集成的平台與工具。
Zato:ESB, SOA, REST, APIs 以及雲的 Python 整合。89GraphQLGraphQL 相關庫。graphene:Python GraphQL 框架。tartiflette-aiohttp:Tartiflette 的基于 aiohttp 的裝飾器,用于通過 HTTP 公開 GraphQL API。tartiflette-asgi:Tartiflette GraphQL 引擎的 ASGI 支持。tartiflette:支持 Python 3.6 和 asyncio 的 SDL 優先的 GraphQL 引擎實現。90股票金融QUANTAXIS:支持任務調度,分布式部署的股票/期貨/期權/港股/虛拟貨币的數據/回測/模拟/交易/可視化/多賬戶純本地量化解決方案abu: 基于python的開源量化交易,量化投資架構Hikyuu Quant:基于C /Python的開源量化交易研究框架,用于策略分析及回測(僅受限于數據,如有數據也可用于期貨等)vnpy:基于Python的開源量化交易系統開發框架,整合了多種交易接口,并針對具體策略算法和功能開發提供了簡潔易用的API,用于快速構建交易員所需的量化交易應用91雜項 不屬于上面任何一個類别,但是非常有用的庫。
blinker:快速的 Python 運行時信号/事件分配系統。boltons:一組純 Python 實用工具。itsdangerous:将受信任的數據傳遞到不受信任的環境的幫助工具。magenta:使用人工智能生成音樂與藝術的工具。pluginbase:一個簡單但靈活的 Python 插件系統。tryton:一個通用業務框架。,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!