nyk 發布了 2019 年度的 JavaScript 框架安全狀況報告(PDF),除了最流行的 JS 框架 Angular 和 React 外,報告還觀察了其它三個流行 JS 前端框架 Vue.js、Bootstrap 和 jQuery 的安全漏洞。
作者/來源: 安華金和
Snyk 發布了 2019 年度的 JavaScript 框架安全狀況報告(PDF),除了最流行的 JS 框架 Angular 和 React 外,報告還觀察了其它三個流行 JS 前端框架 Vue.js、Bootstrap 和 jQuery 的安全漏洞。
jQuery 過去 12 個月的下載量超過了 1.2 億次,是 Vue.js 的 4000 萬次和 Bootstrap 的 7900 萬次之和。Vue.js 發現了 4 個漏洞,都已經修復。
Bootstrap 發現了 7 個跨站腳本漏洞,3 個是在 2019 年披露的,無安全修正。jQuery 發現了 6 個影響所有版本的安全漏洞,4 個是中等危險級別的跨站腳本漏洞,1 個是中危 Prototype Pollution 漏洞,還有一個是低危拒絕服務漏洞。
jQuery 3.4.0 以上版本不受漏洞影響。jQuery 生態系統還發現了多個惡意的擴展包,其中包括 jquery.js、jquery-airload、github-jquery-widgets、 jquery-mobile、jquery-file-upload 和 jquery-colorbox,這些包過去一年的下載量從幾百到幾千不等。
來源:solidot.org
NVIDIA 顯卡驅動再出數個高危漏洞 441.12 版本可免疫
NVIDIA 的 Windows 顯卡驅動經常會有曝出一些高危漏洞,一般官方的修復速度都挺快的,幾個月前那次有第三方志愿者報了卻拖著沒修還是比較少見的事情。最近的 GeForce 441.12 版本驅動中,NVIDIA 就修復了多個未公開的高危漏洞,另外這幾個漏洞在 Quadro、NVS 和 Tesla 的 Windows 驅動中同樣存在。
來源:Expreview超能網
詳情鏈接: https://www.dbsec.cn/blog/article/5383.html
iOS 13 越獄工具 Checkra1n 現已發布 適用 iPhone 與 iPad
經過漫長的等待,基于 checkm8 漏洞的 iOS 越獄工具 —— Checkra1n —— 終于公開了首個 beta 測試版本。需要注意的是,目前 iOS 13 的 Checkra1n 越獄工具仍處于測試階段,因此并不穩定,需要在后續開發中繼續深入。想要嘗鮮的朋友,可能會在 iPhone 或 iPad 上遇到一些問題。
來源:cnBeta.COM
詳情鏈接: https://www.dbsec.cn/blog/article/5384.html
GitHub 年度 Octoverse 報告:超 80% 存儲庫貢獻來自美國之外
知名開源代碼托管平臺 GitHub 剛剛發布了年度 Octoverse 報告,可知去年最大的開源貢獻項目為微軟 Visual Studio Code(19.1K)、Azure Docs(14K)和 Flutter(13K)。其次是 Google 的 TensorFlow(9.9K)、Kubernetes(6.9K)、以及 Facebook 創建的 React Native 框架。
來源:cnBeta.COM
詳情鏈接: https://www.dbsec.cn/blog/article/5385.html
黑客發現亞馬遜和三星產品漏洞 獲數十萬美元獎金
11 月 11 日消息,據外媒報道,今年在日本東京舉行的 Pwn2Own 黑客競賽中,兩名安全研究人員因發現亞馬遜智能助手Alexa驅動的智能設備 Amazon Echo 和三星 Galaxy S10 中的漏洞,獲得“頂級黑客”的殊榮。
來源:網易科技
詳情鏈接: https://www.dbsec.cn/blog/article/5386.html
(信息來源于網絡,安華金和搜集整理)
者:李曉飛
來源:Python 技術
爬蟲程序想必大家都很熟悉了,隨便寫一個就可以獲取網頁上的信息,甚至可以通過請求自動生成 Python 腳本[1]。
最近我遇到一個爬蟲項目,需要爬取網上的文章。感覺沒有什么特別的,但問題是沒有限定爬取范圍,意味著沒有明確的頁面的結構。
對于一個頁面來說,除了核心文章內容外,還有頭部,尾部,左右列表欄等等。有的頁面框架用 div 布局,有的用 table,即使都用 div,不太的網站風格和布局也不同。
但問題必須解決,我想,既然搜索引擎抓取到各種網頁的核心內容,我們也應該可以搞定,拎起 Python, 說干就干!
如何解決呢?
開始想了一個取巧的方法,就是利用工具(wkhtmltopdf[2])將目標網頁生成 PDF 文件。
好處是不必關心頁面的具體形式,就像給頁面拍了一張照片,文章結構是完整的。
雖然 PDF 是可以源碼級檢索,但是,生成 PDF 有諸多缺點:
耗費計算資源多、效率低、出錯率高,體積太大。
幾萬條數據已經兩百多G,如果數據量上來光存儲就是很大的問題。
不生成PDF,有簡單辦法就是通過 xpath[3] 提取頁面上的所有文字。
但是內容將失去結構,可讀性差。更要命的是,網頁上有很多無關內容,比如側邊欄,廣告,相關鏈接等,也會被提取下來,影響內容的精確性。
為了保證有一定的結構,還要識別到核心內容,就只能識別并提取文章部分的結構了。像搜索引擎學習,就是想辦法識別頁面的核心內容。
我們知道,通常情況下,頁面上的核心內容(如文章部分)文字比較集中,可以從這個地方著手分析。
于是編寫了一段代碼,我是用 Scrapy[4] 作為爬蟲框架的,這里只截取了其中提取文章部分的代碼 :
divs = response.xpath("body//div")
sel = None
maxvalue = 0
for d in divs:
ds = len(d.xpath(".//div"))
ps = len(d.xpath(".//p"))
value = ps - ds
if value > maxvalue:
sel = {
"node": d,
"value": value
}
maxvalue = value
print("".join(sel['node'].getall()))
簡單明了,測試了幾個頁面確實挺好。
不過大量提取時發現,很多頁面提取不到數據。仔細查看發現,有兩種情況。
再調整了一下策略,不再區分 div,查看所有的元素。
另外優先選擇更多的 p,在其基礎上再看更少的 div。調整后的代碼如下:
divs = response.xpath("body//*")
sels = []
maxvalue = 0
for d in divs:
ds = len(d.xpath(".//div"))
ps = len(d.xpath(".//p"))
if ps >= maxvalue:
sel = {
"node": d,
"ps": ps,
"ds": ds
}
maxvalue = ps
sels.append(sel)
sels.sort(lambda x: x.ds)
sel = sels[0]
print("".join(sel['node'].getall()))
經過這樣修改之后,確實在一定程度上彌補了前面的問題,但是引入了一個更麻煩的問題。
就是找到的文章主體不穩定,特別容易受到其他部分有些 p 的影響。
既然直接計算不太合適,需要重新設計一個算法。
我發現,文字集中的地方是往往是文章主體,而前面的方法中,沒有考慮到這一點,只是機械地找出了最大的 p。
還有一點,網頁結構是個顆 DOM 樹[6]
那么越靠近 p 標簽的地方應該越可能是文章主體,也就是說,計算是越靠近 p 的節點權值應該越大,而遠離 p 的結點及時擁有很多 p 但是權值也應該小一點。
經過試錯,最終代碼如下:
def find(node, sel):
value = 0
for n in node.xpath("*"):
if n.xpath("local-name()").get() == "p":
t = "".join([s.strip() for s in (n.xpath('text()').getall() + n.xpath("*/text()").getall())])
value += len(t)
else:
value += find(n, a)*0.5
if value > sel["value"]:
sel["node"] = node
sel["value"] = value
return value
sel = {
'value': 0,
'node': None
}
find(response.xpath("body"), sel)
通過這樣改造之后,效果特別好。
為什么呢?其實利用了密度原理,就是說越靠近中心的地方,密度越高,遠離中心的地方密度成倍的降低,這樣就能篩選出密度中心了。
50% 的坡度比率是如何得到的呢?
其實是通過實驗確定的,剛開始時我設置為 90%,但結果時 body 節點總是最優的,因為 body 里包含了所有的文字內容。
反復實驗后,確定 50% 是比較好的值,如果在你的應用中不合適,可以做調整。
描述了我如何選取文章主體的方法后,后沒有發現其實很是很簡單的方法。而這次解決問題的經歷,讓我感受到了數學的魅力。
一直以來我認為只要了解常規處理問題的方式就足以應對日常編程了,可以當遇到不確定性問題,沒有辦法抽取出簡單模型的問題時,常規思維顯然不行。
所以平時我們應該多看一些數學性強的,解決不確定性問題的方法,以便提高我們的編程適應能力,擴展我們的技能范圍。
管理 Python 版本和環境的工具:
p:非常簡單的交互式 python 版本管理工具。官網
pyenv:簡單的 Python 版本管理工具。官網
Vex:可以在虛擬環境中執行命令。官網
virtualenv:創建獨立 Python 環境的工具。官網
virtualenvwrapper:virtualenv 的一組擴展。官網
管理包和依賴的工具。
pip:Python 包和依賴關系管理工具。官網
pip-tools:保證 Python 包依賴關系更新的一組工具。官網
pipenv:Pyhton 官方推薦的新一代包管理工具。官網
conda:跨平臺,Python 二進制包管理工具。官網
Curdling:管理 Python 包的命令行工具。官網
wheel:Python 分發的新標準,意在取代 eggs。官網
本地 PyPI 倉庫服務和代理。
warehouse:下一代 PyPI。官網
Warehouse:預覽
bandersnatch:PyPA 提供的 PyPI 鏡像工具。官網
devpi:PyPI 服務和打包/測試/分發工具。官網
localshop:本地 PyPI 服務(自定義包并且自動對 PyPI 鏡像)。官網
打包為可執行文件以便分發。
PyInstaller:將 Python 程序轉換成獨立的執行文件(跨平臺)。官網
dh-virtualenv:構建并將 virtualenv 虛擬環境作為一個 Debian 包來發布。官網
Nuitka:將腳本、模塊、包編譯成可執行文件或擴展模塊。官網
py2app:將 Python 腳本變為獨立軟件包(Mac OS X)。官網
py2exe:將 Python 腳本變為獨立軟件包(Windows)。官網
pynsist:一個用來創建 Windows 安裝程序的工具,可以在安裝程序中打包 Python 本身。官網
將源碼編譯成軟件。
buildout:一個構建系統,從多個組件來創建,組裝和部署應用。官網
BitBake:針對嵌入式 Linux 的類似 make 的構建工具。官網
fabricate:對任何語言自動找到依賴關系的構建工具。官網
PlatformIO:多平臺命令行構建工具。官網
PyBuilder:純 Python 實現的持續化構建工具。官網
SCons:軟件構建工具。官網
交互式 Python 解析器。
IPython:功能豐富的工具,非常有效的使用交互式 Python。官網
bpython:界面豐富的 Python 解析器。官網
ptpython:高級交互式 Python 解析器, 構建于 python-prompt-toolkit 之上。官網
文件管理和 MIME(多用途的網際郵件擴充協議)類型檢測。
imghdr:(Python 標準庫)檢測圖片類型。官網
mimetypes:(Python 標準庫)將文件名映射為 MIME 類型。官網
path.py:對 os.path 進行封裝的模塊。官網
pathlib:(Python3.4+ 標準庫)跨平臺的、面向對象的路徑操作庫。官網
python-magic:文件類型檢測的第三方庫 libmagic 的 Python 接口。官網
Unipath:用面向對象的方式操作文件和目錄。官網
watchdog:管理文件系統事件的 API 和 shell 工具。官網
操作日期和時間的類庫。
arrow:更好的 Python 日期時間操作類庫。官網
Chronyk:Python 3 的類庫,用于解析手寫格式的時間和日期。官網
dateutil:Python datetime 模塊的擴展。官網
delorean:解決 Python 中有關日期處理的棘手問題的庫。官網
moment:一個用來處理時間和日期的 Python 庫。靈感來自于 Moment.js。官網
pendulum:一個比 arrow 更具有明確的,可預測的行為的時間操作庫。官網
PyTime:一個簡單易用的 Python 模塊,用于通過字符串來操作日期/時間。官網
pytz:現代以及歷史版本的世界時區定義。將時區數據庫引入 Python。官網
when.py:提供用戶友好的函數來幫助用戶進行常用的日期和時間操作。官網
文本處理
用于解析和操作文本的庫。
通用
chardet:字符編碼檢測器,兼容 Python2 和 Python3。官網
difflib:(Python 標準庫)幫助我們進行差異化比較。官網
ftfy:讓 Unicode 文本更完整更連貫。官網
fuzzywuzzy:模糊字符串匹配。官網
Levenshtein:快速計算編輯距離以及字符串的相似度。官網
pangu.py:在中日韓語字符和數字字母之間添加空格。官網
pypinyin:漢字拼音轉換工具 Python 版。官網
shortuuid:一個生成器庫,用以生成簡潔的,明白的,URL 安全的 UUID。官網
simplejson:Python 的 JSON 編碼、解碼器。官網
unidecode:Unicode 文本的 ASCII 轉換形式 。官網
uniout:打印可讀的字符,而不是轉義的字符串。官網
xpinyin:一個用于把漢字轉換為拼音的庫。官網
yfiglet-figlet:pyfiglet -figlet 的 Python 實現。
Slug 化
awesome-slugify:一個 Python slug 化庫,可以保持 Unicode。官網
python-slugify:Python slug 化庫,可以把 unicode 轉化為 ASCII。官網
unicode-slugify:一個 slug 工具,可以生成 unicode slugs ,需要依賴 Django 。官網
解析器
phonenumbers:解析,格式化,儲存,驗證電話號碼。官網
PLY:lex 和 yacc 解析工具的 Python 實現。官網
Pygments:通用語法高亮工具。官網
pyparsing:生成通用解析器的框架。官網
python-nameparser:把一個人名分解為幾個獨立的部分。官網
python-user-agents:瀏覽器 user agent 解析器。官網
sqlparse:一個無驗證的 SQL 解析器。官網
一些用來解析和操作特殊文本格式的庫。
通用
tablib:一個用來處理中表格數據的模塊。官網
Office
Marmir:把輸入的 Python 數據結構轉換為電子表單。官網
openpyxl:一個用來讀寫 Excel 2010 xlsx/xlsm/xltx/xltm 文件的庫。官網
python-docx:讀取,查詢以及修改 Microsoft Word 2007/2008 docx 文件。官網
unoconv:在 LibreOffice/OpenOffice 支持的任意文件格式之間進行轉換。官網
XlsxWriter:一個用于創建 Excel .xlsx 文件的 Python 模塊。官網
xlwings:一個使得在 Excel 中方便調用 Python 的庫(反之亦然),基于 BSD 協議。官網
xlwt:讀寫 Excel 文件的數據和格式信息。官網 / xlrd
relatorio:模板化 OpenDocument 文件。官網
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:一個用來方便解包歸檔文件的命令行工具。官網
用來處理人類語言的庫。
NLTK:一個先進的平臺,用以構建處理人類語言數據的 Python 程序。官網
jieba:中文分詞工具。官網
langid.py:獨立的語言識別系統。官網
Pattern:Python 網絡信息挖掘模塊。官網
SnowNLP:一個用來處理中文文本的庫。官網
TextBlob:為進行普通自然語言處理任務提供一致的 API。官網
TextGrocery:一簡單高效的短文本分類工具,基于 LibLinear 和 Jieba。官網
用以生成項目文檔的庫。
Sphinx:Python 文檔生成器。官網
awesome-sphinxdoc:官網
MkDocs:對 Markdown 友好的文檔生成器。官網
pdoc:一個可以替換 Epydoc 的庫,可以自動生成 Python 庫的 API 文檔。官網
Pycco:文學編程(literate-programming)風格的文檔生成器。官網
readthedocs:一個基于 Sphinx/MkDocs 的在線文檔托管系統,對開源項目免費開放使用。官網
用來保存和解析配置的庫。
config:logging 模塊作者寫的分級配置模塊。官網
ConfigObj:INI 文件解析器,帶驗證功能。官網
ConfigParser:(Python 標準庫) INI 文件解析器。官網
profig:通過多種格式進行配置,具有數值轉換功能。官網
python-decouple:將設置和代碼完全隔離。官網
用于創建命令行程序的庫。
命令行程序開發
asciimatics:跨平臺,全屏終端包(即鼠標/鍵盤輸入和彩色,定位文本輸出),完整的復雜動畫和特殊效果的高級 API。官網
cement:Python 的命令行程序框架。官網
click:一個通過組合的方式來創建精美命令行界面的包。官網
cliff:一個用于創建命令行程序的框架,可以創建具有多層命令的命令行程序。官網
clint:Python 命令行程序工具。官網
colorama:跨平臺彩色終端文本。官網
docopt:Python 風格的命令行參數解析器。官網
Gooey:一條命令,將命令行程序變成一個 GUI 程序。官網
python-prompt-toolkit:一個用于構建強大的交互式命令行程序的庫。官網
python-fire:Google 出品的一個基于 Python 類的構建命令行界面的庫。官網
Pythonpy:在命令行中直接執行任何 Python 指令。官網
生產力工具
aws-cli:Amazon Web Services 的通用命令行界面。官網
bashplotlib:在終端中進行基本繪圖。官網
caniusepython3:判斷是哪個項目妨礙你你移植到 Python3。官網
cookiecutter:從 cookiecutters(項目模板)創建項目的一個命令行工具。官網
doitlive:一個用來在終端中進行現場演示的工具。官網
pyftpdlib:一個速度極快和可擴展的 Python FTP 服務庫。官網
howdoi:通過命令行獲取即時的編程問題解答。官網
httpie:一個命令行 HTTP 客戶端,cURL 的替代品,易用性更好。官網
PathPicker:從 bash 輸出中選出文件。官網
percol:向 UNIX shell 傳統管道概念中加入交互式選擇功能。官網
SAWS:一個加強版的 AWS 命令行。官網
thefuck:修正你之前的命令行指令。官網
mycli:一個 MySQL 命令行客戶端,具有自動補全和語法高亮功能。官網
pgcli:Postgres 命令行工具,具有自動補全和語法高亮功能。官網
try:一個從來沒有更簡單的命令行工具,用來試用 python 庫。官網
用來進行下載的庫.
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 實現的二維碼生成器。官網
Quads:基于四叉樹的計算機藝術。官網
scikit-image:一個用于(科學)圖像處理的 Python 庫。官網
thumbor:一個小型圖像服務,具有剪裁,尺寸重設和翻轉功能。官網
wand:MagickWand的 Python 綁定。MagickWand 是 ImageMagick 的 C API 。官網
face_recognition:簡單易用的 python 人臉識別庫。官網
光學字符識別庫。
pyocr:Tesseract 和 Cuneiform 的一個封裝(wrapper)。官網
pytesseract:Google Tesseract OCR 的另一個封裝(wrapper)。官網
python-tesseract:Google Tesseract OCR 的一個包裝類。
用來操作音頻的庫
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 文件和回放功能。官網
用來操作視頻和 GIF 的庫。
moviepy:一個用來進行基于腳本的視頻編輯模塊,適用于多種格式,包括動圖 GIFs。官網
scikit-video:SciPy 視頻處理常用程序。官網
地理編碼地址以及用來處理經緯度的庫。
GeoDjango:世界級地理圖形 web 框架。官網
GeoIP:MaxMind GeoIP Legacy 數據庫的 Python API。官網
geojson:GeoJSON 的 Python 綁定及工具。官網
geopy:Python 地址編碼工具箱。官網
pygeoip:純 Python GeoIP API。官網
django-countries:一個 Django 應用程序,提供用于表格的國家選擇功能,國旗圖標靜態文件以及模型中的國家字段。官網
使用 HTTP 的庫。
requests:人性化的 HTTP 請求庫。官網
grequests:requests 庫 + gevent ,用于異步 HTTP 請求.官網
httplib2:全面的 HTTP 客戶端庫。官網
treq:類似 requests 的 Python API 構建于 Twisted HTTP 客戶端之上。官網
urllib3:一個具有線程安全連接池,支持文件 post,清晰友好的 HTTP 庫。官網
Python 實現的數據庫。
pickleDB:一個簡單,輕量級鍵值儲存數據庫。官網
PipelineDB:流式 SQL 數據庫。官網
TinyDB:一個微型的,面向文檔型數據庫。官網
ZODB:一個 Python 原生對象數據庫。一個鍵值和對象圖數據庫。官網
用來連接和操作數據庫的庫。
MySQL:awesome-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 數據庫
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 客戶端。官網
實現對象關系映射或數據映射技術的庫。
關系型數據庫
awesome-sqlalchemy 系列
Django Models:Django 的一部分。官網
SQLAlchemy:Python SQL 工具以及對象關系映射工具。官網
Peewee:一個小巧,富有表達力的 ORM。官網
PonyORM:提供面向生成器的 SQL 接口的 ORM。官網
python-sql:編寫 Python 風格的 SQL 查詢。官網
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。官網
全棧 Web 框架。
Django:Python 界最流行的 web 框架。官網
awesome-django 系列
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 框架和異步網絡庫。官網
允許或拒絕用戶訪問數據或功能的庫。
Carteblanche:站在用戶和設計者角度開發的一個代碼對齊模塊,很好地處理了代碼導航及權限。官網
django-guardian:Django 1.2+ 實現了單個對象權限。官網
django-rules:一個小巧但是強大的應用,提供對象級別的權限管理,且不需要使用數據庫。官網
內容管理系統
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。官網
用于電子商務以及支付的框架和庫。
django-oscar:一個用于 Django 的開源的電子商務框架。官網
django-shop:一個基于 Django 的店鋪系統。官網
Cartridge:一個基于 Mezzanine 構建的購物車應用。官網
shoop:一個基于 Django 的開源電子商務平臺。官網
alipay:非官方的 Python 支付寶 API。官網
merchant:一個可以接收來自多種支付平臺支付的 Django 應用。官網
money:一個貨幣類庫。帶有可選的 CLDR 后端本地化格式,提供可擴展的貨幣兌換解決方案。官網
python-currencies:顯示貨幣格式以及它的數值。官網
用來開發 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。官網
實現驗證方案的庫。
OAuth
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 客戶端實現。官網
其他
jose:JavaScript 對象簽名和加密草案的實現。官網
PyJWT:JSON Web 令牌草案 01。官網
python-jws:JSON Web 簽名草案 02 的實現。官網
python-jwt:一個用來生成和驗證 JSON Web 令牌的模塊。官網
模板生成和詞法解析的庫和工具。
Jinja2:一個現代的,對設計師友好的模板引擎。官網
Chameleon:一個 HTML/XML 模板引擎。 模仿了 ZPT(Zope Page Templates), 進行了速度上的優化。官網
Genshi:Python 模板工具,用以生成 web 感知的結果。官網
Mako:Python 平臺的超高速輕量級模板。官網
處理事件以及任務隊列的庫。
celery:一個異步任務隊列/作業隊列,基于分布式消息傳遞。官網
huey:小型多線程任務隊列。官網
mrq:Mr. Queue -一個 Python 的分布式 worker 任務隊列, 使用 Redis 和 gevent。官網
rq:簡單的 Python 作業隊列。官網
simpleq:一個簡單的,可無限擴張的,基于亞馬遜 SQS 的隊列。官網
對數據進行索引和執行搜索查詢的庫和軟件。
django-haystack:Django 模塊化搜索。官網
elasticsearch-py:Elasticsearch 的官方底層 Python 客戶端。官網
elasticsearch-dsl-py:Elasticsearch 的官方高級 Python 客戶端。官網
solrpy:solr 的 Python 客戶端。官網
Whoosh:一個快速的純 Python 搜索引擎庫。官網
用來創建用戶活動的庫。
django-activity-stream:從你的站點行為中生成通用活動信息流。官網
Stream-Framework:使用 Cassandra 和 Redis 創建動態消息和通知系統。官網
管理、壓縮、縮小網站資源的工具。
django-compressor:將鏈接和內聯的 JavaScript 或 CSS 壓縮到一個單獨的緩存文件中。官網
django-storages:一個針對 Django 的自定義存儲后端的工具集合。官網
fanstatic:打包、優化,并且把靜態文件依賴作為 Python 的包來提供。官網
File Conveyor:一個后臺駐留的程序,用來發現和同步文件到 CDNs, S3 和 FTP。官網
Flask-Assets:幫你將 web 資源整合到你的 Flask app 中。官網
jinja-assets-compressor:一個 Jinja 擴展,用來編譯和壓縮你的資源。官網
webassets:為你的靜態資源打包、優化和管理生成獨一無二的緩存 URL。官網
緩存數據的庫。
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 封裝。官網
用來發送和解析電子郵件的庫。
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 庫,用來抽取信息和簽名。官網
用來進行國際化的庫。
Babel:一個 Python 的國際化庫。官網
Korean:一個韓語詞態庫。官網
解析 URLs 的庫
furl:一個讓處理 URL 更簡單小型 Python 庫。官網
purl:一個簡單的,不可變的 URL 類,具有簡潔的 API 來進行詢問和處理。官網
pyshorteners:一個純 Python URL 縮短庫。官網
shorturl:生成短小 URL 和類似 bit.ly 短鏈的 Python 實現。官網
webargs:一個解析 HTTP 請求參數的庫,內置對流行 web 框架的支持,包括 Flask, Django, Bottle, Tornado 和 Pyramid。官網
處理 HTML 和 XML 的庫。
BeautifulSoup:以 Python 風格的方式來對 HTML 或 XML 進行迭代,搜索和修改。官網
bleach:一個基于白名單的 HTML 清理和文本鏈接庫。官網
cssutils:一個 Python 的 CSS 庫。官網
html5lib:一個兼容標準的 HTML 文檔和片段解析及序列化庫。官網
lxml:一個非常快速,簡單易用,功能齊全的庫,用來處理 HTML 和 XML。官網
MarkupSafe:為 Python 實現 XML/HTML/XHTML 標記安全字符串。官網
pyquery:一個解析 HTML 的庫,類似 jQuery。官網
untangle:將 XML 文檔轉換為 Python 對象,使其可以方便的訪問。官網
xhtml2pdf:HTML/CSS 轉 PDF 工具。官網
xmltodict:像處理 JSON 一樣處理 XML。官網
Scrapy:一個快速高級的屏幕爬取及網頁采集框架。官網
cola:一個分布式爬蟲框架。官網
Demiurge:基于 PyQuery 的爬蟲微型框架。官網
feedparser:通用 feed 解析器。官網
Grab:站點爬取框架。官網
MechanicalSoup:用于自動和網絡站點交互的 Python 庫。官網
portia:Scrapy 可視化爬取。官網
pyspider:一個強大的爬蟲系統。官網
RoboBrowser:一個簡單的,Python 風格的庫,用來瀏覽網站,而不需要一個獨立安裝的瀏覽器。官網
用于進行網頁內容提取的庫。
Haul:一個可以擴展的圖像爬取工具。官網
html2text:將 HTML 轉換為 Markdown 格式文本。官網
lassie:人性化的網頁內容檢索庫。官網
micawber:一個小型網頁內容提取庫,用來從 URLs 提取富內容。官網
newspaper:使用 Python 進行新聞提取,文章提取以及內容策展。官網
opengraph:一個用來解析開放內容協議(Open Graph Protocol)的 Python 模塊。官網
python-goose:HTML 內容/文章提取器。官網
python-readability:arc90 公司 readability 工具的 Python 高速端口。官網
sanitize:為雜亂的數據世界帶來調理性。官網
sumy:一個為文本文件和 HTML 頁面進行自動摘要的模塊。官網
textract:從任何格式的文檔中提取文本,Word,PowerPoint,PDFs 等等。官網
進行表單操作的庫。
Deform:Python HTML 表單生成庫,受到了 formish 表單生成庫的啟發。官網
django-bootstrap3:集成了 Bootstrap 3 的 Django。官網
django-crispy-forms:一個 Django 應用,他可以讓你以一種非常優雅且 DRY(Don't repeat yourself) 的方式來創建美觀的表單。官網
django-remote-forms:一個平臺獨立的 Django 表單序列化工具。官網
WTForms:一個靈活的表單驗證和呈現庫。官網
WTForms-JSON:一個 WTForms 擴展,用來處理 JSON 數據。官網
數據驗證庫。多用于表單驗證。
Cerberus:一個映射驗證器(mappings-validator)。支持多種規則,提供歸一化功能,可以方便地定制為 Python 風格的 schema 定義。官網
colander:一個用于對從 XML, JSON,HTML 表單獲取的數據或其他同樣簡單的序列化數據進行驗證和反序列化的系統。官網
kmatch:一種用于匹配/驗證/篩選 Python 字典的語言。官網
schema:一個用于對 Python 數據結構進行驗證的庫。官網
Schematics:數據結構驗證。官網
valideer:輕量級可擴展的數據驗證和適配庫。官網
voluptuous:一個 Python 數據驗證庫。主要是為了驗證傳入 Python 的 JSON,YAML 等數據。官網
幫助你和電子垃圾進行戰斗的庫。
django-simple-captcha:一個簡單、高度可定制的 Django 應用,可以為任何 Django 表單添加驗證碼。官網
django-simple-spam-blocker:一個用于 Django 的簡單的電子垃圾屏蔽工具。官網
用來進行標記的庫。
django-taggit:簡單的 Django 標記工具。官網
管理界面庫。
Ajenti:一個你的服務器值得擁有的管理面板。官網
django-suit:Django 管理界面的一個替代品 (僅對于非商業用途是免費的)。官網
django-xadmin:Django admin 的一個替代品,具有很多不錯的功能。官網
flask-admin:一個用于 Flask 的簡單可擴展的管理界面框架。官網
flower:一個對 Celery 集群進行實時監控和提供 web 管理界面的工具。官網
Grappelli:Django 管理界面的一個漂亮的皮膚。官網
Wooey:一個 Django 應用,可以為 Python 腳本創建 web 用戶界面。官網
靜態站點生成器是一個軟件,它把文本和模板作為輸入,然后輸出 HTML 文件。
Pelican:使用 Markdown 或 ReST 來處理內容, Jinja 2 來制作主題。支持 DVCS, Disqus.。AGPL 許可。官網
Cactus:為設計師設計的靜態站點生成器。官網
Hyde:基于 Jinja2 的靜態站點生成器。官網
Nikola:一個靜態網站和博客生成器。官網
Tinkerer:Tinkerer 是一個博客引擎/靜態站點生成器,由 Sphinx 驅動。官網
Lektor:一個簡單易用的靜態 CMS 和博客引擎。官網
操作系統進程啟動及通信庫。
envoy:比 Python subprocess 模塊更人性化。官網
sarge:另一 種 subprocess 模塊的封裝。官網
sh:一個完備的 subprocess 替代庫。官網
用以進行并發和并行操作的庫。
multiprocessing:(Python 標準庫) 基于進程的“線程”接口。官網
threading:(Python 標準庫)更高層的線程接口。官網
eventlet:支持 WSGI 的異步框架。官網
gevent:一個基于協程的 Python 網絡庫,使用 greenlet。官網
Tomorrow:用于產生異步代碼的神奇的裝飾器語法實現。官網
uvloop:在 libuv 之上超快速實現 asyncio 事件循環。官網
用于網絡編程的庫。
asyncio:(Python 標準庫) 異步 I/O, 事件循環, 協程以及任務。官網
Twisted:一個事件驅動的網絡引擎。官網
pulsar:事件驅動的并發框架。官網
diesel:基于 Greenlet 的事件 I/O 框架。官網
pyzmq:一個 ZeroMQ 消息庫的 Python 封裝。官網
txZMQ:基于 Twisted 的 ZeroMQ 消息庫的 Python 封裝。官網
幫助使用 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 客戶端和服務器庫。官網
兼容 WSGI 的 web 服務器
gunicorn:Pre-forked, 部分是由 C 語言編寫的。官網
uwsgi:uwsgi 項目的目的是開發一組全棧工具,用來建立托管服務, 由 C 語言編寫。官網
bjoern:異步,非常快速,由 C 語言編寫。官網
fapws3:異步 (僅對于網絡端),由 C 語言編寫。官網
meinheld:異步,部分是由 C 語言編寫的。官網
netius:異步,非常快速。官網
paste:多線程,穩定,久經考驗。官網
rocket:多線程。官網
waitress:多線程, 是它驅動著 Pyramid 框架。官網
Werkzeug:一個 WSGI 工具庫,驅動著 Flask ,而且可以很方便大嵌入到你的項目中去。官網
兼容 RPC 的服務器。
SimpleJSONRPCServer:這個庫是 JSON-RPC 規范的一個實現。官網
SimpleXMLRPCServer:(Python 標準庫) 簡單的 XML-RPC 服務器實現,單線程。官網
zeroRPC:zerorpc 是一個靈活的 RPC 實現,基于 ZeroMQ 和 MessagePack。官網
cryptography:這個軟件包意在提供密碼學基本內容和方法提供給 Python 開發者。官網
hashids:在 Python 中實現 hashids 。官網
Paramiko:SSHv2 協議的 Python (2.6+, 3.3+) ,提供客戶端和服務端的功能。官網
Passlib:安全密碼存儲/哈希庫,官網
PyCrypto:Python 密碼學工具箱。官網
PyNacl:網絡和密碼學(NaCl) 庫的 Python 綁定。官網
用來創建圖形用戶界面程序的庫。
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 技術進行界面的展示。官網
超贊的游戲開發庫。
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)引擎。官網
用來生成和操作日志的庫。
logging:(Python 標準庫) 為 Python 提供日志功能。官網
logbook:Logging 庫的替代品。官網
Eliot:為復雜的和分布式系統創建日志。官網
Raven:Sentry 的 Python 客戶端。官網
Sentry:實時記錄和收集日志的服務器。官網
進行代碼庫測試和生成測試數據的庫。
測試框架
unittest:(Python 標準庫) 單元測試框架。官網
nose:nose 擴展了 unittest 的功能。官網
contexts:一個 Python 3.3+ 的 BDD 框架。受到 C# – Machine.Specifications 的啟發。官網
hypothesis:Hypothesis 是一個基于先進的 Quickcheck 風格特性的測試庫。官網
mamba:Python 的終極測試工具, 擁護 BDD。官網
PyAutoGUI:PyAutoGUI 是一個人性化的跨平臺 GUI 自動測試模塊。官網
pyshould:Should 風格的斷言,基于 PyHamcrest。官網
pytest:一個成熟的全功能 Python 測試工具。官網
green:干凈,多彩的測試工具。官網
pyvows:BDD 風格的測試工具,受 Vows.js 的啟發。官網
Robot Framework:一個通用的自動化測試框架。官網
Web 測試
Selenium:Selenium WebDriver 的 Python 綁定。官網
locust:使用 Python 編寫的,可擴展的用戶加載測試工具。官網
sixpack:一個和語言無關的 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 測試創建隨機固件。官網
代碼覆蓋率
coverage:代碼覆蓋率測量。官網
Codecov:一個代碼覆蓋率測試工具,為開源項目提供免費代碼覆蓋率測試服務。官網
偽數據
faker:一個 Python 庫,用來生成偽數據。官網
fake2db:偽數據庫生成器。官網
radar:生成隨機的日期/時間。官網
錯誤處理
FuckIt.py:FuckIt.py 使用最先進的技術來保證你的 Python 代碼無論對錯都能繼續運行。官網
進行代碼分析,解析和操作代碼庫的庫和工具。
代碼分析
coala:語言獨立和易于擴展的代碼分析應用程序。官網
code2flow:把你的 Python 和 JavaScript 代碼轉換為流程圖。官網
pycallgraph:這個庫可以把你的 Python 應用的流程(調用圖)進行可視化。官網
pysonar2:Python 類型推斷和檢索工具。官網
Lint 工具
Flake8:模塊化源碼檢查工具: pep8, pyflakes 以及 co。官網
Pylint:一個完全可定制的源碼分析器。官網
YAPF: Google 的 Python 代碼格式化工具。官網
pylama:Python 和 JavaScript 的代碼審查工具。官網
代碼格式化
autopep8:自動格式化 Python 代碼,以使其符合 PEP8 規范。官網
用來進行代碼調試的庫。
調試器
ipdb:IPython 啟用的 pdb。官網
pudb:全屏,基于控制臺的 Python 調試器。官網
pyringe:可以在 Python 進程中附加和注入代碼的調試器。官網
wdb:一個奇異的 web 調試器,通過 WebSockets 工作。官網
winpdb:一個具有圖形用戶界面的 Python 調試器,可以進行遠程調試,基于 rpdb2。官網
django-debug-toolbar:為 Django 顯示各種調試信息。官網
django-devserver:一個 Django 運行服務器的替代品。官網
flask-debugtoolbar:django-debug-toolbar 的 flask 版。官網
性能分析器
lineprofiler:逐行性能分析。官網
Memory Profiler:監控 Python 代碼的內存使用。官網、內存
profiling:一個交互式 Python 性能分析工具。官網
其他
pyelftools:解析和分析 ELF 文件以及 DWARF 調試信息。官網
python-statsd:statsd 服務器的 Python 客戶端。官網
用來進行科學計算和數據分析的庫。
astropy:一個天文學 Python 庫。官網
bcbio-nextgen:這個工具箱為全自動高通量測序分析提供符合最佳實踐的處理流程。官網
bccb:生物分析相關代碼集合。官網
Biopython:Biopython 是一組可以免費使用的用來進行生物計算的工具。官網
blaze:NumPy 和 Pandas 的大數據接口。官網
cclib:一個用來解析和解釋計算化學軟件包輸出結果的庫。官網
NetworkX:一個為復雜網絡設計的高性能軟件。官網
Neupy:執行和測試各種不同的人工神經網絡算法。官網
Numba:Python JIT (just in time) 編譯器,針對科學用的 Python ,由 Cython 和 NumPy 的開發者開發。官網
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:優雅的貝葉斯信念網絡框架。官網
進行數據可視化的庫。 參見: 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 的高性能科學可視化工具。官網
計算機視覺庫。
OpenCV:開源計算機視覺庫。官網
pyocr:Tesseract 和 Cuneiform 的包裝庫。官網
pytesseract:Google Tesseract OCR 的另一包裝庫。官網
SimpleCV:一個用來創建計算機視覺應用的開源框架。官網
機器學習庫。 參見: awesome-machine-learning.
Caffe: 一個 Caffe 的 python 接口。官網
Caffe2:一個輕量級的,模塊化的,可擴展的深度學習框架。官網
Crab:靈活、快速的推薦引擎。官網
gensim:人性化的話題建模庫。官網
hebel:GPU 加速的深度學習庫。官網
keras: 以 tensorflow/theano/CNTK 為后端的深度學習封裝庫,快速上手神經網絡。官網
MXNet:一個高效和靈活的深度學習框架。官網
NuPIC:智能計算 Numenta 平臺。官網
pattern:Python 網絡挖掘模塊。官網
PyBrain:另一個 Python 機器學習庫。官網
pydeep:Python 深度學習庫。官網
Pylearn2:一個基于 Theano 的機器學習庫。官網
python-recsys:一個用來實現推薦系統的 Python 庫。官網
Pytorch:一個具有張量和動態神經網絡,并有強大 GPU 加速能力的深度學習框架。官網
scikit-learn:基于 SciPy 構建的機器學習 Python 模塊。官網
skflow:一個 TensorFlow 的簡化接口(模仿 scikit-learn)。官網
TensorFlow:谷歌開源的最受歡迎的深度學習框架。官網
Theano:一個快速數值計算庫。官網
vowpalporpoise:輕量級 Vowpal Wabbit 的 Python 封裝。官網
MapReduce 框架和庫。
dpark:Spark 的 Python 克隆版,一個類似 MapReduce 的框架。官網
dumbo:這個 Python 模塊可以讓人輕松的編寫和運行 Hadoop 程序。官網
luigi:這個模塊幫你構建批處理作業的復雜流水線。官網
mrjob:在 Hadoop 或 Amazon Web Services 上運行 MapReduce 任務。官網
PySpark:Spark 的 Python API 。官網
streamparse:運行針對事實數據流的 Python 代碼。集成了 Apache Storm。官網
使用 Python 進行函數式編程。
CyToolz:Toolz 的 Cython 實現 : 高性能函數式工具。官網
fn.py:在 Python 中進行函數式編程 : 實現了一些享受函數式編程缺失的功能。官網
funcy:炫酷又實用的函數式工具。官網
Toolz:一組用于迭代器,函數和字典的函數式編程工具。官網
用來訪問第三方 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 的軟件和庫。
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:Controlling interactive programs in a pseudo-terminal like 在一個偽終端中控制交互程序,就像 GNU expect 一樣。官網
psutil:一個跨平臺進程和系統工具模塊。官網
supervisor:UNIX 的進程控制系統。官網
任務調度庫。
APScheduler:輕巧但強大的進程內任務調度,使你可以調度函數。官網
django-schedule:一個 Django 排程應用。官網
doit:一個任務執行和構建工具。官網
gunnery:分布式系統使用的多用途任務執行工具 ,具有 web 交互界面。官網
Joblib:一組為 Python 提供輕量級作業流水線的工具。官網
Plan:如有神助地編寫 crontab 文件。官網
schedule:人性化的 Python 任務調度庫。官網
Spiff:使用純 Python 實現的強大的工作流引擎。官網
TaskFlow:一個可以讓你方便執行任務的 Python 庫,一致并且可靠。官網
使用外來函數接口的庫。
cffi:用來調用 C 代碼的外來函數接口。官網
ctypes:(Python 標準庫) 用來調用 C 代碼的外來函數接口。官網
PyCUDA:Nvidia CUDA API 的封裝。官網
SWIG:簡化的封裝和接口生成器。官網
讓 Python 更快的庫。
Cython:優化的 Python 靜態編譯器。使用類型混合使 Python 編譯成 C 或 C++ 模塊來獲得性能的極大提升。官網
PeachPy:嵌入 Python 的 x86-64 匯編器。可以被用作 Python 內聯的匯編器或者是獨立的匯編器,用于 Windows, Linux, OS X, Native Client 或者 Go 。官網
PyPy:使用 Python 實現的 Python。解釋器使用黑魔法加快 Python 運行速度且不需要加入額外的類型信息。官網
Pyston:使用 LLVM 和現代 JIT 技術構建的 Python 實現,目標是為了獲得很好的性能。官網
Stackless Python:一個強化版的 Python。官網
在 Windows 平臺上進行 Python 編程。
Python(x,y):面向科學應用的 Python 發行版,基于 Qt 和 Spyder。官網
pythonlibs:非官方的 Windows 平臺 Python 擴展二進制包。官網
PythonNet:Python 與 .NET 公共語言運行庫 (CLR)的集成。官網
PyWin32:針對 Windows 的 Python 擴展。官網
WinPython:Windows 7/8 系統下便攜式開發環境。官網
用來進行網絡可視化和 SDN(軟件定義網絡)的工具和庫。
Mininet:一款流行的網絡模擬器以及用 Python 編寫的 API。官網
POX:一個針對基于 Python 的軟件定義網絡應用(例如 OpenFlow SDN 控制器)的開源開發平臺。官網
Pyretic:火熱的 SDN 編程語言中的一員,為網絡交換機和模擬器提供強大的抽象能力。官網
SDX Platform:基于 SDN 的 IXP 實現,影響了 Mininet, POX 和 Pyretic。官網
用來對硬件進行編程的庫。
ino:操作 Arduino 的命令行工具。官網
Pyro:Python 機器人編程庫。官網
PyUserInput:跨平臺的,控制鼠標和鍵盤的模塊。官網
scapy:一個非常棒的操作數據包的庫。官網
wifi:一個 Python 庫和命令行工具用來在 Linux 平臺上操作 WiFi。官網
Pingo:Pingo 為類似 Raspberry Pi,pcDuino, Intel Galileo 等設備提供統一的 API 用以編程。官網
幫助從 Python 2 向 Python 3 遷移的庫。
Python-Future:這就是 Python 2 和 Python 3 之間丟失的那個兼容性層。官網
Python-Modernize:使 Python 代碼更加現代化以便最終遷移到 Python 3。官網
Six:Python 2 和 3 的兼容性工具。官網
雜項
blinker:一個快速的 Python 進程內信號/事件分發系統。官網
itsdangerous:一系列輔助工具用來將可信的數據傳入不可信的環境。官網
pluginbase:一個簡單但是非常靈活的 Python 插件系統。官網
Pychievements:一個用來創建和追蹤成就的 Python 框架。官網
Tryton:一個通用商務框架。官網
Python 實現的算法和設計模式。
algorithms:一個 Python 算法模塊。官網
python-patterns:Python 設計模式的集合。官網
sortedcontainers:快速,純 Python 實現的 SortedList,SortedDict 和 SortedSet 類型。官網
編輯器和 IDE 的插件
Emacs
Elpy:Emacs Python 開發環境。官網
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 工具。官網
流行的 Python 集成開發環境。
PyCharm:商業化的 Python IDE ,由 JetBrains 開發。也有免費的社區版提供。官網
LiClipse:基于 Eclipse 的免費多語言 IDE 。使用 PyDev 來支持 Python 。官網
Spyder:開源 Python IDE。官網
用于開發聊天機器人的庫
Errbot:最簡單和最流行的聊天機器人用來實現自動聊天工具。官網
在線工具和簡化開發的 API 。
Tushare :一個可以提供免費股票、基金、期貨、港股等金融數據的 Python 開源數據。官網
Ta-Lib :金融數據技術分析庫,可以依據原始金融數據計算各種技術指標,計算性能比較優異。官網
參見: awesome-CIandCD.
Travis CI:一個流行的工具,為你的開源和 私人 項目提供持續集成服務。(僅支持 GitHub)官網
CircleCI:一個持續集成工具,可以非常快速的進行并行測試。 (僅支持 GitHub)官網
Vexor CI:一個為私人 app 提供持續集成的工具,支持按分鐘付費。官網
Wercker:基于 Docker 平臺,用來構建和部署微服務。官網
Codacy:自動化代碼審查,更加快速的發布高質量代碼。對于開源項目是免費的。官網
QuantifiedCode:一個數據驅動、自動、持續的代碼審查工具。官網
在這里可以找到新的 Python 庫。
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
@codetengu
@getpy
@planetpython
@pycoders
@pypi
@pythontrending
@PythonWeekly
Scipy-lecture-notes:如何用 Python 來做學術?官網
SScientific-python-lectures:Python 科學計算的資料。官網
Mario-Level-1:用 Python 和 Pygame 寫的超級馬里奧第一關。官網
Python Koans:Python 的交互式學習工具。官網
Minecraft:用 python 寫的 Minecraft 游戲。官網
pycrumbs:Python 資源大全。官網
python-patterns:使用 python 實現設計模式。官網
Projects:Python 項目大集合。官網
The Hitchhiker’s Guide to Python:旅行者的 Python 學習指南。官網
Code Like a Pythonista: Idiomatic Python:如何像 Python 高手(Pythonista)一樣編程。官網
值得關注的 Python 技術站點。
中文站點
伯樂在線 Python 頻道:分享 Python 開發技術、相關的行業動態。官網
英文站點
《值得關注的 10 個 Python 英文博客》
關注頭條號,回復“資源”,可獲得本文的原文件和官網鏈接
*請認真填寫需求信息,我們會在24小時內與您取得聯系。