Python常用的标準庫以及第三方庫有哪些?
20個必不可少的Python庫也是基本的第三方庫
讀者您好。今天我将介紹20個屬于我常用工具的Python庫,我相信你看完之後也會覺得離不開它們。他們是:
Requests.Kenneth Reitz寫的最富盛名的http庫。每個Python程式員都應該有它。
Scrapy.如果你從事爬蟲相關的工作,那麼這個庫也是必不可少的。用過它之後你就不會再想用别的同類庫了。
wxPython.Python的一個GUI(圖形使用者界面)工具。我主要用它替代tkinter。你一定會愛上它的。
Pillow.它是PIL(Python圖形庫)的一個友好分支。對于使用者比PIL更加友好,對于任何在圖形領域工作的人是必備的庫。
SQLAlchemy.一個資料庫的庫。對它的評價褒貶參半。是否使用的決定權在你手裡。
BeautifulSoup.我知道它很慢,但這個xml和html的解析庫對于新手非常有用。
Twisted.對于網絡應用開發者最重要的工具。它有非常優美的api,被很多Python開發大牛使用。
NumPy.我們怎麼能缺少這麼重要的庫?它為Python提供了很多進階的數學方法。
SciPy.既然我們提了NumPy,那就不得不提一下SciPy。這是一個Python的算法和數學工具庫,它的功能把很多科學家從Ruby吸引到了Python。
matplotlib.一個繪制資料圖的庫。對于資料科學家或分析師非常有用。
Pygame.哪個程式員不喜歡玩遊戲和寫遊戲?這個庫會讓你在開發2D遊戲的時候如虎添翼。
Pyglet.3D動畫和遊戲開發引擎。非常有名的Python版本Minecraft就是用這個引擎做的。
pyQT.Python的GUI工具。這是我在給Python腳本開發使用者界面時次于wxPython的選擇。
pyGtk.也是Python GUI庫。很有名的Bittorrent用戶端就是用它做的。
Scapy.用Python寫的資料包探測和分析庫。
pywin32.一個提供和windows互動的方法和類的Python庫。
nltk.自然語言工具包。我知道大多數人不會用它,但它通用性非常高。如果你需要處理字元串的話,它是非常好的庫。但它的功能遠遠不止如此,自己摸索一下吧。
nose.Python的測試架構。被成千上萬的Python程式員使用。如果你做測試導向的開發,那麼它是必不可少的。
SymPy.SymPy可以做代數評測、差異化、擴充、複數等等。它封裝在一個純Python發行版本裡。
IPython.怎麼稱贊這個工具的功能都不為過。它把Python的提示資訊做到了極緻。包括完成資訊、曆史資訊、shell功能,以及其他很多很多方面。一定要研究一下它。
【Python系統運維常用庫】
1、psutil是一個跨平台庫(http://code.google.com/p/psutil/)
能夠實作擷取系統運作的程序和系統使用率(記憶體,CPU,磁盤,網絡等),主要用于系統監控,分析和系統資源及程序的管理。
2、IPy(http://github.com/haypo/python-ipy),輔助IP規劃。
3、dnspython(http://dnspython.org)Python實作的一個DNS工具包。
4、difflib:difflib作為Python的标準子產品,無需安裝,作用是對比文本之間的差異。
5、filecmp:系統自帶,可以實作檔案,目錄,周遊子目錄的差異,對比功能。
6、smtplib:發送電子郵件子產品
7、pycurl(http://pycurl.sourceforge.net)是一個用C語言寫的libcurl Python實作,功能強大,支援的協定有:FTP,HTTP,HTTPS,TELNET等,可以了解為Linux下curl指令功能的Python封裝。
8、XlsxWriter:操作Excel工作表的文字,數字,公式,圖表等。
9、rrdtool:用于跟蹤對象的變化,生成這些變化的走走勢圖
10、scapy(http://www.wecdev.org/projects/scapy/)是一個強大的互動式資料包處理程式,它能夠對資料包進行僞造或解包,包括發送資料包,包嗅探,應答和回報等功能。
11、Clam Antivirus免費開放源代碼防毒軟體,pyClamad,可以讓Python子產品直接使用ClamAV病毒掃描守護程序calmd。
12、pexpect:可以了解成Linux下expect的Python封裝,通過pexpect我們可以實作對ssh,ftp,passwd,telnet等指令行進行自動互動,而無需人工幹涉來達到自動化的目的。
13、paramiko是基于Python實作的SSH2遠端安裝連接配接,支援認證及密鑰方式。可以實作遠端指令執行,檔案傳輸,中間SSH代理等功能。相對于Pexpect,封裝的層次更高,更貼近SSH協定的功能,官網位址:http://paramiko.org(依賴:Crypto,Ecdsa,Python開發包python-devel)
14、fabric是基于Python實作的SSH指令行工具,簡化了SSH的應用程式部署及系統管理任務,它提供了系統基礎的操作元件,可以實作本地或遠端shell指令,包括指令執行,檔案上傳,下載下傳及完整執行日志輸出等功能。Fabric在paramiko的基礎上做了更高一層的封裝,操作起來更加簡單。官網位址:http://www.fabfile.org(依賴setuptools,Crypto,paramiko包支援)
15、CGIHTTPRequestHandler實作對CGI的支援。
16、ansible(http://www.ansibleworks.com/)一種內建IT系統的配置管理,應用部署,執行特定任務的開源平台。基于Python實作,由Paramiko和PyYAML兩個關鍵子產品建構。Ansibl與Saltstack最大的差別是Ansible無需在被控主機上部署任何用戶端,預設直接通過SSH通道進行遠端指令執行或下發功能。
17、YAML:是一種用來表達資料序列的程式設計語言。
18、playbook:一個非常簡單的配置管理和多主機部署系統。
19、saltstack(http://saltstack.com)是一個伺服器基礎架構集中化管理平台,一般可以了解為簡化版的puppet和加強版的func。Saltstack基于Python語言實作,結合輕量級消息隊列ZeroMQ,與Python每三方子產品(Pyzmq,PyCrypto,Pyjinja2,python-msgpack和PyYAML等)建構。
20、func,為解決叢集管理,監控問題需設計開發的系統管理基礎架構。
Python 有哪些好的 Web 架構? - 知乎 https://www.zhihu.com/question/20706333
standard libs:
itertools http://docs.python.org/2/library/itertools.html
functools http://docs.python.org/2/library/functools.html 學好python有必要掌握上面這兩個庫吧,
re 正則
subprocess http://docs.python.org/2/library/subprocess.html 調用shell指令的神器
pdb 調試
traceback 調試
pprint 漂亮的輸出
logging 日志
threading和multiprocessing 多線程
urllib/urllib2/httplib http庫,httplib底層一點,推薦第三方的庫requests
os/sys 系統,環境相關
Queue 隊列
pickle/cPickle 序列化工具
hashlib md5, sha等hash算法
cvs
json/simplejson python的json庫,據so上的讨論和benchmark,simplejson的性能要高于json
timeit 計算代碼運作的時間等等
cProfile python性能測量子產品
glob 類似與listfile,可以用來查找檔案
atexit 有一個注冊函數,可用于正好在腳本退出運作前執行一些代碼
dis python 反彙編,當對某條語句不了解原理時,可以用dis.dis 函數來檢視代碼對應的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 轉 dict,真心好用
urllib3 和 requests: 當然其實requests就夠了 Requests: HTTP for Humans
flask http://flask.pocoo.org/python web 微架構
ipdb 調試神器,同時推薦ipython!結合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 子產品的 極佳選擇
環境管理
管理 Python 版本和環境的工具
p – 非常簡單的互動式 python 版本管理工具。
pyenv – 簡單的 Python 版本管理工具。
Vex – 可以在虛拟環境中執行指令。
virtualenv – 建立獨立 Python 環境的工具。
virtualenvwrapper- virtualenv 的一組擴充。
包管理
管理包和依賴的工具。
pip – Python 包和依賴關系管理工具。
pip-tools – 保證 Python 包依賴關系更新的一組工具。
conda – 跨平台,Python 二進制包管理工具。
Curdling – 管理 Python 包的指令行工具。
wheel – Python 分發的新标準,意在取代 eggs。
包倉庫
本地 PyPI 倉庫服務和代理。
warehouse – 下一代 PyPI。
Warehousebandersnatch – 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。
PyTime – 一個簡單易用的Python子產品,用于通過字元串來操作日期/時間。
pytz – 現代以及曆史版本的世界時區定義。将時區資料庫引入Python。
when.py – 提供使用者友好的函數來幫助使用者進行常用的日期和時間操作。
文本處理
用于解析和操作文本的庫。
通用
chardet – 字元編碼檢測器,相容 Python2 和 Python3。
difflib – (Python 标準庫)幫助我們進行差異化比較。
ftfy – 讓Unicode文本更完整更連貫。
fuzzywuzzy – 模糊字元串比對。
Levenshtein – 快速計算編輯距離以及字元串的相似度。
pangu.py – 在中日韓語字元和數字字母之間添加空格。
pyfiglet -figlet 的 Python實作。
shortuuid – 一個生成器庫,用以生成簡潔的,明白的,URL 安全的 UUID。
unidecode – Unicode 文本的 ASCII 轉換形式 。
uniout – 列印可讀的字元,而不是轉義的字元串。
xpinyin – 一個用于把漢字轉換為拼音的庫。
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 / xlrd – 讀寫 Excel 檔案的資料和格式資訊。
relatorio – 模闆化OpenDocument 檔案。
PDFMiner – 一個用于從PDF文檔中抽取資訊的工具。
PyPDF2 – 一個可以分割,合并和轉換 PDF 頁面的庫。
ReportLab – 快速建立富文本 PDF 文檔。
Markdown
Mistune – 快速并且功能齊全的純 Python 實作的 Markdown 解析器。
Python-Markdown – John Gruber’s Markdown 的 Python 版實作。
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)風格的文檔生成器。
配置
用來儲存和解析配置的庫。
config – logging 子產品作者寫的分級配置子產品。
ConfigObj – INI 檔案解析器,帶驗證功能。
ConfigParser – (Python 标準庫) INI 檔案解析器。
profig – 通過多種格式進行配置,具有數值轉換功能。
python-decouple – 将設定和代碼完全隔離。
指令行工具
用于建立指令行程式的庫。
指令行程式開發
cement – Python 的指令行程式架構。
click – 一個通過組合的方式來建立精美指令行界面的包。
cliff – 一個用于建立指令行程式的架構,可以建立具有多層指令的指令行程式。
clint – Python 指令行程式工具。
colorama – 跨平台彩色終端文本。
docopt – Python 風格的指令行參數解析器。
Gooey – 一條指令,将指令行程式變成一個 GUI 程式。
python-prompt-toolkit – 一個用于建構強大的互動式指令行程式的庫。
生産力工具
aws-cli – Amazon Web Services 的通用指令行界面。
bashplotlib – 在終端中進行基本繪圖。
caniusepython3 – 判斷是哪個項目妨礙你你移植到 Python 3。
cookiecutter – 從 cookiecutters(項目模闆)建立項目的一個指令行工具。
doitlive – 一個用來在終端中進行現場示範的工具。
howdoi – 通過指令行擷取即時的程式設計問題解答。
httpie – 一個指令行HTTP 用戶端,cURL 的替代品,易用性更好。
PathPicker – 從bash輸出中選出檔案。
percol – 向UNIX shell 傳統管道概念中加入互動式選擇功能。
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 實作的二維碼生成器。
Quads – 基于四叉樹的計算機藝術。
scikit-image – 一個用于(科學)圖像處理的 Python 庫。
thumbor – 一個小型圖像服務,具有剪裁,尺寸重設和翻轉功能。
wand – MagickWand的Python 綁定。MagickWand 是 ImageMagick的 C API 。
OCR
光學字元識别庫。
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
使用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 資料庫連接配接器。
mysqlclient – 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字典 – 可以協同SQLite,MySQL,和 PostgreSQL工作。
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 用戶端。
ORM
實作對象關系映射或資料映射技術的庫。
關系型資料庫
Django Models – Django 的一部分。
SQLAlchemy – Python SQL 工具以及對象關系映射工具。
awesome-sqlalchemy系列
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 架構
全棧 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 協定且具有WSGI 線程池。
TurboGears – 一個可以擴充為全棧解決方案的微型架構。
web.py – 一個 Python 的 web 架構,既簡單,又強大。
web2py – 一個全棧 web 架構和平台,專注于簡單易用。
Tornado – 一個web 架構和異步網絡庫。
權限
允許或拒絕使用者通路資料或功能的庫。
Carteblanche – Module to align code with thoughts of users and designers. Also magically handles navigation and permissions.
django-guardian – Django 1.2+ 實作了單個對象權限。
django-rules – 一個小巧但是強大的應用,提供對象級别的權限管理,且不需要使用資料庫。
CMS
内容管理系統
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 – 貨币類庫with optional CLDR-backed locale-aware formatting and an extensible currency exchange solution.
python-currencies – 顯示貨币格式以及它的數值。
RESTful 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。
驗證
實作驗證方案的庫。
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 平台的超高速輕量級模闆。
Queue
處理事件以及任務隊列的庫。
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 – 一個韓語詞态庫。
URL處理
解析URLs的庫
furl – 一個讓處理 URL 更簡單小型 Python 庫。
purl – 一個簡單的,不可變的URL類,具有簡潔的 API 來進行詢問和處理。
pyshorteners – 一個純 Python URL 縮短庫。
shorturl- 生成短小 URL 和類似 http://bit.ly 短鍊的Python 實作。
webargs – 一個解析 HTTP 請求參數的庫,内置對流行 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 實作 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 – A mappings-validator with a variety of rules, normalization-features and simple customization that uses a pythonic schema-definition.
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 -用于産生異步代碼的神奇的裝飾器文法實作。
網絡
用于網絡程式設計的庫。
asyncio – (Python 标準庫) 異步 I/O, 事件循環, 協程以及任務。
Twisted – 一個事件驅動的網絡引擎。
pulsar – 事件驅動的并發架構。
diesel – 基于Greenlet 的事件 I/O 架構。
pyzmq – 一個 ZeroMQ 消息庫的 Python 封裝。
txZMQ – 基于 Twisted 的 ZeroMQ 消息庫的 Python 封裝。
WebSocket
幫助使用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 伺服器
相容 WSGI 的 web 伺服器
gunicorn – Pre-forked, 部分是由 C 語言編寫的。
uwsgi – uwsgi 項目的目的是開發一組全棧工具,用來建立托管服務, 由 C 語言編寫。
bjoern – 異步,非常快速,由 C 語言編寫。
fapws3 – 異步 (僅對于網絡端),由 C 語言編寫。
meinheld – 異步,部分是由 C 語言編寫的。
netius – 異步,非常快速。
paste – 多線程,穩定,久經考驗。
rocket – 多線程。
waitress – 多線程, 是它驅動着 Pyramid 架構。
Werkzeug – 一個 WSGI 工具庫,驅動着 Flask ,而且可以很友善大嵌入到你的項目中去。
RPC 伺服器
相容 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 – P跨平台使用者界面架構 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 – 代碼覆寫率測量。
僞資料
faker – 一個 Python 庫,用來生成僞資料。
fake2db – 僞資料庫生成器。
radar – 生成随機的日期/時間。
錯誤處理
FuckIt.py – FuckIt.py 使用最先進的技術來保證你的 Python 代碼無論對錯都能繼續運作。
代碼分析和Lint工具
進行代碼分析,解析和操作代碼庫的庫和工具。
代碼分析
code2flow – 把你的 Python 和 JavaScript 代碼轉換為流程圖。
pycallgraph -這個庫可以把你的Python 應用的流程(調用圖)進行可視化。
pysonar2 – Python 類型推斷和檢索工具。
Lint工具
Flake8 – 子產品化源碼檢查工具: pep8, pyflakes 以及 co。
Pylint – 一個完全可定制的源碼分析器。
pylama – Python 和 JavaScript 的代碼審查工具。
調試工具
用來進行代碼調試的庫。
調試器
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 – 逐行性能分析。
memoryprofiler – 監控 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 算法交易庫。
資料可視化
進行資料可視化的庫。 參見: awesome-javascript。
matplotlib – 一個 Python 2D 繪圖庫。
bokeh – 用 Python 進行互動式 web 繪圖。
ggplot – ggplot2 給 R 提供的 API 的 Python 版本。
plotly – 協同 Python 和 matplotlib 工作的 web 繪圖庫。
pygal – 一個 Python SVG 圖表建立工具。
pygraphviz – Graphviz 的 Python 接口。
PyQtGraph – 互動式實時2D/3D/圖像繪制及科學/工程學元件。
SnakeViz – 一個基于浏覽器的 Python’s cProfile 子產品輸出結果檢視工具。
vincent – 把 Python 轉換為 Vega 文法的轉換工具。
VisPy – 基于 OpenGL 的高性能科學可視化工具。
計算機視覺
計算機視覺庫。
OpenCV – 開源計算機視覺庫。
SimpleCV – 一個用來建立計算機視覺應用的開源架構。
機器學習
機器學習庫。 參見: awesome-machine-learning.
Crab – 靈活、快速的推薦引擎。
gensim – 人性化的話題模組化庫。
hebel – GPU 加速的深度學習庫。
NuPIC – 智能計算 Numenta 平台。
pattern – Python 網絡挖掘子產品。
PyBrain – 另一個 Python 機器學習庫。
Pylearn2 – 一個基于 Theano 的機器學習庫。
python-recsys – 一個用來實作推薦系統的 Python 庫。
scikit-learn – 基于 SciPy 建構的機器學習 Python 子產品。
pydeep – Python 深度學習庫。
vowpalporpoise – 輕量級 Vowpal Wabbit 的 Python 封裝。
skflow – 一個 TensorFlow 的簡化接口(模仿 scikit-learn)。
MapReduce
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
用來通路第三方 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 – 基礎設施自動化和管理系統。
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平台
在 Windows 平台上進行 Python 程式設計。
Python(x,y) – 面向科學應用的 Python 發行版,基于 Qt 和 Spyder。
pythonlibs – 非官方的 Windows 平台 Python 擴充二進制包。
PythonNet – Python 與 .NET 公共語言運作庫 (CLR)的內建。
PyWin32 – 針對 Windows 的Python 擴充。
WinPython – Windows 7/8 系統下便攜式開發環境。
網絡可視化和SDN
用來進行網絡可視化和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。
服務
線上工具和簡化開發的 API 。
持續內建
參見: 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
原生:
系統調用的subprocess
多線程的multiprocessing
第三方:
系統管理推薦fabric和salt
WEB架構推薦flask和tornado
ORM推薦SQLAlchemy
功能型的都是各取所需 就說些好用的吧
Tornado: 和其他Python架構的架構可謂大相徑庭,Request的處理方式也很舒服,特别适合REST,誰用誰知道
Mako: 個人認為是最好的Template,簡單 性能好
SQLAlchemy: 快一統ORM了吧
Quixote:其實還是蠻好用的
pyQuery: 用jQuery的文法寫爬蟲 略爽
參考收集資訊: https://www.zhihu.com/question/20501628
我希望你喜歡今天的文章。請在評論區留下你的看法。如果你覺得有哪個庫被遺漏了請在評論裡告訴我,我會把它加上去。請留意下一期的文章。