包管理
管理包和依賴的工具。javascript
- pip – Python 包和依賴關係管理工具。
- pip-tools – 保證 Python 包依賴關係更新的一組工具。
- conda – 跨平臺,Python 二進制包管理工具。
- Curdling – 管理 Python 包的命令行工具。
- wheel – Python 分發的新標準,意在取代 eggs。
文本處理
用於解析和操做文本的庫。html
- 通用
- 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 解析器。
天然語言處理
用來處理人類語言的庫。java
- NLTK – 一個先進的平臺,用以構建處理人類語言數據的 Python 程序。
- jieba – 中文分詞工具。
- langid.py – 獨立的語言識別系統。
- Pattern – Python 網絡信息挖掘模塊。
- SnowNLP – 一個用來處理中文文本的庫。
- TextBlob – 爲進行普通天然語言處理任務提供一致的 API。
- TextGrocery – 一簡單高效的短文本分類工具,基於 LibLinear 和 Jieba。
圖像處理
用來操做圖像的庫.python
- 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 。
HTTP
使用HTTP的庫。web
- requests – 人性化的HTTP請求庫。
- grequests – requests 庫 + gevent ,用於異步 HTTP 請求.
- httplib2 – 全面的 HTTP 客戶端庫。
- treq – 相似 requests 的Python API 構建於 Twisted HTTP 客戶端之上。
- urllib3 – 一個具備線程安全鏈接池,支持文件 post,清晰友好的 HTTP 庫。
數據庫
Python實現的數據庫。算法
- pickleDB – 一個簡單,輕量級鍵值儲存數據庫。
- PipelineDB – 流式 SQL 數據庫。
- TinyDB – 一個微型的,面向文檔型數據庫。
- ZODB – 一個 Python 原生對象數據庫。一個鍵值和對象圖數據庫。
Web 框架
全棧 web 框架。sql
- Django – Python 界最流行的 web 框架。
- Flask – 一個 Python 微型框架。
- Pyramid – 一個小巧,快速,接地氣的開源Python web 框架。
- Bottle – 一個快速小巧,輕量級的 WSGI 微型 web 框架。
- CherryPy – 一個極簡的 Python web 框架,服從 HTTP/1.1 協議且具備WSGI 線程池。
- TurboGears – 一個能夠擴展爲全棧解決方案的微型框架。
- web.py – 一個 Python 的 web 框架,既簡單,又強大。
- web2py – 一個全棧 web 框架和平臺,專一於簡單易用。
- Tornado – 一個web 框架和異步網絡庫。
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
- 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 – 顯示貨幣格式以及它的數值。
電子郵件編程
用來發送和解析電子郵件的庫。
- 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 庫,用來抽取信息和簽名。
網絡站點爬取
爬取網絡站點的庫
- 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 數據。
圖形用戶界面
用來建立圖形用戶界面程序的庫。
- 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)引擎。
Science and Data Analysis
用來進行科學計算和數據分析的庫。
- 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。
編輯器插件
編輯器和 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。
Testing
進行代碼庫測試和生成測試數據的庫。
- 測試框架
- 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 測試建立隨機固件
- 代碼覆蓋率
- 僞數據
- faker – 一個 Python 庫,用來生成僞數據。
- fake2db – 僞數據庫生成器。
- radar – 生成隨機的日期/時間。
- 錯誤處理
- FuckIt.py – FuckIt.py 使用最早進的技術來保證你的 Python 代碼不管對錯都能繼續運行。