1. 程式人生 > >python之常用標準庫

python之常用標準庫

庫名稱簡介

Chardet字元編碼探測器,可以自動檢測文字、網頁、xml的編碼。

colorama主要用來給文字新增各種顏色,並且非常簡單易用。

Prettytable主要用於在終端或瀏覽器端構建格式化的輸出。

difflib,[Python]標準庫,計算文字差異

Levenshtein,快速計算字串相似度。

fuzzywuzzy,字串模糊匹配。

esmre,正則表示式的加速器。

shortuuid,一組簡潔URL/UUID函式庫。

ftfy,Unicode文字工具7

unidecode,ascii和Unicode文字轉換函式。

xpinyin,將漢字轉換為拼音的函式庫

pangu.py,調整對中日韓文字當中的字母、數字間距。

pyfiglet,Python寫的figlet程式,使用字元組成ASCII藝術圖片

uniout,提取字串中可讀寫的字元

awesome slugify,一個Python slugify庫,用於處理Unicode。

python-slugify,轉換Unicode為ASCII內碼的slugify函式庫。

unicode-slugify,生成unicode內碼,Django的依賴包。

ply,Python版的lex和yacc的解析工具

phonenumbers,解析電話號碼,格式,儲存和驗證的國際電話號碼。

python-user-agents,瀏覽器的使用者代理(user-agents)的解析器。

sqlparse,SQL解析器。

pygments,一個通用的語法高亮工具。

python-nameparser,解析人名,分解為單獨的成分。

pyparsing,通用解析器生成框架。

tablib,表格資料格式,包括,XLS、CSV,JSON,YAML。

python-docx,docx文件讀取,查詢和修改,微軟Word 2007 / 2008的docx檔案。

xlwt/xlrd,讀寫Excel格式的資料檔案。

xlsxwriter,建立Excel格式的xlsx檔案。

xlwings,利用Python呼叫Excel

csvkit,CSV檔案工具包。

marmir,把Python[資料結構],轉化為電子表格。

pdfminer,從PDF檔案中提取資訊。

pypdf2, 合併和轉換PDF頁面的函式庫。

Python-Markdown,輕量級標記語言Markdown的Python實現。

Mistune,,快速、全功能的純Python編寫的Markdown直譯器。

dateutil,標準的Python官方datetime模組的擴充套件包,字串日期工具,其中parser是根據字串解析成datetime,而rrule是則是根據定義的規則來生成datetime。

arrow,更好的日期和時間處理Python庫

chronyk,一個Python 3版函式庫,用於解析人寫的時間和日期。

delorean,清理期時間的函式庫。

when.py,為見的日期和時間,提供人性化的功能。

moment,類似Moment.js的日期/時間Python庫

pytz,世界時區,使用tz database時區資訊[資料庫]

BeautifulSoup,基於Python的HTML/XML解析器,簡單易用, 功能很強大,即使是有bug,有問題的html程式碼,也可以解析

lxml,快速,易用、靈活的HTML和XML處理庫,功能超強,在遇到有缺陷、不規範的xml時,Python自帶的xml處理器可能無法解析。報錯時,程式會嘗試再用lxml的修復模式解析。

htmlparser,官方版解析HTML DOM樹,偶爾搞搞命令列自動錶單提交用得上。

pyyaml,Python版本的YAML直譯器。

html5lib,-標準庫,解析和序列化HTML文件和片段。

pyquery,類似[jQuery]的的HTML直譯器函式庫。

cssutils,Python CSS庫。

MarkupSafe,XML或HTML / XHTML安全字串標記工具。

cssutils - ACSS library for Python., MarkupSafe - Implements a XML/HTML/XHTML

bleach,漂白,基於HTML的白名單函式庫。

xmltodict,類似JSON的XML工具包。

xhtml2pdf,HTML / CSS格式轉換器,看生成pdf文件。

untangle,把XML文件,轉換為Python物件,方便訪問。

 

檔案處理

庫名稱簡介Mimetypes,Python標準庫,對映檔名到MIME型別。

imghdr,Python標準庫,確定影象型別。python-magic,libmagic檔案型別識別庫,Python介面格式。path.py,os.path模組的二次封裝。

watchdog,一組API和shell實用程式,用於監視檔案系統事件。

Unipath,面向物件的檔案/目錄的操作工具包。pathlib,-(Python 3.4版已經作為Python標準庫),一個跨平臺,面向path的函式庫。

pickle/cPickle,python的pickle模組實現了基本的資料序列和反序列化。通過pickle模組的序列化操作我們能夠將程式中執行的物件資訊儲存到檔案中去,永久儲存;通過pickle模組的反序列化操作,我們能夠從檔案中建立上一次程式儲存的物件。

cPickle是[C語言]實現的版本,速度更快。ConfigParser,Python標準庫,INI檔案解析器。configobj,INI檔案解析器。config,分層次配置,logging作者編寫。profig,多格式配置轉換工具。logging,Python標準庫,日誌檔案生成管理函式庫。logbook,logging的替換品。Sentry,實時log伺服器。Raven,哨兵Sentry的Python客戶端。Sphinx,斯芬克斯(獅身人面像),Python文件生成器。

reStructuredText,標記語法和解析工具,Docutils元件。mkdocs,Markdown格式文件生成器。pycco,簡單快速、程式設計風格的文件生成器。pdoc,自動生成的Python庫API文件epydoc,從原始碼註釋中生成各種格式文件的工具

 

影象處理

庫名稱簡介PIL(Python Image Library),基於Python的影象處理庫,功能強大,對圖形檔案的格式支援廣泛,內建許多影象處理函式,如影象增強、濾波[演算法]等Pillow,影象處理庫,PIL影象庫的分支和升級替代產品。Matplotlib,著名的繪相簿,提供了整套和matlab相似的命令API,用以繪製一些高質量的數學二維圖形,十分適合互動式地進行製圖。brewer2mpl,有一個專業的python配色工具包,提供了從美術角度來講的精美配色。PyGame基於Python的多媒體開發和遊戲軟體開發模組,包含大量遊戲和影象處理功能Box2d,開源的2d物理引擎,憤怒的小鳥就是使用了這款物理引擎進行開發的,Box2d物理引擎內部模擬了一個世界,你可以設定這個世界裡的重力,然後往這個世界裡新增各種物體,以及他們的一些物理特性,比如質量,摩擦,阻尼等等。

Pymunk,類似box2d的開源物理圖形模擬庫OpenCV, 目前最好的開源影象/視覺庫,包括影象處理和計算機視覺方面、[機器學習]的很多通用演算法。SimpleCV,計算機視覺開源框架,類似opencv。VTK,視覺化工具函式庫(VTK, Visualization Toolkit)是一個開放原始碼,跨平臺、支援平行處理(VTK曾用於處理大小近乎1個Petabyte的資料,其平臺為美國Los Alamos國家實驗室所有的具1024個處理器之大型系統)的圖形應用函式庫。2005年時曾被美國陸軍研究實驗室用於即時模擬俄羅斯制反導彈戰車ZSU23-4受到平面波攻擊的情形,其計算節點高達2.5兆個之多。cgkit,Python Computer Graphics Kit,其module 主要分兩個部分,

 1. 與3d相關的一些python module 例如the vector, matrix and quaternion types, the RenderMan bindings, noise functions 這些模組可以在maya houdini nuke blender 等有Python擴充套件的程式中直接用;

 2. 提供完整的場景操作的module, 他類似其他三維軟體,在記憶體中保留完整的描述場景的資訊。不能直接用於maya 等CGAL,

Computational Geometry Algorithms Library,計算幾何演算法庫,提供計算幾何相關的資料結構和演算法,諸如三角剖分(2D約束三角剖分及二維和三維Delaunay三角剖分),Voronoi圖(二維和三維的點,2D加權Voronoi圖,分割Voronoi圖等),多邊形(布林操作,偏置),多面體(布林運算),曲線整理及其應用,網格生成(二維Delaunay網格生成和三維表面和體積網格生成等),幾何處理(表面網格簡化,細分和引數化等),凸殼演算法(2D,3D和dD),搜尋結構(近鄰搜尋,kd樹等),插值,形狀分析,擬合,距離等。Aggdraw,開源影象庫,幾乎涵蓋了2d image操作的所有功能,使用起來非常靈活Pycairo,開源向量繪相簿Cairo開羅的python介面,cairo提供在多個背景下做2-D的繪圖,高階的更可以使用硬體加速功能。wand,Python繫結魔杖工具(MagickWand),C語言API介面。thumbor, -智慧成像工具,可調整大小和翻轉影象。imgSeek,查詢相似的影象。python-qrcode,純Python的二維碼(QR碼)生成器。pyBarcode,建立條碼,無需PIL模組。pygram,Instagram像影象過濾器。Quads,基於四叉樹的計算機藝術。nude.py,裸體檢測函式。scikit-image,scikit工具箱的影象處理庫。hmap,影象直方圖工具。bokeh,互動的Web繪圖。plotly,Web協同的Python和Matplotlib繪製。vincent,文森特,Python Vega的函式庫。d3py,Python繪相簿,基於D3.JS, ggplot -API相容R語言的ggplot2.Kartograph.py,在Python繪製漂亮的SVG地圖。pygal, SVG圖表的創造者。pygraphviz,Graphviz的Python介面。Fonttlools,ttf字型工具函式包,用於fontforge、ttx等字型軟體。

遊戲和多媒體

庫名稱簡介audiolazy,數字訊號處理(DSP)的Python工具包。audioread,跨平臺(GStreamer + Core Audio + MAD + FFmpeg)音訊解碼庫。beets,音樂庫管理。dejavu,音訊指紋識別演算法。

Dejavu 聽一次音訊後就會記錄該音訊的指紋資訊,然後可通過麥克風對輸入的音訊進行識別是否同一首歌。django-elastic-transcoder,Django +亞馬遜elastic轉碼。eyeD3,音訊檔案工具,特別是MP3檔案包含的ID3元資料。id3reader,用於讀取MP3的元資料。mutagen,處理音訊元資料。pydub,-操縱音訊和簡單的高層次的介面。pyechonest,Echo Nest API客戶端。talkbox,語音和訊號處理的Python庫。TimeSide,開放的網路音訊處理框架。tinytag,讀取音樂檔案元資料,包括的MP3,OGG,FLAC和wave檔案。m3u8,用於解析m3u8檔案。

moviepy,多格式視訊編輯指令碼模組,包括GIF動畫。shorten.tv,視訊摘要。scikit視訊,SciPy視訊處理例程。GeoDjango,一個世界級的地理Web框架。geopy,Geo地理編碼的工具箱。pygeoip,純Python寫的GeoIP API。GeoIP,Python API介面,使用高精度GeoIP Legacy Database資料庫。geojson,GeoJSON函式庫django-countries,一個Django程式,提供國家選擇,國旗圖示的靜態檔案,和一個國家的地域模型。Pygame,Python遊戲設計模組。Cocos2d,2D遊戲框架,演示,和其他的圖形/互動應用,基於pyglet。Cocos2d- cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications. It is based on pyglet.,PySDL2,SDL2的封裝庫。Panda3D- 3D遊戲引擎,迪士尼開發。用C++寫的,完全相容Python。PyOgre,OGRE 3D渲染引擎,可用於遊戲,模擬,任何3D。PyOpenGL,繫結OpenGL和它相關的API。PySFML,Python繫結SFMLRenPy,視覺小說引擎。

 

大資料與科學計算

庫名稱簡介pycuda/opencl,GPU高效能併發計算Pandas,python實現的類似R語言的資料統計、分析平臺。基於NumPy和Matplotlib開發的,主要用於資料分析和資料視覺化,它的資料結構DataFrame和R語言裡的data.frame很像,特別是對於時間序列資料有自己的一套分析機制,非常不錯。Open Mining,商業智慧(BI),Pandas的Web介面。blaze,NumPy和Pandas大資料介面。

SciPy,開源的Python演算法庫和數學工具包,SciPy包含的模組有最優化、線性代數、積分、插值、特殊函式、快速傅立葉變換、訊號處理和影象處理、常微分方程求解和其他科學與工程中常用的計算。其功能與軟體MATLAB、Scilab和GNU Octave類似。 Numpy和Scipy常常結合著使用,Python大多數機器學習庫都依賴於這兩個模組。

ScientificPython,一組經過挑選的Python程式模組,用於科學計算,包括幾何學(向量、張量、變換、向量和張量場),四元數,自動求導數,(線性)插值,多項式,基礎統計學,非線性最小二乘擬合,單位計算,Fortran相容的文字格式,通過VRML的3D顯示,以及兩個Tk小工具,分別用於繪製線圖和3D網格模型。此外還具有到netCDF,MPI和BSPlib庫的介面。NumPy科學計算庫,提供了矩陣,線性代數,傅立葉變換等等的解決方案, 最常用的是它的N維陣列物件. NumPy提供了兩種基本的物件:ndarray(N-dimensional array object)和 ufunc(universal function object)。ndarray是儲存單一資料型別的多維陣列,而ufunc則是能夠對陣列進行處理的函式。Cvxopt,最優化計算包,可進行線性規劃、二次規劃、半正定規劃等的計算。Numba,科學計算速度優化編譯器。pymvpa2,是為大資料集提供統計學習分析的Python工具包,它提供了一個靈活可擴充套件的框架。它提供的功能有分類、迴歸、特徵選擇、資料匯入匯出、視覺化等NetworkX,複雜網路的優化軟體包。zipline,交易演算法的函式庫。PyDy, Python動態建模函式庫。

SymPy,符號數學的Python庫。statsmodels,Python的統計建模和計量經濟學。astropy,天文學界的Python庫。orange,橙色,資料探勘,資料視覺化,通過視覺化程式設計或Python指令碼學習機分析。RDKit,化學資訊學和機器學習的軟體。Open Babel,巴貝爾,開放的化學工具箱。

cclib,化學軟體包的計算函式庫。Biopython,免費的生物計算工具包。bccb,生物分析相關的程式碼集。bcbio-nextgen,提供完全自動化、高通量、測序分析的工具包。visvis, 視覺化計算模組庫,可進行一維到四維資料的視覺化。MapReduce是Google提出的一個軟體[架構],用於大規模資料集(大於1TB)的並行運算。

概念“Map(對映)”和“Reduce(歸納)”,及他們的主要思想,都是從函數語言程式設計語言借來的MapReduce函式庫。Framworks and libraries for MapReduce.,PySpark,[Spark]的Python API。dpark,Spark的Python克隆,Python中的MapReduce框架。luigi,為批量工作,建立複雜的管道。mrjob,執行在[Hadoop],或亞馬遜網路服務的,MapReduce工作。

人工智慧與機器學習

庫名稱簡介NLTK(natural language toolkit),是python的自然語言處理工具包。2001年推出,包括了大量的詞料庫,以及自然語言處理方面的演算法實現:分詞, 詞根計算, 分類, 語義分析等。Pattern,資料探勘模組,包括自然語言處理,機器學習工具,等等。textblob,提供API為自然語言處理、分解NLP任務。基於NLTK和Pattern模組。jieba,結巴,中文分詞工具。snownlp,用於處理中文文字庫。

loso,中文分詞函式庫。genius,中文CRF基礎庫,條件隨機場(conditional random field,簡稱 CRF),是一種鑑別式機率模型,是隨機場的一種,常用於標註或分析序列資料,如自然語言文字或是生物序列Gensim,一個相當專業的主題模型Python工具包,無論是程式碼還是文件,可用於如何計算兩個文件的相似度LIBSVM,是臺灣大學林智仁(Lin Chih-Jen)教授等開發設計的一個簡單、易於使用和快速有效的SVM模式識別與迴歸的軟體包,他不但提供了編譯好的可在Windows系列系統的執行檔案,還提供了原始碼,方便改進、修改以及在其它[作業系統]上應用;該軟體對SVM所涉及的引數調節相對比較少,提供了很多的預設引數,利用這些預設引數可以解決很多問題;並提供了互動檢驗(Cross Validation)的功能。該軟體可以解決C-SVM、ν-SVM、ε-SVR和ν-SVR等問題,包括基於一對一演算法的多類模式識別問題。

scikits.learn,構建在SciPy之上用於機器學習的 Python 模組。它包括簡單而高效的工具,可用於資料探勘和資料分析。涵蓋分類,迴歸和聚類演算法,例如SVM, 邏輯迴歸,樸素貝葉斯,隨機森林,k-means等演算法,程式碼和文件都非常不錯,在許多Python專案中都有應用。例如在我們熟悉的NLTK中,分類器方面就有專門針對scikit-learn的介面,可以呼叫scikit-learn的分類演算法以及訓練資料來訓練分類器模型。PyMC,機器學習取樣工具包,scikit-learn似乎是所有人的寵兒,有人認為,PyMC更有魅力。

PyMC主要用來做Bayesian分析。Orange,基於元件的資料探勘和機器學習軟體套裝,它的功能即友好,又很強大,快速而又多功能的視覺化程式設計前端,以便瀏覽資料分析和視覺化,包含了完整的一系列的元件以進行資料預處理,並提供了資料帳目,過渡,建模,模式評估和勘探的功能。側重資料探勘,可以用視覺化語言或Python進行操作,擁有機器學習元件,還具有生物資訊學以及文字挖掘的外掛。Milk,機器學習工具箱,其重點是提供監督分類法與幾種有效的分類分析:SVMs(基於libsvm),K-NN,隨機森林經濟和決策樹。它還可以進行特徵選擇。這些分類可以在許多方面相結合,形成不同的分類系統。對於無監督學習,它提供K-means和affinity propagation聚類演算法。

PyMVPA(Multivariate Pattern Analysis in Python),是為大資料集提供統計學習分析的Python工具包,它提供了一個靈活可擴充套件的框架。它提供的功能有分類、迴歸、特徵選擇、資料匯入匯出、視覺化等NuPIC,開源人工智慧平臺。該專案由Grok(原名 Numenta)公司開發,其中包括了公司的演算法和軟體架構。 NuPIC 的運作接近於人腦,“當模式變化的時候,它會忘掉舊模式,記憶新模式”。如人腦一樣,CLA 演算法能夠適應新的變化。Pylearn2,-基於Theano的機器學習庫。hebel,GPU加速,[深度學習]Python庫。gensim,機器學習庫。pybrain,機器學習模組,它的目標是為機器學習任務提供靈活、易應、強大的機器學習演算法。

pybrain包括神經網路、強化學習(及二者結合)、無監督學習、進化演算法。以神經網路為核心,所有的訓練方法都以神經網路為一個例項Mahout,是 Apache Software Foundation(ASF) 旗下的一個開源專案,提供一些可擴充套件的機器學習領域經典演算法的實現,旨在幫助開發人員更加方便快捷地建立智慧應用程式。Mahout包含許多實現,包括聚類、分類、推薦過濾、頻繁子項挖掘。此外,通過使用 Apache Hadoop 庫,Mahout 可以有效地擴充套件到雲中。Crab,靈活的,快速的推薦引擎。python-recsys,娛樂系統分析,推薦系統。vowpal_porpoise,Vowpal Wabbit輕量級Python封裝。

Theano,用來定義、優化和模擬數學表示式計算,用於高效的解決多維陣列的計算問題的python軟體包。它使得寫深度學習模型更加容易,同時也給出了一些關於在GPU上訓練它們的選項。

系統與命令列

庫名稱簡介threading,Python標準執行緒庫,更高級別的執行緒介面。envoy,特使,Python子執行緒的函式庫。sh,成熟的子執行緒替換函式庫。sarge,封裝執行緒。subprocess,呼叫shell命令的神器argparse,寫命令列指令碼必備,強大的命令列差數解析工具timeit,計算程式碼執行的時間等等unp,命令列工具,解壓檔案。eventlet開銷很少的多執行緒模組,使用的是 green threads 概念,例如,pool = eventlet.GreenPool(10000) 這樣一條語句便建立了一個可以處理 10000 個客戶端連線的執行緒池。類似Gevent執行緒庫Gevent,多執行緒模組pytools,著名的python通用函式、工具包SendKeys, 鍵盤滑鼠操作模組, 模擬鍵盤滑鼠模擬操作。

pyHook,基於Python的“鉤子”庫,主要用於監聽當前電腦上滑鼠和鍵盤的事件。這個庫依賴於另一個Python庫PyWin32,如同名字所顯示的,PyWin32只能執行在Windows平臺,所以PyHook也只能執行在Windows平臺。pstuil,跨平臺地很方便獲取和控制系統的程序,以及讀取系統的CPU佔用記憶體佔用等資訊.cement,一個輕量級的、功能齊全的命令列工具click,簡單優雅的的命令列介面。clint,Python命令列工具。cliff,創造多層次指令的命令列程式框架。

Clime, 可以轉換任何模組為多的CLI命令程式,無任何配置。docopt,Python命令列引數分析器。pycli,命令列應用程式,支援的標準命令列解析,測井,單元[測試]和功能測試。Gooey,開啟命令列程式,作為為一個完整的GUI應用程式,cookiecutter,命令列工具,從cookiecutters(專案模板)建立專案。例如,Python包專案,jQuery外掛專案。percol,為UNIX傳統管道pipe命令,新增互動式選擇風格。rainbowstream,聰明和漂亮的推特客戶終端。Django Models,Django的一部分SQLAlchemy,Python SQL工具包和物件關係對映。peewee,小型的ORM解析器。PonyORM,為ORM提供了一種面向SQL的介面。MongoEngine,Python物件檔案對映,使用[MongoDB]。, Django MongoDB引擎MongoDB , Django後臺。django-mongodb-engine,Django後臺.redisco,一個簡單的模型和容器庫,使用[Redis]flywheel,Amazon DynamoDB物件對映。

butterdb,谷歌電子表格的ORM,Python版。celery,芹菜,非同步任務佇列/工作,基於分散式訊息佇列。huey,休伊,輕量級,多執行緒任務佇列。mrq,佇列先生,分散式任務佇列,使用redis & Gevent。rq,簡單的工作佇列。Queue,Queue模組可以用來實現多執行緒間通訊,讓各個執行緒共享資料,生產者把貨物放到Queue中,供消費者(執行緒)去使用。

simpleq,簡單的,可擴充套件的佇列,Amazon SQS基礎佇列。Psyco,超強的python效能優化工具,psyco 的神奇在於它只需要在程式碼的入口處呼叫短短兩行程式碼,效能就能提升 40% 或更多,真可謂是立竿見影!如果你的客戶覺得你的程式有點慢,敬請不要急著去優化程式碼,psyco 或許能讓他立即改變看法。psyco 堪稱 Python 的 jit。fn.py,Python函式程式設計:缺失的功能享受FP的實現。funcy,函式程式設計工具。

Toolz,函式程式設計工具:迭代器、函式,字典。CyToolz,Toolz的Cython實現,高效能的函式程式設計工具。Ansible,安塞波,極為簡單的自動化平臺。

SaltStack,基礎設施的自動化管理系統。Fabric,織物,一個簡單,遠端執行和部署的語言工具。Fabtools,Fabric的工具函式。cuisine,熱門的Fabric的工具函式。psutil,跨平臺的過程和系統工具模組。pexpect,控制互動節目。

provy,易於使用的配置系統的Python。honcho,Foreman的Python介面,用於管理procfile應用工具。gunnery,多工執行工具,與網路介面的分散式系統。fig,快速。獨立的開發環境中使用泊塢窗。APScheduler,輕量級、但功能強大的線上任務排程程式。django-schedule,Django日程應用程式。doit,任務流道/生成工具。

Joblib,Python提供的輕量級的流水線工具函式。Plan,簡易生成crontab檔案。

Spiff,純Python實現的,功能強大的工作流引擎。

schedule,Python作業排程。TaskFlow,有助於使任務執行簡單。

ctypes,Python標準庫,速度更快,Python呼叫C程式碼的外部函式介面。cffi,Python呼叫C程式碼外部函式介面,類似於ctypes直接在python程式中呼叫c程式,但是比ctypes更方便不要求編譯成so再呼叫。Cytoolz,python 加速庫SWIG,簡化封裝和介面生成器。,Cython,Python優化靜態編譯器。PyPy,Python直譯器的 Python實現。

Stackless Python,一個增強版本的Python。它使程式設計師從基於執行緒的程式設計方式中獲得好處,並避免傳統執行緒所帶來的效能與複雜度問題。

Stackless為 Python帶來的微執行緒擴充套件,是一種低開銷、輕量級的便利工具Pyston,使用LLVM和現代JIT技術,對python進行效能優化。

pythonlibs,非官方的Windows(32 / 64位)的Python擴充套件包scapy,優秀的資料包處理庫。ino,Arduino命令列工具。Pyro,Python的機器人工具包。pluginbase,一個簡單而靈活的Python的外掛系統。itsdangerous,資料安全傳輸工具。blinker,快速Python中的訊號/事件排程系統。pychievements,用於建立和跟蹤成果框架。python-patterns,Python中的設計模式。pefileWindows PE檔案解析器SIP,自動為C和C++庫生成Python擴充套件模組的工具

資料庫

庫名稱簡介MySQLdb,成熟的[MySQL]資料庫模組,Baresql,SQL資料庫包ZODB,Python本地物件資料庫。一個K-V物件圖資料庫。

pickledb,簡單和輕量級的K-V鍵值儲存。TinyDB, 輕量級,面向文件的資料庫。mysql-python,MySQL的Python工具庫。mysqlclient,mysql-python分支,支援Python 3.,PyMySQL,純Python寫的 MySQL驅動程式,相容mysql-python。mysql-connector-python,MySQL聯結器,來自[Oracle],純Python編寫。

oursql,MySQL聯結器,提供本地話指令語句和BLOBs支援。psycopg2,最流行的Python PostgreSQL介面卡。txpostgres,於Twisted的非同步驅動,用於PostgreSQL。

queries,psycopg2函式庫,用於PostgreSQL。dataset,儲存Python字典資料,用於SQLite,MySQL和PostgreSQL。cassandra-python-driver,開源分散式NoSQL資料庫系統Apache Cassandra系統的Python驅動.pycassa,簡化的cassandra資料庫Python驅動。

HappyBase,友好的Apache [Hbase]的函式庫。PyMongo,MongoDB官方客戶端。Plyvel,LevelDB快速和功能豐富的Python介面。redis-py,redis客戶端。py2neo,Python客戶端(基於Neo4j的RESTful介面).telephus,基於Twisted的cassandra客戶端。txRedis,基於Twisted的Redis客戶端。 【網路】Curl,Pycurl包是一個libcurl的Python介面,它是由C語言編寫的。

與urllib相比,它的速度要快很多。Libcurl是一個支援FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 和 LDAP的客戶端URL傳輸庫.libcurl也支援HTTPS認證,HTTP POST,HTTP PUT,FTP上傳,代理,Cookies,基本身份驗證,FTP檔案斷點繼傳,HTTP代理通道等等。

Requests,用Python語言編寫,基於 urllib的開源 HTTP 庫。它比 urllib 更加方便,更加 Pythoner。支援 Python3。httpie,命令列HTTP客戶端,使用者友好的cURL的替換工具。

s3cmd,命令列工具,用於管理Amazon S3和CloudFront。youtube-dl,命令列程式,從YouTube下載視訊。you-get,Python3寫的視訊下載工具,可用於YouTube/Youku優酷/Niconico視訊下載Coursera,從coursera.org下載視訊,可重新命名檔案wikiteam,wiki下載工具。subliminal,命令列工具,搜尋和下載字幕的函式庫requests,HTTP函式庫,更加人性化。grequests,非同步HTTP請求+ Gevent(高效能高併發函式庫)。urllib3,一個執行緒安全的HTTP連線池,支援檔案post。httplib2,綜合HTTP的客戶端函式庫。treq, Python API介面,Twisted的HTTP客戶。

Mininet,流行的網路模擬器,API採用python編寫。POX,基於Python的開源軟體定義網路(SDN)控制開發平臺的應用,如OpenFlow的SDN控制器。Pyretic,SDN的程式語言,提供了強大的抽象在網路交換機或模擬器。SDX Platform,基於SDN的IXP實現,利用最小網路,痘和熱。inbox.py,Python的SMTP伺服器。imbox, Python版本IMAP庫。inbox,收件箱,開源郵件工具包。lamson,SMTP伺服器。flanker,側衛,電子郵件地址和MIME解析庫。

marrow.mailer,高效能可擴充套件郵件交付框架。django-celery-ses, Django電子郵件後臺,使用AWS SES和Celery。modoboa,郵件託管和管理平臺,包括現代和簡化Web UI。envelopes,郵件工具。mailjet,批量郵寄mailjet API介面,帶統計。Talon,利爪,Mailgun庫,提取訊息和簽名。mailjet- Mailjet API implementation for batch mailing, statistics and more., Talon - Mailgun library to extract message quotations and signatures.,pyzmail,編寫,傳送和解析電子郵件。furl,燃料,小型的的URL解析庫庫。purl,簡單的,乾淨的API,操縱URL。

pyshorteners,純Python庫,URL短網址編輯。short_url,短網址生成。Scrapy,快速螢幕擷取和網頁抓取的框架。portia,波西亞,Scrapy的視覺化擴充套件。feedparser,資訊源直譯器RoboBrowser,簡單的網頁瀏覽Python函式庫,沒有使用Web瀏覽器。MechanicalSoup,網站自動化互動測試工具包。mechanize,網頁瀏覽程式設計工具。

Demiurge,造物主,-PyQuery的輕量級工具。newspaper,提取報紙新聞。html2text,轉換HTML為 Markdown格式的文字。python-goose,HTML內容提取器。lassie,萊西,人性化的網站內容檢索。micawber,通過UR抓提網頁的函式庫。sumy,概要,文字和HTML網頁的自動文摘模組。Haul,距離,可擴充套件的影象爬蟲。python-readability,可讀性工具Arc90,快速的Python介面。

opengraph,OpenGraphProtocol協議解析模組,textract,從任何檔案,Word,PowerPoint,PDF檔案中提取文字,等。sanitize,消毒,使混亂的資料變的理智。AutobahnPython, WebSocket和WAMP的函式庫,使用 Twisted和PythonWebSocket-for-Python,websocket客戶端和伺服器端函式庫。SimpleXMLRPCServer,python標準庫,簡單的XML-RPC伺服器,單執行緒。SimpleJSONRPCServer,JSON-RPC規範實施函式庫。

zeroRPC,基於ZeroMQ和MessagePack的RPC實現。apache-libcloud,所有云服務的Python介面庫。wifi,WiFi -一套個Python庫和命令列工具與WiFi,用於[Linux]。streamparse,執行Python程式碼和資料的實時流。集成了Apache Storm。boto,亞馬遜網路服務介面。twython,Twitter推特API。google-api-python-client,谷歌客戶端API。gspread,谷歌電子表格的Python API。facebook-sdk,facebook平臺Python SDK。facepy,簡易的facebook圖形APIgmail,Gmail的Python介面。django-wordpress,Django的WordPress的模型和檢視。

 【Web框架】

Django,最流行的Python-Web框架,鼓勵快速開發,並遵循MVC設計,開發週期短ActiveGrid企業級的Web2.0解決方案Karrigell簡單的Web框架,自身包含了Web服務,py指令碼引擎和純python的資料庫PyDBLitewebpy一個小巧靈活的Web框架,雖然簡單但是功能強大CherryPy基於Python的Web應用程式開發框架Pylons基於Python的一個極其高效和可靠的Web開發框架Zope開源的Web應用伺服器TurboGears基於Python的MVC風格的Web應用程式框架Twisted流行的網路程式設計庫,大型Web框架QuixoteWeb開發框架Flask,輕量級web框架Bottle,快速,簡單和輕量級的WSGI模式Web框架。Pyramid,輕量級,快速,穩定的開源Web框架。

web2py,簡單易用的全堆疊Web框架和平臺。web.py,強大、簡單的Web框架。TurboGears,便於擴充套件的Web框架。CherryPy,極簡Python Web框架,支援,HTTP 1.1和WSGI執行緒池。Grok,基於Zope3的Web框架。Bluebream,開源的Web應用伺服器,原名Zope 3。guava,輕量級,高效能的Python-Web框架,採用c語言編寫。django-cms,基於Django企業級開源CMS。djedi-cms輕量級但功能強大的Django CMS的外掛,內聯編輯和效能優化。FeinCMS,基於Django的先進內容管理系統。

Kotte,高層次的Python的Web應用框架,基於Pyramid。Mezzanine,強大,一致,靈活的內容管理平臺。Opps,基於Django的CMS,用於高流量的報紙、雜誌和入口網站。Plone,基於Zope的開源應用伺服器Zope。Quokka,靈活,可擴充套件的,輕量級的CMS系統,使用Flask和MongoDB。Wagtail,Django內容管理系統。Widgy,CMS框架,基於Django。django-oscar,Django奧斯卡,開源的電子商務框架。django-shop,基於Django的網店系統。merchant,支援多種付款處理工具。money,可擴充套件的貨幣兌換解決方案。python-currencies,貨幣顯示格式。cornice,Pyramid的REST框架。django-rest-framework,Django框架,強大靈活的工具,可以很容易地構建Web API。django-tastypie,創造精美的Django應用程式API介面。

django-formapi,建立JSON API、HMAC認證和Django表單驗證。flask-api,提供統一的瀏覽器體驗,基於Django框架。flask-restful,快速構建REST API支援擴充套件。flask-api-utils,flask的擴充套件。falcon,獵鷹,高效能的Python框架,構建雲API和Web應用程式後端。eve,夏娃,REST API框架,使用Flask,MongoDB和良好意願。sandman,睡魔,為現有的資料庫驅動的系統,自動生成REST API。restless,類似TastyPie的框架。savory-pie,REST API構建函式庫(Django,及其他)Jinja2,現代設計師友好的語言模板。Genshi,網路感知輸出模板工具包。Mako,馬可,Python平臺的超高速、輕型模板。Chameleon,變色龍,一個HTML / XML模板引擎。仿照ZPT,優化速度。Spitfire,快速的Python編譯模板。django-haystack,大海撈針,Django模組搜尋。elasticsearch-py,Elasticsearch官方低階的Python客戶端。solrpy,solr客戶端。

Whoosh,呼,快速,純Python搜尋引擎庫。Feedly,建立新聞和通知系統的函式庫,使用Cassandra和Redis。django-activity-stream,Django活動流,從你網站上的行動,產生通用的活動流。Beaker,燒杯,一個快取和會話使用的Web應用程式,獨立的Python指令碼和應用程式庫。dogpile.cache,是Beaker作者的下一代替代作品。HermesCache,Python的快取庫,基於標籤的失效及預防Dogpile效果。django-cache-machine,Django快取機,自動快取失效,使用ORM。django-cacheops,自動顆粒事件驅動,ORM快取失效。johnny-cache,約翰尼快取記憶體框架,Django應用程式。django-viewlet,渲染模板部件擴充套件快取控制。pylibmc,在libmemcached介面。WTForms-JSON,JSON表單資料處理擴充套件。Deform, HTML表單生成的函式庫。

django-bootstrap3,bootstrap3,集成了Django。django-crispy-forms,Django程式,可以建立優雅的表單。django-remote-forms,Django的遠端表單,Django表格的序列化程式。django-simple-spam-blocker,Django簡單的垃圾郵件攔截器。django-simple-captcha,Django簡單驗證碼,簡單的和高度可定製的Django應用程式,用於新增驗證碼影象Ajenti,伺服器管理面板。Grappelli,介面花哨的django面板。django-suit,Django替代o介面(僅用於非商業用途)。django-xadmin,Django管理面板替代工具。

flask-admin,簡單的flask管理介面框架flower,實時監控和Web管理面板。Pelican,鵜鶘,Markdown或ReST,字王內容主題。支援 DVCS, Disqus. AGPL。Cactus,仙人掌,設計師的網站靜態生成器。Hyde,海德, 基於Jinja2的靜態網站生成器。Nikola,尼古拉-一個靜態網站和部落格生成器。Tags,標籤,最簡單的靜態網站生成器。Tinkerer,工匠,基於Sphinx的靜態網站生成器。asyncio,(在Python 3.4 +是Python標準庫),非同步I/O,事件迴圈,協同任務。gevent,基於Python的網路庫。Twisted,扭曲,事件驅動的網路引擎。Tornado,龍捲風,Web框架和非同步網路的函式庫。pulsar,脈衝星,事件驅動的並行框架的Python。diesel,柴油,綠色的,基於事件的I/O框架。eventlet,WSGI支援非同步框架。pyzmq, 0MQ訊息庫的Python封裝。txZMQ,基於Twisted的0MQ訊息庫封Crossbar,開源統一應用路由器(WebSocket和WAMP)。wsgiref,Python標準庫,WSGI封裝實現,單執行緒。

Werkzeug,機床,WSGI工具函式庫,很容易地嵌入到你自己的專案框架。paste,貼上,多執行緒,穩定的,久經考驗的WSGI工具。rocket,火箭,多執行緒服務,基於Pyramid。netius,快速的、非同步WSGI伺服器,gunicorn,forked前身,部分用C寫的。fapws3,非同步網路,用C寫的。meinheld,非同步WSGI伺服器,是用C寫的。

bjoern,-快速的、非同步WSGI伺服器,用C寫的。 【安全】Permissions函式庫,允許或拒絕使用者訪問資料或函式。django-guardian,Django守護者,管理每個物件的許可權,用於Django 1.2 +Carteblanche,管理導航和許可權。Authomatic,簡單強大的認證/授權客戶端。OAuthLib, 通用,規範,OAuth請求籤約工具。

rauth,用於OAuth 1.0,2.0,的Python庫。python-oauth2,利用全面測試,抽象介面來建立OAuth的客戶端和伺服器。python-social-auth,易於安裝的社會認證機制。,django-oauth-toolkit,Django OAuth工具包django-oauth2-provider,Django OAuth2工具包。django-allauth,Django認證的應用程式。Flask-OAuthlib,Flask的OAuth工具包sanction,制裁,簡單的oauth2客戶端。jose,[JavaScript]物件簽名和加密(JOSE)草案實施,標記狀態。python-jwt,JSON的Web令牌生成和驗證模組。pyjwt,JSON的Web令牌草案01。python-jws,JSON的Web令牌草案02。PyCrypto,Python的加密工具包。

Paramiko,sshv2協議的實現,提供了客戶端和伺服器端的功能。cryptography,密碼開發工具包。PyNac,網路和密碼(NaCl)函式庫。hashids,hashids的 Python函式庫。Passlib,安全的密碼儲存/雜湊庫,非常高的水平。hashlib,md5, sha等hash演算法,用來替換md5和sha模組,並使他們的API一致。它由OpenSSL支援,支援如下演算法:md5,sha1, sha224, sha256, sha384, sha512.

 

GUI

庫名稱簡介

PyGtk,基於Python的GUI程式開發GTK+庫

PyQt用於Python的QT開發庫

WxPythonPython下的GUI程式設計框架,其訊息機制與MFC的架構相似,入門非常簡單,需要快速開發相關的應用可以使用這個

TkinterPython下標準的介面程式設計包,因此不算是第三方庫了

PySide,跨平臺Qt的應用程式和使用者介面框架,支撐Qt v4框架。

wxPython,混合wxWidgets的C++類庫。

kivy,建立應用程式GUI函式庫,看運行於Windows,Linux,MAC OS X,[Android]和[iOS]。

curse,用於建立終端GUI應用程式。

urwid,建立終端GUI應用程式窗體的函式庫,支援事件,色彩豐富。

pyglet,跨平臺的視窗和多媒體庫的Python。

Tkinter,是Python事實上的標準GUI軟體包。

enaml,建立漂亮的使用者介面,語法類似QML。

Toga,託加,OS原生GUI工具包。 【構建封裝】

工具

pyenv,簡單的Python版本管理。

virtualenv,建立獨立的Python環境,用於同時安裝不同版本的python環境。

virtualenvwrapper,是virtualenv的一組擴充套件。

pew,一套管理多個虛擬環境的工具。

vex,使執行指定的virtualenv命令。

PyRun,一個單檔案,無需安裝的Python版本管理工具。

PIP,Python包和依賴的管理工具。

easy_install,軟體包管理系統,提供一個標準的分配Python軟體和 函式庫的格式。是一個附帶設定工具的模組,和一個第三方函式庫。旨在加快Python函式庫的分配程式的速度。類似Ruby語言的RubyGems 。

conda,跨平臺,二進位制軟體包管理器。,

Curdling,一個管理Python包的命令列工具。

wheel,Python發行的新標準,旨在替代eggs.

cx-Freeze,跨平臺的,用於打包成可執行檔案的庫

py2exe, Windows平臺的Freeze指令碼工具,Py2exe ,將python指令碼轉換為windows上可以獨立執行的可執行程式

py2app,MAC OS X平臺的Freeze指令碼工具

pyinstaller,-轉換成獨立的可執行檔案的Python程式(跨平臺)。

pynsist,構建Windows安裝程式的工具,用Python編寫。

dh-virtualenv,建立和分發virtualenv(Debian軟體包格式)

PyPI,新一代的Python包庫管理工具。

warehouse,新一代的Python包庫(PyPI)管理工具。

devpi,PyPI伺服器和包裝/測試/釋出工具。

localshop,PyPI官方包映象伺服器,支援本地(私人)包上傳。

buildout,建立,組裝和部署應用程式的多個部分,其中一些可能是非基於Python的。

SCons,軟體構造工具。

platformio,一個控制檯的工具,構建的程式碼可用於不同的開發平臺。

bitbake,特殊設計的工具,用於建立和部署[嵌入式]Linux軟體包

fabricate,自動為任何程式語言,生成依賴包。

django-compressor,Django壓縮機,壓縮和內聯JavaScript或CSS,連結到一個單一的快取檔案。

jinja-assets-compressor,金賈壓縮機,一個Jinja擴充套件,通過編譯,壓縮你的資源。

webassets,優化管理,靜態資源,獨特的快取清除。

fanstatic,球迷,包優化,提供靜態檔案。

fileconveyor,監控資源變化,,可儲存到CDN(內容分發網路)和檔案系統。

django-storages,一組自定義儲存Django後臺。

glue,膠膠,一個簡單的命令列工具,生成CSS Sprites。

libsass-python,Sass (層疊樣式表)的Python介面。

Flask-Assets,整合應用程式資源。 【程式碼除錯】

unittest,Python標準庫,單元測試框架。

nose,鼻子,unittest延伸產品。

pytest,成熟的全功能的Python測試工具。

mamba,曼巴,Python的權威測試工具。出自BDD的旗下。

contexts,背景,BDD測試框架,基於C#。

pyshould,should風格的測試框架,基於PyHamcrest.

pyvows,BDD風格測試框架

Selenium,web測試框架,Python繫結Selenium。

splinter,分裂,測試Web應用程式的開源工具。

locust,刺槐,可擴充套件的使用者負載測試工具,用Python寫的。

sixpack,語言無關的A/B測試框架。

mock,模擬物件(英語:mock object,也譯作模仿物件),模擬測試庫。

responses,工具函式,用於mock模擬測試。

doublex-強大的測試框架。

freezegun,通過時間調整,測試模組。

httpretty, HTTP請求的模擬工具。

httmock,mock模擬測試。

coverage,程式碼覆蓋度量測試。

faker,生成模擬測試資料的Python包。

mixer,混頻器,產生模擬資料,用於Django ORM,SQLAlchemy,

Peewee, MongoEngine, Pony ORM等

model_mommy,在Django建立測試隨機工具。

ForgeryPy,易用的模擬資料發生器。

radar,雷達,生成隨機日期/時間。

FuckIt.py,測試Python程式碼執行。

Code Analysispysonar2,Python型別索引。

pycallgraph,視覺化的流量(呼叫圖)應用程式。

code2flow,轉換Python和JavaScript程式碼到流程圖。

LinterFlake8,原始碼模組檢查器

pylama,Python和JavaScript程式碼審計工具。

Pylint,原始碼分析器,它查詢程式設計錯誤,幫助執行一個程式碼標準和嗅探一些程式碼味道。注意:相比於PyChecker,Pylint是一個高階的Python程式碼分析工具,它分析Python程式碼中的錯誤。

Pyflakes,一個用於檢查Python原始檔錯誤的簡單程式。Pyflakes分析程式並且檢查各種錯誤。它通過解析原始檔實現,無需匯入。

pdb,Python標準庫,Python偵錯程式。

ipdb,IPython使用的PDB。

winpdb獨立於平臺的GUI偵錯程式。

pudb,全屏,基於python除錯控制檯。

pyringe,-可附著於及注入程式碼到Python程式的偵錯程式。

python-statsd,statsd伺服器客戶端。

memory_profiler, 記憶體監視。

profiling,互動式Python分析器。

django-debug-toolbar, Django除錯工具欄,顯示各種除錯資訊:當前請求/響應。

django-devserver,Django除錯工具。

flask-debugtoolbar,flask除錯工具。

 

轉載自:https://mp.weixin.qq.com/s?__biz=MzIwMDU3MDkzNg==&mid=2651306211&idx=1&sn=e49ae58fdd1c2df6f971118e6ca5d4e5&chksm=8d0839b4ba7fb0a289c544812121c9914fc20cad7bade5b2b7229165cff2f5e71e06c9336599&mpshare=1&scene=24&srcid=1015Lgsd0mZ45u3GmBPi3V2V#rd