2021年python庫大全

ztloo發表於2021-03-26

Python的資料結構,演算法和設計模式的實現。另請參閱真棒演算法

  • 演演算法
  • 設計模式
    • PyPattyrn-一個簡單但有效的庫,用於實現常見的設計模式。
    • python-patterns -Python中設計模式的集合。
    • transitions -一種輕量級的,物件導向的有限狀態機實現。

用於處理音訊及其後設資料的庫。

  • 聲音的
    • audioread-跨庫(GStreamer +核心音訊+ MAD + FFmpeg)音訊解碼。
    • dejavu-音訊指紋識別。
    • kapre - Keras音訊前處理器
    • librosa-用於音訊和音樂分析的Python庫
    • matchering -一個用於自動參考音訊製作的庫。
    • mingus-帶有MIDI檔案和播放支援的高階音樂理論和樂譜包。
    • pyAudioAnalysis-音訊特徵提取,分類,分段和應用。
    • pydub-使用簡單易用的高階介面處理音訊。
    • TimeSide-開放的Web音訊處理框架。
  • Metadata
    • beets-音樂庫管理器和MusicBrainz標記器。
    • eyeD3-一種用於處理音訊檔案的工具,特別是包含ID3後設資料的MP3檔案。
    • mutagen-處理音訊後設資料的Python模組。
    • tinytag-用於讀取MP3,OGG,FLAC和Wave檔案的音樂後設資料的庫。

用於處理影片和GIF的庫。

  • moviepy-用於基於指令碼的電影編輯的模組,具有多種格式,包括動畫GIF。
  • scikit-video -SciPy的影片處理例程。
  • vidgear-最強大的多執行緒影片處理框架。

用於處理影像的庫。

  • hmap-影像直方圖重新對映。
  • imgSeek-使用視覺相似性搜尋影像集合的專案。
  • nude.py-裸露檢測。
  • pagan -復古identicon(阿凡達)根據輸入的字串和雜湊生成。
  • pillow-枕頭是友好的PIL叉。
  • python- barcode-在Python中建立條形碼,沒有任何額外的依賴關係。
  • pygram-類似Instagram的影像過濾器。
  • PyMatting -Alpha遮罩的庫。
  • python-qrcode-一個純Python QR Code生成器。
  • pywal-一種從影像生成配色方案的工具。
  • pyvips-具有低記憶體需求的快速影像處理庫。
  • Quads -基於四叉樹的計算機藝術。
  • scikit-image-用於(科學)影像處理的Python庫。
  • thumbor-智慧影像服務。它可以按需裁剪,調整影像大小和翻轉影像。
  • wand - MagickWand的Python繫結,ImageMagick的C API。

用於解析和處理純文字的庫。


用於處理日期和時間的庫。

  • Arrow-一個Python庫,提供了一種明智且人性化的方法來建立,操作,格式化和轉換日期,時間和時間戳。
  • Chronyk-一個Python 3庫,用於解析人類編寫的時間和日期。
  • dateutil-標準Python datetime模組的擴充套件。
  • delorean-一個庫,用於清除與日期時間有關的不便的事實。
  • maya-人類的日期時間。
  • moment -一個Python庫用於處理日期/時間。受到Moment.js的啟發。
  • Pendulum-Python日期時間變得容易。
  • PyTime-一個易於使用的Python模組,旨在按字串操作日期/時間/日期時間。
  • pytz-世界時區定義,現代和歷史。將tz資料庫帶入Python。
  • when.py-提供使用者友好的功能來幫助執行常見的日期和時間操作。

自動執行Web抓取。

用於提取Web內容的庫。

  • html2text-將HTML轉換為Markdown格式的文字。
  • lassie-人類的Web內容檢索。
  • micawber-一個小型庫,用於從URL中提取豐富的內容。
  • newspaper -Python中的新聞提取,文章提取和內容管理。
  • python- readability - arc90的可讀性工具的快速Python埠。
  • requests-html –適用於人類的Pythonic HTML解析。
  • sumy-自動彙總文字文件和HTML頁面的模組。
  • textract-從任何文件,Word,PowerPoint,PDF等中提取文字
  • toapi-每個網站都提供API。

用於處理HTML和XML的庫。

  • BeautifulSoup-提供Pythonic慣用法來迭代,搜尋和修改HTML或XML。
  • bleach –基於白名單HTML清理和文字linkification庫中的。
  • cssutils-一個Python的CSS庫。
  • html5lib-一個符合標準的庫,用於解析和序列化HTML文件和片段。
  • lxml-一個非常快速,易於使用的通用庫,用於處理HTML和XML。
  • MarkupSafe-為Python實現XML / HTML / XHTML標記安全字串。
  • pyquery-用於解析HTML的類似jQuery的庫。
  • untangle –將XML文件轉換為Python物件,以方便訪問。
  • WeasyPrint-用於HTML和CSS的可視渲染引擎,可以匯出為PDF。
  • xmldataset-簡單的XML解析。
  • xmltodict-使用XML就像使用JSON。

使用HTTP的庫。

  • grequests-非同步HTTP請求的request + gevent。
  • httplib2-全面的HTTP客戶端庫。
  • httpx-用於Python的下一代HTTP客戶端。
  • requests -HTTP對人類的請求。
  • treq -Python請求,例如在Twisted的HTTP客戶端之上構建的API。

用於解析和處理特定文字格式的庫。

  • General
    • tablib -XLS,CSV,JSON,YAML中的表格資料集的模組。
  • Office
    • docxtpl-透過jinja2模板編輯docx文件
    • openpyxl-用於讀取和寫入Excel 2010 xlsx / xlsm / xltx / xltm檔案的庫。
    • pyexcel-提供一個用於讀取,操作和寫入csv,ods,xls,xlsx和xlsm檔案的API。
    • python-docx-讀取,查詢和修改Microsoft Word 2007/2008 docx檔案。
    • python-pptx-用於建立和更新PowerPoint(.pptx)檔案的Python庫。
    • unoconv-在LibreOffice / OpenOffice支援的任何文件格式之間轉換。
    • XlsxWriter-一個用於建立Excel .xlsx檔案的Python模組。
    • xlwings -BSD許可的庫,可以輕鬆地從Excel呼叫Python,反之亦然。
    • xlwt / xlrd-從Excel檔案寫入和讀取資料以及格式化資訊。
  • PDF格式
    • PDFMiner-一種從PDF文件提取資訊的工具。
    • PyPDF2-一個能夠拆分,合併和轉換PDF頁面的庫。
    • ReportLab-允許快速建立豐富的PDF文件。
  • Markdown
  • YAML
    • PyYAML-適用於Python的YAML實現。
  • CSV
    • csvkit-轉換為CSV並使用CSV的實用程式。
  • Archive
    • unp-一個命令列工具,可以輕鬆地解壓縮檔案。

用於序列化複雜資料型別的庫


碼質量檢查器的工具。另請參閱令人敬畏的靜態分析

  • 程式碼分析
    • Coala-語言獨立且易於擴充套件的程式碼分析應用程式。
    • code2flow-將您的Python和JavaScript程式碼轉換為DOT流程圖。
    • prospector-分析Python程式碼的工具。
    • pycallgraph-一個視覺化Python應用程式流程(呼叫圖)的庫。
    • vulture-查詢和分析無效的Python程式碼的工具。
  • Code Linters
  • 程式碼格式化程式
    • black –毫不妥協的Python程式碼格式化程式。
    • isort-用於對匯入進行排序的Python實用程式/庫。
    • yapf-另一個來自Google的Python程式碼格式化程式。
  • 靜態型別檢查器,另請參見awesome-python-typing
  • 靜態型別註釋生成器
    • MonkeyType-一個用於Python的系統,透過收集執行時型別來生成靜態型別註釋。
    • pyannotate-自動生成PEP-484註釋。
    • pytype -pytype檢查並推斷Python程式碼的型別-無需型別註釋。

滲透測試的框架和工具。

用於測試程式碼庫和生成測試資料的庫。

  • 測試框架
    • hypothesis –假設是一個高階的Quickcheck樣式基於屬性的測試庫。
    • nose2 -nose基於`unittest2。的後繼者。
    • pytest-一個成熟的功能齊全的Python測試工具。
    • Robot Framework 通用的測試自動化框架。
    • unittest-(Python標準庫)單元測試框架。
  • 測試選手
    • green -乾淨,多彩的測試執行器。
    • mamba -Python的權威測試工具。生於BDD的旗幟下。
    • tox-自動構建和測試多個Python版本的發行版
  • GUI / Web測試
    • locust-用Python編寫的可擴充套件使用者負載測試工具。
    • PyAutoGUI -PyAutoGUI是適用於人類的跨平臺GUI自動化Python模組。
    • Schemathesis-用於對基於Open API / Swagger規範構建的Web應用程式進行基於屬性的自動測試的工具。
    • Selenium - Selenium WebDriver的Python繫結。
    • sixpack-與語言無關的A / B測試框架。
    • splinter-用於測試Web應用程式的開源工具。
  • Mock
    • doublex-強大的Python測試框架加倍。
    • Frozengun-透過模擬datetime模組來穿越時間。
    • httmock-一個針對Python 2.6+和3.2+的請求的模擬庫。
    • httpretty-適用於Python的HTTP請求模擬工具。
    • mock-(Python標準庫)一個模擬和修補庫。
    • mocket -具有gevent / asyncio / SSL支援的套接字模擬框架。
    • responses 一個實用程式庫,用於模擬請求Python庫。
    • VCR.py-記錄並重放測試中的HTTP互動。
  • 物件工廠
    • factory_boy -Python的測試裝置替代品。
    • mixer-另一種燈具更換。支援Django,Flask,SQLAlchemy,Peewee等
    • model_mommy-建立隨機夾具以在Django中進行測試。
  • 程式碼覆蓋率
  • 偽資料
    • fake2db-偽資料庫生成器。
    • faker-一個生成偽造資料的Python包。
    • mimesis-是一個Python庫,可幫助您生成虛假資料。
    • radar -生成隨機的日期時間/時間。

傳統的全棧Web框架。另請參閱RESTful API


用於對資料建立索引並執行搜尋查詢的庫和軟體。


用於生成和使用日誌的庫。

  • logbook - -記錄Python的替換記錄。
  • logging-(Python標準庫)Python的日誌記錄工具。
  • loguru-旨在以Python帶來令人愉悅的日誌記錄的庫。
  • sentry- python-適用於Python的Sentry SDK。
  • structlog-結構化日誌變得容易。

用於併發和並行執行的庫。另請參閱awesome-asyncio


用於處理任務佇列的庫。

  • celery-基於分散式訊息傳遞的非同步任務佇列/作業佇列。
  • Dramatiq-用於Python 3的快速可靠的後臺任務處理庫。
  • huey-小多執行緒任務佇列。
  • mrq-使用Redis和gevent的Python中的分散式工作者任務佇列。
  • rq -Python的簡單作業佇列。

用於使用人類語言的圖書館。

  • 一般的
    • gensim-人類主題建模。
    • langid.py-獨立的語言識別系統。
    • nltk-用於構建Python程式以使用人類語言資料的領先平臺。
    • pattern-一個Web挖掘模組。
    • polyglot-支援數百種語言的自然語言管道。
    • pytext的-基於PyTorch自然語言建模框架。
    • PyTorch-NLP-一種工具包,可用於研究的快速深度學習NLP原型。
    • spacy -一種用於Python和用Cython工業強度的自然語言處理庫。
    • Stanza -Stanford NLP Group的官方Python庫,支援60多種語言。
  • 中國人
    • funNLP-中國NLP的工具和資料集的集合。
    • jieba-最受歡迎的中文文字分割庫。
    • pkuseg-python-用於各種領域的中文分詞的工具包。
    • snownlp-用於處理中文文字的庫。

神經網路和深度學習框架。另請參閱真棒深度學習

  • caffe-深度學習的快速開放框架。
  • keras-一個高階神經網路庫,能夠在TensorFlow或Theano之上執行。
  • mxnet-專為效率和靈活性而設計的深度學習框架。
  • pytorch-具有強大GPU加速功能的Python中的張量和動態神經網路。
  • SerpentAI-遊戲代理框架。使用任何影片遊戲作為深度學習沙箱。
  • tensorflow-由Google建立的最受歡迎的深度學習框架。
  • Theano-一個用於快速數值計算的庫。

機器學習圖書館。另請參閱很棒的機器學習

  • 健身房-用於開發和比較強化學習演算法的工具包。
  • H2O-開源快速可擴充套件機器學習平臺。
  • 指標-機器學習評估指標。
  • NuPIC -Numenta智慧計算平臺。
  • scikit-learn-最受歡迎的機器學習Python庫。
  • Spark ML - Apache Spark的可擴充套件機器學習庫。
  • vowpal_porpoise-用於Vowpal Wabbit的輕量級Python包裝器。
  • xgboost-一個可擴充套件,可移植和分散式的梯度增強庫。
  • MindsDB -MindsDB是現有資料庫的開源AI層,可讓您使用標準查詢輕鬆地開發,訓練和部署最新的機器學習模型。

計算機視覺圖書館。


用於資料分析的庫。

  • AWS Data Wrangler -AWS上的Pandas。
  • Blaze -NumPy和Pandas連線到大資料。
  • Pandas介面中的Open Mining-商業智慧(BI)。
  • Optimus –敏捷資料科學的工作流程變得容易與PySpark。
  • Orange –透過視覺化程式設計或指令碼進行資料探勘,資料視覺化,分析和機器學習。
  • Pandas-一個提供高效能,易於使用的資料結構和資料分析工具的庫。

用於視覺化資料的庫。另請參閱awesome-javascript

  • Altair-用於Python的宣告性統計視覺化庫。
  • Bokeh-用於Python的互動式Web繪圖。
  • bqplot -Jupyter Notebook的互動式繪相簿
  • Cartopy-具有matplotlib支援的製圖python庫
  • 短跑-建立在燒瓶頂部,反應,Plotly旨在分析Web應用程式。
  • 圖表-圖表為程式碼。
  • Matplotlib-一個Python 2D繪相簿。
  • plotnine-基於ggplot2的Python圖形語法。
  • Pygal-一個Python SVG圖表建立器。
  • PyGraphviz - Graphviz的Python介面。
  • PyQtGraph-互動式和實時2D / 3D /影像繪製以及科學/工程小部件。
  • Seaborn -使用Matplotlib統計資料視覺化。
  • VisPy-基於OpenGL的高效能科學視覺化。

用於連線和運算元據庫的庫。


DevOps的軟體和庫。

  • 配置管理
    • ansible-一個非常簡單的IT自動化平臺。
    • cloudinit-一個多分發包,用於處理雲例項的早期初始化。
    • OpenStack-用於構建私有和公共雲的開源軟體。
    • pyinfra-通用的CLI工具和python庫,可自動執行基礎架構。
    • saltstack-基礎結構自動化和管理系統。
  • SSH樣式的部署
    • cuisine -類似於Fabric的廚師功能。
    • fabric -一個簡單的,Python化工具,用於遠端執行和部署。
    • fabtools-編寫很棒的Fabric檔案的工具。
  • 流程管理
    • honcho - Foreman的Python克隆,用於管理基於Procfile的應用程式。
    • supervisor -用於UNIX監事過程控制系統。
  • 監控方式
    • psutil-跨平臺的流程和系統實用程式模組。
  • 後備
    • BorgBackup-具有壓縮和加密功能的重複資料刪除存檔器。
  • 其他

分散式計算的框架和庫。

  • 批次處理
    • dask-用於分析計算的靈活平行計算庫。
    • luigi-一個模組,可幫助您構建批處理作業的複雜管道。
    • mrjob-在Hadoop或Amazon Web Services上執行MapReduce作業。
    • PySpark - Apache Spark Python API。
    • Ray-用於並行和分散式Python的系統,統一了機器學習生態系統。
  • 流處理

用於儲存和解析配置選項的庫。

  • configobj-帶有驗證的INI檔案解析器。
  • configparser-(Python標準庫)INI檔案解析器。
  • hydra -Hydra是用於優雅配置複雜應用程式的框架。
  • profig-使用值轉換從多種格式進行配置。
  • python-decouple-嚴格將設定與程式碼分開。

用於建立打包的可執行檔案以進行發行的庫。

  • dh-virtualenv-以Debian軟體包的形式構建和分發virtualenv。
  • Nuitka-將指令碼,模組,程式包編譯為可執行檔案或擴充套件模組。
  • py2app-凍結Python指令碼(Mac OS X)。
  • py2exe-凍結Python指令碼(Windows)。
  • pyarmor-一種用於混淆python指令碼,將混淆後的指令碼繫結到固定計算機或使混淆後的指令碼失效的工具。
  • PyInstaller-將Python程式轉換為獨立的可執行檔案(跨平臺)。
  • pynsist-用於構建Windows安裝程式的工具,安裝程式將Python本身捆綁在一起。
  • shiv-命令列實用程式,用於構建完全獨立的zipapp(PEP 441),但包括其所有依賴項。

用於Python版本和虛擬環境管理的庫。

  • pyenv-簡單的Python版本管理。
  • virtualenv-建立隔離的Python環境的工具。

用於處理圖形使用者介面應用程式的庫。

  • curses - -內建包裝器ncurses的用於建立終端GUI的應用程式。
  • Eel-一個用於製作簡單的類似於電子的離線HTML / JS GUI應用程式的庫。
  • enaml-使用宣告性語法(如QML)建立漂亮的使用者介面。
  • Flexx -Flexx是用於建立GUI的純Python工具包,它使用Web技術進行呈現。
  • Gooey-使用命令列將命令列程式轉換為完整的GUI應用程式。
  • kivy-用於建立NUI應用程式的庫,可在Windows,Linux,Mac OS X,Android和iOS上執行。
  • pyglet -Python的跨平臺視窗和多媒體庫。
  • PyGObject -GLib / GObject / GIO / GTK +(GTK + 3)的Python繫結。
  • PyQt - Qt跨平臺應用程式和UI框架的Python繫結。
  • PySimpleGUI - tkinter,Qt,WxPython和Remi的包裝。
  • pywebview-圍繞webview元件的輕量級跨平臺本機包裝器。
  • Tkinter -Tkinter是Python的事實上的標準GUI軟體包。
  • Toga -Python本機,OS本機GUI工具箱。
  • urwid-一個用於建立終端GUI應用程式的庫,該庫對小部件,事件,豐富的顏色等具有強大的支援。
  • wxPython -wxWidgets C ++類庫與Python的混合。
  • DearPyGui-一個簡單的GPU加速的Python GUI框架

很棒的遊戲開發庫。

  • Arcade -Arcade是一個現代Python框架,用於製作具有引人注目的圖形和聲音的遊戲。
  • Cocos2d -cocos2d是用於構建2D遊戲,演示和其他圖形/互動應用程式的框架。
  • Harfang3D-用於3D,VR和遊戲開發的Python框架。
  • Panda3D-迪士尼開發的3D遊戲引擎。
  • Pygame -Pygame是一組旨在編寫遊戲的Python模組。
  • PyOgre -Ogre 3D渲染引擎的Python繫結,可用於遊戲,模擬或任何3D。
  • PyOpenGL -OpenGL及其相關API的Python ctypes繫結。
  • PySDL2 -SDL2庫的基於ctypes的包裝器。
  • RenPy-一個視覺小說引擎

用於計劃作業的庫。

  • Airflow 氣流是一個以程式設計方式編寫,安排和監視工作流的平臺。
  • APScheduler-輕巧但功能強大的程式內任務計劃程式,可讓您計劃功能。
  • django-schedule -Django的日曆應用程式。
  • doit-一個任務執行器和構建工具。
  • gunnery -具有基於Web介面的分散式系統的多用途任務執行工具。
  • Joblib-一套在Python中提供輕量級流水線的工具。
  • Plan -像用吊飾一樣用Python編寫crontab檔案。
  • Prefect-一個現代的工作流程編排框架,可輕鬆構建,排程和監視強大的資料管道。
  • schedule-針對人類的Python作業排程。
  • Spiff-用純Python實現的功能強大的工作流引擎。
  • TaskFlow-一個Python庫,可幫助簡化,一致且可靠的任務執行

用於科學計算的圖書館。另請參見Python for-Scientists

  • astropy-天文學的社群Python庫。
  • bcbio-nextgen-提供最佳實踐流水線,用於全自動高通量測序分析。
  • bccb-收集與生物學分析有關的有用程式碼。
  • Biopython -Biopython是一套免費的生物計算工具。
  • cclib-一個用於解析和解釋計算化學程式包結果的庫。
  • Colour -實施大量的顏色理論轉換和演算法。
  • Karate Club -用於圖形結構化資料的無監督機器學習工具箱。
  • NetworkX-用於複雜網路的高生產率軟體。
  • NIPY-神經影像工具箱的集合。
  • NumPy-使用Python進行科學計算的基本軟體包。
  • ObsPy-地震學的Python工具箱。
  • Open Babel-一種化學工具箱,旨在講多種化學資料語言。
  • PyDy -Python Dynamics的縮寫,用於協助工作流進行動態運動建模。
  • PyMC-馬爾可夫鏈蒙特卡洛取樣工具包。
  • QuTiP -Python中的Quantum Toolbox。
  • RDKit-化學資訊學和機器學習軟體。
  • SciPy-用於數學,科學和工程的基於Python的開源軟體生態系統。
  • SimPy-一個基於過程的離散事件模擬框架。
  • statsmodels -Python中的統計建模和計量經濟學。
  • SymPy-一個用於符號數學的Python庫。
  • Zipline-一個Pythonic演算法交易庫。

RPC相容伺服器。


本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章