操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    境管理

    管理 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 之上。

    文件私信菜鳥007有驚喜哦!不信試試看!

    文件管理和 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 – 提供用戶友好的函數來幫助用戶進行常用的日期和時間操作。

    文本處理

    用于解析和操作文本的庫。

    1.通用

    • chardet – 字符編碼檢測器,兼容 Python2 和 Python3。
    • difflib – (Python 標準庫)幫助我們進行差異化比較。
    • ftfy – 讓Unicode文本更完整更連貫。
    • fuzzywuzzy – 模糊字符串匹配。
    • Levenshtein – 快速計算編輯距離以及字符串的相似度。
    • pangu.py – 在中日韓語字符和數字字母之間添加空格。
    • pyfiglet -figlet 的 Python實現。
    • shortuuid – 一個生成器庫,用以生成簡潔的,明白的,URL 安全的 UUID。
    • unidecode – Unicode 文本的 ASCII 轉換形式 。
    • uniout – 打印可讀的字符,而不是轉義的字符串。
    • xpinyin – 一個用于把漢字轉換為拼音的庫。

    2.Slug化

    • awesome-slugify – 一個 Python slug 化庫,可以保持 Unicode。
    • python-slugify – Python slug 化庫,可以把 unicode 轉化為 ASCII。
    • unicode-slugify – 一個 slug 工具,可以生成 unicode slugs ,需要依賴 Django 。

    3..解析器

    • phonenumbers – 解析,格式化,儲存,驗證電話號碼。
    • PLY – lex 和 yacc 解析工具的 Python 實現。
    • Pygments – 通用語法高亮工具。
    • pyparsing – 生成通用解析器的框架。
    • python-nameparser – 把一個人名分解為幾個獨立的部分。
    • python-user-agents – 瀏覽器 user agent 解析器。
    • sqlparse – 一個無驗證的 SQL 解析器。

    特殊文本格式處理

    • 一些用來解析和操作特殊文本格式的庫。

    1.通用

    tablib – 一個用來處理中表格數據的模塊。

    2.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 文件。

    3.PDF

    • PDFMiner – 一個用于從PDF文檔中抽取信息的工具。
    • PyPDF2 – 一個可以分割,合并和轉換 PDF 頁面的庫。
    • ReportLab – 快速創建富文本 PDF 文檔。

    4.Markdown

    • Mistune – 快速并且功能齊全的純 Python 實現的 Markdown 解析器。
    • Python-Markdown – John Gruber’s Markdown 的 Python 版實現。

    5.YAML

    • PyYAML – Python 版本的 YAML 解析器。

    6.CSV

    • csvkit – 用于轉換和操作 CSV 的工具。

    7.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 – 將設置和代碼完全隔離。

    命令行工具

    用于創建命令行程序的庫。

    1.命令行程序開發

    • cement – Python 的命令行程序框架。
    • click – 一個通過組合的方式來創建精美命令行界面的包。
    • cliff – 一個用于創建命令行程序的框架,可以創建具有多層命令的命令行程序。
    • clint – Python 命令行程序工具。
    • colorama – 跨平臺彩色終端文本。
    • docopt – Python 風格的命令行參數解析器。
    • Gooey – 一條命令,將命令行程序變成一個 GUI 程序。
    • python-prompt-toolkit – 一個用于構建強大的交互式命令行程序的庫。

    2.生產力工具

    • 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。

    1.PostgreSQL

    • psycopg2 – Python 中最流行的 PostgreSQL 適配器。
    • queries – psycopg2 庫的封裝,用來和 PostgreSQL 進行交互。
    • txpostgres – 基于 Twisted 的異步 PostgreSQL 驅動。

    2.其他關系型數據庫

    • apsw – 另一個 Python SQLite封裝。
    • dataset – 在數據庫中存儲Python字典 – 可以協同SQLite,MySQL,和 PostgreSQL工作。
    • pymssql- 一個簡單的Microsoft SQL Server數據庫接口。

    3.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

    實現對象關系映射或數據映射技術的庫。

    1.關系型數據庫

    • Django Models – Django 的一部分。
    • SQLAlchemy – Python SQL 工具以及對象關系映射工具。
    • awesome-sqlalchemy系列
    • Peewee – 一個小巧,富有表達力的 ORM。
    • PonyORM – 提供面向生成器的 SQL 接口的 ORM。
    • python-sql – 編寫 Python 風格的 SQL 查詢。

    2.NoSQL 數據庫

    • django-mongodb-engine – Django MongoDB 后端。
    • PynamoDB – Amazon DynamoDB 的一個 Python 風格接口。
    • flywheel – Amazon DynamoDB 的對象映射工具。
    • MongoEngine – 一個Python 對象文檔映射工具,用于 MongoDB。
    • hot-redis – 為 Redis 提供 Python 豐富的數據類型。
    • redisco – 一個 Python 庫,提供可以持續存在在 Redis 中的簡單模型和容器。

    3.其他

    • butterdb – Google Drive 電子表格的 Python ORM。

    Web 框架

    全棧 web 框架。

    • Django – Python 界最流行的 web 框架。

    1.awesome-django系列

    • Flask – 一個 Python 微型框架。 https://github.com/humiaozuzu/awesome-flask系列
    • Pyramid – 一個小巧,快速,接地氣的開源Python web 框架。
    • Pyramid – 一個小巧,快速,接地氣的開源Python web 框架。

    2.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的庫

    1.Django

    • django-rest-framework – 一個強大靈活的工具,用來構建 web API。
    • django-tastypie – 為Django 應用開發API。
    • django-formapi – 為 Django 的表單驗證,創建 JSON APIs 。

    2.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 等驅動。

    3.Pyramid

    • cornice – 一個Pyramid 的 REST 框架 。

    4.與框架無關的

    • falcon – 一個用來建立云 API 和 web app 后端的噶性能框架。
    • sandman – 為現存的數據庫驅動系統自動創建 REST APIs 。
    • restless – 框架無關的 REST 框架 ,基于從 Tastypie 學到的知識。
    • ripozo – 快速創建 REST/HATEOAS/Hypermedia APIs。

    驗證

    實現驗證方案的庫。

    1.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 客戶端實現。

    2.其他

    • 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 – 實時記錄和收集日志的服務器。

    測試

    進行代碼庫測試和生成測試數據的庫。

    1.測試框架

    • 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 – 一個通用的自動化測試框架。

    2.Web 測試

    • Selenium – Selenium WebDriver 的 Python 綁定。
    • locust – 使用 Python 編寫的,可擴展的用戶加載測試工具。
    • sixpack – 一個和語言無關的 A/B 測試框架。
    • splinter – 開源的 web 應用測試工具。

    3.Mock測試

    • mock – (Python 標準庫) 一個用于偽造測試的庫。
    • doublex – Python 的一個功能強大的 doubles 測試框架。
    • freezegun – 通過偽造日期模塊來生成不同的時間。
    • httmock – 針對 Python 2.6+ 和 3.2+ 生成 偽造請求的庫。
    • httpretty – Python 的 HTTP 請求 mock 工具。
    • responses – 偽造 Python 中的 requests 庫的一個通用庫。
    • VCR.py – 在你的測試中記錄和重放 HTTP 交互。

    4.對象工廠

    • factoryboy – 一個 Python 用的測試固件 (test fixtures) 替代庫。
    • mixer – 另外一個測試固件 (test fixtures) 替代庫,支持 Django, Flask, SQLAlchemy, Peewee 等。
    • modelmommy – 為 Django 測試創建隨機固件

    5.代碼覆蓋率

    • coverage – 代碼覆蓋率測量。

    6.偽數據

    • faker – 一個 Python 庫,用來生成偽數據。
    • fake2db – 偽數據庫生成器。
    • radar – 生成隨機的日期/時間。

    7.錯誤處理

    • FuckIt.py – FuckIt.py 使用最先進的技術來保證你的 Python 代碼無論對錯都能繼續運行。

    代碼分析和Lint工具

    進行代碼分析,解析和操作代碼庫的庫和工具。

    1.代碼分析

    • code2flow – 把你的 Python 和 JavaScript 代碼轉換為流程圖。
    • pycallgraph -這個庫可以把你的Python 應用的流程(調用圖)進行可視化。
    • pysonar2 – Python 類型推斷和檢索工具。

    2.Lint工具

    • Flake8 – 模塊化源碼檢查工具: pep8, pyflakes 以及 co。
    • Pylint – 一個完全可定制的源碼分析器。
    • pylama – Python 和 JavaScript 的代碼審查工具。

    調試工具

    用來進行代碼調試的庫。

    1.調試器

    • 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 版。

    2.性能分析器

    • lineprofiler – 逐行性能分析。
    • memoryprofiler – 監控 Python 代碼的內存使用。
    • profiling – 一個交互式 Python 性能分析工具。

    3.其他

    • 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 的插件

    1.Emacs

    • Elpy – Emacs Python 開發環境。

    2.Sublime Text

    • SublimeJEDI – 一個 Sublime Text 插件,用來使用超贊的自動補全庫 Jedi。
    • Anaconda – Anaconda 把你的 Sublime Text 3 變成一個功能齊全的 Python IDE。

    3.Vim

    • YouCompleteMe – 引入基于 Jedi 的 Python 自動補全引擎。
    • Jedi-vim – 綁定 Vim 和 Jedi 自動補全庫對 Python 進行自動補全。
    • Python-mode – 將 Vim 變成 Python IDE 的一款多合一插件。

    4.Visual Studio

    • PTVS – Visual Studio 的 Python 工具

    5.Visual Studio Code

    • 微軟 – Visual Studio Code的 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 – 一個數據驅動、自動、持續的代碼審查工具。

    需要更多資料可以私信小編“資料”獲取

    PhyloPhlAn 3.0是一個準確、快速且易于使用的分析工具,可用于基因組、蛋白質組和宏基因組大規模系統發育分析。將基因組和宏基因組組裝基因組(MAG)分配到菌種水平的基因組(SGB),也可用進化枝最大特異marker信息重建菌株水平的系統發育,還可擴增到包含超過17000個微生物物種的大型系統發育。

    PhyloPhlAn 3.0執行過程:

    • marker gene identification:將DNA或RNA序列與400個通用蛋白或者UniRef90核心基因和物種marker基因比對,提取同源序列;
    • MSA and refinement:將每個marker的同源序列使用MAFFT(默認多序列比對軟件,也可選擇MUSCLE, Opal, UPP)對齊;
    • concatenation of MSAs or gene tree inference:如果下游分析是基于concatenation-based計算系統發育,則將多個MSA(多序列比對結果)合并到一個大的MSA;如果基于gene tree-based計算系統發育,則計算每一個MSA系統發育,整個系統發育集被提供給下游樹協調步驟;
    • phylogeny reconstruction:如果基于concatenation-based重建系統發育,則先使用RAxML, FastTree, IQ-TREE的一種構建系統發育樹,讓后在使用RAxML完善系統發育樹;如果基于gene tree-based,則使用ASTRAL或 ASTRID將但單基因樹與基因組樹協調為最后的基因組樹。

    安裝

    依賴

    ?Python (version >=3.0)

    ?NumPy (version >=1.12.1)

    ?Biopython (version >=1.70)

    ?DendroPy (version >=4.2.0)

    ? At least one phylogenetic inference software tool: RAxML, FastTree, IQ-TREE

    ? At least one multiple sequence alignment tool:MUSCLE, MAFFT, Opal, UPP

    ?trimAl

    ?blast+

    ?USEARCH

    ?DIAMOND

    conda
    conda create -n "phylophlan" -c bioconda phylophlan=3.0
    #建議使用conda安裝方法,會自動安裝PhyloPhlAn3.0所有依賴;
    
    GitHub 
    git clone https://github.com/biobakery/phylophlan 
    cd phylophlan 
    python setup.py install
    #測試PhyloPhlAn 3.0 
    phylophlan --version

    數據庫

    # 第一次運行PhyloPhlAn 3.0,會自動安裝數據庫
    # amphora2 (136 universal marker genes) presented in Wu M, Scott AJ Bioinformatics 28.7 (2012)
    wget -c http://cmprod1.cibio.unitn.it/databases/PhyloPhlAn/amphora2.tar
    wget -c http://cmprod1.cibio.unitn.it/databases/PhyloPhlAn/amphora2.md5
    # phylophlan (400 universal marker genes) presented in Segata, N etal. NatComm 4:2304 (2013)
    wget -c http://cmprod1.cibio.unitn.it/databases/PhyloPhlAn/phylophlan.tar
    wget -c http://cmprod1.cibio.unitn.it/databases/PhyloPhlAn/phylophlan.md5
    
    #md5檢驗數據庫是否下載成功,如果下載成果不會下列命令不會有結果輸出
    diff <(md5sum amphora2.tar) amphora2.md5
    diff <(md5sum phylophlan.tar) phylophlan.md5
    # 解壓合并
    tar -xf amphora2.tar
    bzcat amphora2/*.bz2 > amphora2/amphora2.faa
    
    tar -xf phylophlan.tar
    bunzip2 -k phylophlan/phylophlan.bz2
    
    #建庫
    diamond makedb --in amphora2/amphora2.faa --db amphora2/amphora2
    diamond makedb --in phylophlan/phylophlan.faa --db phylophlan/phylophlan
    #自定義數據庫
    phylophlan_setup_database -i <input_file_or_folder> -d <database_name> -t <database_type>  -o <output_dir>
    # 參數:-i:fasta格式markers序列文件;
    #      -d:數據名稱;
    #      -t:數據庫類型,'n'核酸數據庫,'a'氨基酸數據庫;
    #      -o:數據庫存儲目錄;
    #      --database_update:更新數據庫,默認False;
    
    phylophlan_setup_database -g <get_core_proteins> -o <output_dir>
    # 參數:-g | --get_core_proteins:Specify the taxonomic label for which download the set of core proteins. The label must represent a species: "-- get_core_proteins s__Escherichia_coli"
    #下載UniRef90數據子集中指定物種的核心蛋白。
    #例:phylophlan_setup_database -g s__Escherichia_coli -o .
    #    diamond makedb --in s__Escherichia_coli/s__Escherichia_coli.faa --db s__Escherichia_coli/s__Escherichia_coli

    注:UniRef90子庫核心蛋白的篩選請參見:宏基因組數據庫ChocoPhlAn3的巧妙設計

    使用

    配置文件

     #生成默認配置文件
    phylophlan_write_default_configs.sh [output_folder]
    #將生成四個配置文件:supermatrix_aa.cfg、supermatrix_nt.cfg
    #  supertree_aa.cfg、supertree_nt.cfg  #構建大型系統發育樹優先選擇的方法
    
    #自定義配置文件
    phylophlan_write_config_file -o custom_config_nt.cfg -d n --db_dna makeblastdb --map_dna blastn --msa muscle --trim trimal --tree1 fasttree --tree2 raxml
    #參數:-d {n,a}: 配置文件針對的數據類型,'n'核酸數據庫,'a'蛋白質數據庫;
    # --db_dna {makeblastdb}
    # --db_aa {usearch,diamond}
    # --map_dna {blastn,tblastn,diamond}:
    # --map_aa {usearch,diamond}
    # --msa {muscle,mafft,opal,upp}
    # --tree1 {fasttree,raxml,iqtree,astral,astrid} 指定用于構第一個系統發育樹的軟件
    # --tree2 {raxml} 指定改進建立的系統發育樹
    
    #支持手動添加新分析工具,通過配置文件,加入到分析流程中,但輸入輸出文件必須與phylophlan格式兼容;
    #例如
    [msa]
    program_name=mafft
    params=--quiet --anysymbol --thread 1 --auto
    version=--version
    command_line=#program_name# #params# #input# > #output#

    運行phylophlan

    phylophlan -i <input_folder> -d <database> --diversity <low-medium-high> -f <configuration_file> -o <output_dir># -i: 輸入文件是fasta格式的基因組核酸序列或蛋白氨基酸序列,也可以是混合序列;
    # 默認基因組和蛋白質組分別以.fna和.faa擴展名區分,也可通過參數 --genome_extension and --proteome_extension,指定基因組或蛋白質組擴展名;
    # --diversity:{low,medium,high}  Specify the expected diversity of the phylogeny, automatically adjust some parameters: 
    #    "low": for genus-/species-/strain-level phylogenies; 
    #    "medium": for class-/order-level phylogenies;
    #    "high": for phylum-/tree-of-life size phylogenies
    #結果包含:兩個系統發育樹文件,一個多序列比對文件,或者預估突變率文件(若使用參數--mutation_rates)

    PhyloPhlAn metagenomic SGBs

    PhyloPhlAn 3.0 allows you to assign to each bin that comes from a metagenomic assembly analysis its closest species-level genome bins (SGBs, as defined in Pasolli, E et al. Cell (2019)).

    phylophlan_metagenomic -i <input_folder>
    #參數:-i :  input folder containing the metagenomic bins to be in dexed
    #     -n HOW_MANY, --how_many HOW_MANY : 指定輸出報告種SGB數量;出“all”輸所有SGB的特殊值,指定“--only_input"時不使用此參數,默認10
    #輸出結果: (1) list of the top -n/--how_many SGBs sorted by their average Mash distance, (2) closest SGB, GGB, FGB, and reference genomes, and (3) "
    
    #繪制熱圖
    phylophlan_draw_metagenomic -i <output_metagenomic> --map <bin2meta.tsv>
    # 參數:--map: A mapping file that maps each bin to its metagenome;
    #       --top TOP: The number of SGBs to display in the figure (default: 20)    
    #       --dpi DPI: 圖片分辨率,默認200
    #       -f F: 圖片格式,默認svg

    Finding strains in trees

    phylophlan_strain_finder -i <input_tree> -m <mutation_rates.tsv>
    # 參數:-i :系統發育樹文件;
    #      -m:phylophlan.py生成的突變率文件;
    #      --phylo_thr PHYLO_THR   Maximum phylogenetic distance threshold for every pair of nodes in the same subtree (inclusive) (default: 0.05)
    #      --mutrate_thr MUTRATE_THR  Maximum mutation rate ratio for every pair of nodes in the same subtree (inclusive)  (default: 0.05)
    #      --tree_format {newick,nexus,phyloxml,cdao,nexml}  Specify the format of the input tree (default: newick)

    添加參考基因組到系統發育樹

    #PhyloPhlAn 3.0構建系統發育樹允許添加參考基因組序列,可通 phylophlan_get_reference下載NCBI指定菌種序列,存儲到PhyloPhlAn輸入文件即可;
    # 例如下載大腸桿菌參考序列;
    phylophlan_get_reference -g s__Escherichia_coli -o inputs/  -n 200 
    #參數:-n HOW_MANY, --how_many HOW_MANY  下載Genbank數據庫指定數量的考基因組,“all”下載全部,默認4;
    #      -l, --list_clades 查看數據庫種所有參考基因組的分類,以及數據,默認False;
    #      --database_update 更新數據庫,默認False

    其他

    Phylophlan分析示例程序可參見程序安裝時生成examples文件夾,包括分離基因組的系統發育特征、原核生物生命樹的重建、宏基因組系統發育分析、已知物種的基因組和MAG(宏基因組組裝)的系統發育、變形菌門的未知SGB的系統發育特征。

    參數--diversity和--accurate/--fast相互影響的一些參數,但可通過指定修改某個參數的設定,默認使用--accurate:

    參數

    usage: phylophlan [-h] [-i INPUT | -c CLEAN] [-o OUTPUT]
                      [-d DATABASE] [-t {n,a}] [-f CONFIG_FILE]
                      --diversity {low,medium,high} [--accurate | --fast]
                      [--clean_all] [--database_list] [-s SUBMAT]
                      [--submat_list] [--submod_list] [--nproc NPROC]
                      [--min_num_proteins MIN_NUM_PROTEINS]
                      [--min_len_protein MIN_LEN_PROTEIN]
                      [--min_num_markers MIN_NUM_MARKERS]
                      [--trim {gap_trim,gap_perc,not_variant,greedy}]
                      [--gap_perc_threshold GAP_PERC_THRESHOLD]
                      [--not_variant_threshold NOT_VARIANT_THRESHOLD]
                      [--subsample {phylophlan,onethousand,sevenhundred,fivehundred,threehundred,onehundred,fifty,twentyfive,tenpercent,twentyfivepercent,fiftypercent,full}]
                      [--unknown_fraction UNKNOWN_FRACTION]
                      [--scoring_function {trident,muscle,random}]
                      [--sort] [--remove_fragmentary_entries]
                      [--fragmentary_threshold FRAGMENTARY_THRESHOLD]
                      [--min_num_entries MIN_NUM_ENTRIES] [--maas MAAS]
                      [--remove_only_gaps_entries] [--mutation_rates]
                      [--force_nucleotides] [--input_folder INPUT_FOLDER]
                      [--data_folder DATA_FOLDER]
                      [--databases_folder DATABASES_FOLDER]
                      [--submat_folder SUBMAT_FOLDER]
                      [--submod_folder SUBMOD_FOLDER]
                      [--configs_folder CONFIGS_FOLDER]
                      [--output_folder OUTPUT_FOLDER]
                      [--genome_extension GENOME_EXTENSION]
                      [--proteome_extension PROTEOME_EXTENSION]
                      [--update] [--citation] [--verbose] [-v]
    options:
      -i INPUT, --input INPUT     Folder containing your input genomes and/or proteomes (default: None)
      -c CLEAN, --clean CLEAN     Clean the output and partial data produced for the specified project (default: None)
      -o OUTPUT, --output OUTPUT  Output folder name, otherwise it will be the name of the input folder concatenated with the name of the database used (default: None)
      -d DATABASE, --database DATABASE    The name of the database of markers to use (default: None)
      -t {n,a}, --db_type {n,a}     Specify the type of the database of markers, where "n" stands for nucleotides and "a" for amino acids. If not specified, PhyloPhlAn will automatically detect the type of database (default: None)
      -f CONFIG_FILE, --config_file CONFIG_FILE      The configuration file to use. Four ready-to-use configuration files can be generated using the "phylophlan_write_default_configs.sh" script (default: None)
      --diversity {low,medium,high}    Specify the expected diversity of the phylogeny, automatically adjust some parameters: 
                                       "low": for genus-/species-/strain-level phylogenies; 
                                       "medium": for class-/order-level phylogenies; 
                                       "high": for phylum-/tree-of-life size phylogenies (default: None)
      --accurate            Use more phylogenetic signal which can result  in more accurate phylogeny; affected parameters depend on the "--diversity" level (default: False)
      --fast                Perform more a faster phylogeny reconstruction by reducing the phylogenetic positions to use; affected parameters depend on the "--diversity" level (default: False)
      --clean_all           Remove all installation and database files automatically generated (default: False)
      --database_list       List of all the available databases that can be specified with the -d/--database option (default: False)
      -s SUBMAT, --submat SUBMAT   Specify the substitution matrix to use,available substitution matrices can be listed with "--submat_list" (default: None)
      --submat_list         List of all the available substitution  matrices that can be specified with the -s/--submat option (default: False)
      --submod_list         List of all the available substitution models that can be specified with the --maas option(default: False)
      --nproc NPROC         The number of cores to use (default: 1)
      --min_num_proteins MIN_NUM_PROTEINS    Proteomes with less than this number of proteins will be discarded (default: 1)
      --min_len_protein MIN_LEN_PROTEIN    Proteins in proteomes shorter than this value will be discarded (default: 50)
      --min_num_markers MIN_NUM_MARKERS    Input genomes or proteomes that map to less than the specified number of markers will be discarded (default: 1)
      --trim {gap_trim,gap_perc,not_variant,greedy}    Specify which type of trimming to perform:  
                           "gap_trim": execute what specified in the  "trim" section of the configuration file; 
                           "gap_perc": remove columns with a percentage of gaps above a certain threshold (see "--gap_perc_threshold" parameter);
                           "not_variant": remove columns with at least one  nucleotide/amino acid appearing above a certain threshold (see "-- not_variant_threshold" parameter); 
                           "greedy": performs all the above trimming steps; If not specified, no trimming will be performed(default: None)
      --gap_perc_threshold GAP_PERC_THRESHOLD            Specify the value used to consider a column not variant when "--trim not_variant" is specified (default: 0.67)
      --not_variant_threshold NOT_VARIANT_THRESHOLD      Specify the value used to consider a column not variant when "--trim not_variant" is specified (default: 0.99)
      --subsample {phylophlan,onethousand,sevenhundred,fivehundred,threehundred,onehundred,fifty,twentyfive,tenpercent,twentyfivepercent,fiftypercent,full}
                            The number of positions to retain from eachsingle marker, available option are:
                            "phylophlan": specific number of positions for each PhyloPhlAn marker (only when "-- database phylophlan"); 
                            "onethousand": return the top 1000 positions; "sevenhundred": return the top 700; "fivehundred": return the top 500; "threehundred" return the top300;
                            "onehundred": return the top 100 positions;
                            "fifty": return the top 50 positions;
                            "twentyfive": return the top 25 positions;
                            "fiftypercent": return the top 50 percent positions; 
                            "twentyfivepercent": return the  top 25% positions; 
                            "tenpercent": return the top 10% positions; "full": full alignment. (default: full)
      --unknown_fraction UNKNOWN_FRACTION     Define the amount of unknowns ("X" and "-") allowed in each column of the MSA of the  markers (default: 0.3)
      --scoring_function {trident,muscle,random}    Specify which scoring function to use to evaluate columns in the MSA results (default: None)
      --sort                If specified, the markers will be ordered, when using the PhyloPhlAn database, it will be automatically set to "True" (default:  False)
      --remove_fragmentary_entries      If specified the MSAs will be checked and  cleaned from fragmentary entries. See --fragmentary_threshold for the threshold  values above which an entry will be  considered fragmentary (default: False)
      --fragmentary_threshold FRAGMENTARY_THRESHOLD      The fraction of gaps in the MSA to be considered fragmentary and hence discarded  (default: 0.85)
      --min_num_entries MIN_NUM_ENTRIES           The minimum number of entries to be present  for each of the markers in the database (default: 4)
      --maas MAAS           Select a mapping file that specifies the substitution model of amino acid to use for each of the markers for the gene tree reconstruction. File must be tab-separated (default: None)
      --remove_only_gaps_entries         If specified, entries in the MSAs composed only of gaps ("-") will be removed. This is equivalent to specify "-- remove_fragmentary_entries --fragmentary_threshold 1" (default:False)
      --mutation_rates          If specified will produced a mutation rates table for each of the aligned markers and a summary table for the concatenated MSA. This operation can take a long time to finish (default: False)
      --force_nucleotides      If specified force PhyloPhlAn to use  nucleotide sequences for the phylogenetic analysis, even in the case of a database of amino acids (default: False)
      --update              Update the databases file (default: False)
      --citation            Show citation
      --verbose             Makes PhyloPhlAn verbose (default: False)
      -v, --version         Prints the current PhyloPhlAn version and   exit
    
    
    Folder paths:
      Parameters for setting the folder locations
    
    
      --input_folder INPUT_FOLDER    Path to the folder containing the input data (default: input/)
      --data_folder DATA_FOLDER      Path to the folder where to store the  intermediate files, default is "tmp" inside the project's output folder (default: None)
      --databases_folder DATABASES_FOLDER     Path to the folder containing the database files (default: phylophlan_databases/)
      --submat_folder SUBMAT_FOLDER     Path to the folder containing the substitution matrices to use to compute the column score for the subsampling step (default: phylophlan_substitution_matrices/)
      --submod_folder SUBMOD_FOLDER     Path to the folder containing the mapping  file with substitution models for each marker for the gene tree building (default: phylophlan_substitution_models/)
      --configs_folder CONFIGS_FOLDER       Path to the folder containing the configuration files (default: phylophlan_configs/)
      --output_folder OUTPUT_FOLDER        Path to the output folder where to save the results (default: )
    
    
    Filename extensions:
      Parameters for setting the extensions of the input files
    
    
      --genome_extension GENOME_EXTENSION     Extension for input genomes (default:.fna)
      --proteome_extension PROTEOME_EXTENSION  Extension for input proteomes (default:.faa)

    參考:Home · biobakery/phylophlan Wiki · GitHub

    PhyloPhlAn3 · biobakery/biobakery Wiki · GitHub

    Precise phylogenetic analysis of microbial isolates and genomes from metagenomes using PhyloPhlAn 3.0 | Nature Communications

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有