1. 程式人生 > >[Python相見恨晚]之資源大全

[Python相見恨晚]之資源大全

說明:以下文章為轉載,有英文原文和中文整理翻譯,對原作者和譯者的工作表示極大感謝!!!

英文原文https://github.com/vinta/awesome-python

中文譯文:https://github.com/jobbole/awesome-python-cn

及:https://www.zhihu.com/question/24590883/answer/92420471

http://python.jobbole.com/84464/

===分割線=======================================================

環境管理

管理 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。官網
  • 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 解析器。

檔案

檔案管理和 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:在中日韓語字元和數字字母之間新增空格。官網
    • yfiglet-figlet:pyfiglet -figlet 的 Python實現。
    • shortuuid:一個生成器庫,用以生成簡潔的,明白的,URL 安全的 UUID。官網
    • unidecode:Unicode 文字的 ASCII 轉換形式 。官網
    • uniout:列印可讀的字元,而不是轉義的字串。官網
    • xpinyin:一個用於把漢字轉換為拼音的庫。官網
    • simplejson:Python的JSON編碼、解碼器。官網GitHub
  • Slug化
    • awesome-slugify:一個 Python slug 化庫,可以保持 Unicode。官網
    • python-slugify:Python slug 化庫,可以把 unicode 轉化為 ASCII。官網
    • unicode-slugify:一個 slug 工具,可以生成 unicode slugs ,需要依賴 Django 。官網
  • 解析器
    • phonenumbers:解析,格式化,儲存,驗證電話號碼。官網
    • PLY:lex 和 yacc 解析工具的 Python 實現。官網
    • Pygments:通用語法高亮工具。官網
    • pyparsing:生成通用解析器的框架。官網
    • python-nameparser:把一個人名分解為幾個獨立的部分。官網
    • python-user-agents:瀏覽器 user agent 解析器。官網
    • sqlparse:一個無驗證的 SQL 解析器。官網

特殊文字格式處理

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

  • 通用
    • tablib:一個用來處理中表格資料的模組。官網
  • Office
    • Marmir:把輸入的Python 資料結構轉換為電子表單。官網
    • openpyxl:一個用來讀寫 Excel 2010 xlsx/xlsm/xltx/xltm 檔案的庫。官網
    • python-docx:讀取,查詢以及修改 Microsoft Word 2007/2008 docx 檔案。官網
    • unoconv:在 LibreOffice/OpenOffice 支援的任意檔案格式之間進行轉換。官網
    • XlsxWriter:一個用於建立 Excel .xlsx 檔案的 Python 模組。官網
    • xlwings:一個使得在 Excel 中方便呼叫 Python 的庫(反之亦然),基於 BSD 協議。官網
    • xlwt:讀寫 Excel 檔案的資料和格式資訊。官網 / xlrd
    • relatorio:模板化OpenDocument 檔案。官網
  • PDF
    • PDFMiner:一個用於從PDF文件中抽取資訊的工具。官網
    • PyPDF2:一個可以分割,合併和轉換 PDF 頁面的庫。官網
    • ReportLab:快速建立富文字 PDF 文件。官網
  • Markdown
    • Mistune:快速並且功能齊全的純 Python 實現的 Markdown 解析器。官網
    • Python-Markdown:John Gruber’s Markdown 的 Python 版實現。官網
    • Python-Markdown2:純 Python 實現的 Markdown 解析器,比 Python-Markdown 更快,更準確,可擴充套件。官網
  • YAML
    • PyYAML:Python 版本的 YAML 解析器。官網
  • CSV
    • csvkit:用於轉換和操作 CSV 的工具。官網
  • Archive
    • unp:一個用來方便解包歸檔檔案的命令列工具。官網

自然語言處理

用來處理人類語言的庫。

  • NLTK:一個先進的平臺,用以構建處理人類語言資料的 Python 程式。官網
  • jieba:中文分詞工具。官網
  • langid.py:獨立的語言識別系統。官網
  • Pattern:Python 網路資訊挖掘模組。官網
  • SnowNLP:一個用來處理中文文字的庫。官網
  • TextBlob:為進行普通自然語言處理任務提供一致的 API。官網
  • TextGrocery:一簡單高效的短文字分類工具,基於 LibLinear 和 Jieba。官網

文件

用以生成專案文件的庫。

  • Sphinx:Python 文件生成器。官網
  • MkDocs:對 Markdown 友好的文件生成器。官網
  • pdoc:一個可以替換Epydoc 的庫,可以自動生成 Python 庫的 API 文件。官網
  • Pycco:文學程式設計(literate-programming)風格的文件生成器。官網

配置

用來儲存和解析配置的庫。

  • config:logging 模組作者寫的分級配置模組。官網
  • ConfigObj:INI 檔案解析器,帶驗證功能。官網
  • ConfigParser:(Python 標準庫) INI 檔案解析器。官網
  • profig:通過多種格式進行配置,具有數值轉換功能。官網
  • python-decouple:將設定和程式碼完全隔離。官網

命令列工具

用於建立命令列程式的庫。

  • 命令列程式開發
    • asciimatics:跨平臺,全屏終端包(即滑鼠/鍵盤輸入和彩色,定位文字輸出),完整的複雜動畫和特殊效果的高階API。官網
    • cement:Python 的命令列程式框架。官網
    • click:一個通過組合的方式來建立精美命令列介面的包。官網
    • cliff:一個用於建立命令列程式的框架,可以建立具有多層命令的命令列程式。官網
    • clint:Python 命令列程式工具。官網
    • colorama:跨平臺彩色終端文字。官網
    • docopt:Python 風格的命令列引數解析器。官網
    • Gooey:一條命令,將命令列程式變成一個 GUI 程式。官網
    • python-prompt-toolkit:一個用於構建強大的互動式命令列程式的庫。官網
    • Pythonpy:在命令列中直接執行任何Python指令。官網
  • 生產力工具
    • 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 命令列工具,具有自動補全和語法高亮功能。官網
    • try:一個從來沒有更簡單的命令列工具,用來試用python庫。官網

下載器

用來進行下載的庫.

  • s3cmd:一個用來管理Amazon S3 和 CloudFront 的命令列工具。官網
  • s4cmd:超級 S3 命令列工具,效能更加強勁。官網
  • you-get:一個 YouTube/Youku/Niconico 視訊下載器,使用 Python3 編寫。官網
  • youtube-dl:一個小巧的命令列程式,用來下載 YouTube 視訊。官網

影象處理

用來操作影象的庫.

  • pillow:Pillow 是一個更加易用版的 PIL官網
  • hmap:影象直方圖對映。官網
  • imgSeek:一個使用視覺相似性搜尋一組圖片集合的專案。官網
  • nude.py:裸體檢測。官網
  • pyBarcode:不借助 PIL 庫在 Python 程式中生成條形碼。官網
  • pygram:類似 Instagram 的影象濾鏡。官網
  • python-qrcode:一個純 Python 實現的二維碼生成器。官網
  • Quads:基於四叉樹的計算機藝術。官網
  • scikit-image:一個用於(科學)影象處理的 Python 庫。官網
  • thumbor:一個小型影象服務,具有剪裁,尺寸重設和翻轉功能。官網
  • wand:MagickWand的Python 繫結。MagickWand 是 ImageMagick的 C API 。官網

OCR

光學字元識別庫。

  • pyocr:Tesseract 和 Cuneiform 的一個封裝(wrapper)。官網

音訊

用來操作音訊的庫

  • audiolazy:Python 的數字訊號處理包。官網
  • audioread:交叉庫 (GStreamer + Core Audio + MAD + FFmpeg) 音訊解碼。官網
  • beets:一個音樂庫管理工具及 MusicBrainz 標籤新增工具官網
  • dejavu:音訊指紋提取和識別官網
  • 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 檔案和回放功能。官網

Video

用來操作視訊和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 資料庫聯結器。官網
    • ysqlclient:mysql-python 分支,支援 Python 3。
    • oursql:一個更好的 MySQL 聯結器,支援原生預編譯指令和 BLOBs.官網
    • PyMySQL:純 Python MySQL 驅動,相容 mysql-python。官網
  • PostgreSQL
    • psycopg2:Python 中最流行的 PostgreSQL 介面卡。官網
    • queries:psycopg2 庫的封裝,用來和 PostgreSQL 進行互動。官網
    • txpostgres:基於 Twisted 的非同步 PostgreSQL 驅動。官網
  • 其他關係型資料庫
    • apsw:另一個 Python SQLite封裝。官網
    • dataset:在資料庫中儲存Python字典
    • pymssql:一個簡單的Microsoft SQL Server資料庫介面。官網
  • NoSQL 資料庫
    • cassandra-python-driver:Cassandra 的 Python 驅動。官網
    • HappyBase:一個為 Apache HBase 設計的,對開發者友好的庫。官網
    • Plyvel:一個快速且功能豐富的 LevelDB 的 Python 介面。官網
    • py2neo:Neo4j restful 介面的Python 封裝客戶端。