awesome-python - すばらしい Python フレームワーク、ライブラリ、ソフトウェア、およびリソースの精選されたリスト

(A curated list of awesome Python frameworks, libraries, software and resources)

Created at: 2014-06-28 05:00:06
Language: Python
License: NOASSERTION

素晴らしいパイソン素晴らしい

すばらしい Python フレームワーク、ライブラリ、ソフトウェア、およびリソースの精選されたリスト。

awesome-phpに触発されました。


管理パネル

管理インターフェース用のライブラリ。

  • ajenti - サーバーにふさわしい管理パネル.
  • django-grappelli - Django Admin-Interface のジャジースキン.
  • django-jet - 機能が改善された Django 管理インターフェース用のモダンなレスポンシブテンプレート.
  • django-suit - 代替の Django 管理インターフェース (非営利目的でのみ無料).
  • django-xadmin - Django admin のドロップイン代替品には, 多くの利点があります.
  • Flask -admin - Flask 用のシンプルで拡張可能な管理インターフェースフレームワーク.
  • flower - Celery のリアルタイムモニターと Web 管理.
  • jet-bridge - 素敵な UI (Jet Django など) を備えたアプリケーションの管理パネルフレームワーク.
  • wooey - Python スクリプト用の自動 Web UI を作成する Django アプリ.

アルゴリズムと設計パターン

データ構造、アルゴリズム、および設計パターンの Python 実装。awesome-algorithmsも参照してください。

  • アルゴリズム
    • アルゴリズム- データ構造とアルゴリズムの最小限の例.
    • python-ds - インタビューをコーディングするためのデータ構造とアルゴリズムのコレクション.
    • sortedcontainers - ソートされたコレクションの高速で純粋な Python 実装.
    • TheAlgorithms - Python で実装されたすべてのアルゴリズム.
  • デザインパターン
    • PyPattyrn - 一般的な設計パターンを実装するためのシンプルで効果的なライブラリ.
    • python-patterns - Python のデザインパターンのコレクション.
    • transitions - 軽量でオブジェクト指向の有限状態マシンの実装.

ASGI サーバー

ASGI互換の Web サーバー。

  • daphne - ASGI および ASGI-HTTP 用の HTTP, HTTP2 および WebSocket プロトコルサーバー.
  • uvicorn - uvloop と httptools を使用した超高速 ASGI サーバー実装.

非同期プログラミング

  • asyncio - (Python 標準ライブラリ) 非同期 I/O, イベントループ, コルーチンとタスク.
  • trio - 非同期同時実行と I/O のためのフレンドリーなライブラリ.
  • Twisted - イベント駆動型ネットワーク エンジン.
  • uvloop - 超高速非同期イベントループ.

オーディオ

オーディオとそのメタデータを操作するためのライブラリ。

  • オーディオ
    • audioread - クロスライブラリ (GStreamer + Core Audio + MAD + FFmpeg) オーディオデコード.
    • dejavu - オーディオのフィンガープリンティングと認識.
    • kapre - Keras オーディオプリプロセッサ.
    • librosa - オーディオおよび音楽分析用の Python ライブラリ.
    • matchering - 自動リファレンス オーディオ マスタリング用のライブラリ.
    • mingus - MIDI ファイルと再生をサポートする高度な音楽理論と記譜法パッケージ.
    • pyAudioAnalysis - オーディオ機能の抽出, 分類, セグメンテーションおよびアプリケーション.
    • pydub - シンプルで簡単な高レベルのインターフェースでオーディオを操作します.
    • TimeSide - オープン Web オーディオ処理フレームワーク.
  • メタデータ
    • beets - 音楽ライブラリマネージャーおよびMusicBrainzタガー.
    • eyeD3 - オーディオ ファイル、特に ID3 メタデータを含む MP3 ファイルを操作するためのツール。
    • mutagen - オーディオメタデータを処理する Python モジュール.
    • tinytag - MP3、OGG、FLAC、Wave ファイルの音楽メタデータを読み取るためのライブラリ。

認証

認証スキームを実装するためのライブラリ。

  • OAuth
    • authlib - JavaScript オブジェクトの署名と暗号化のドラフト実装.
    • django-allauth - 「ただ動く」Django 用の認証アプリ.
    • django-oauth-toolkit - Django の OAuth 2 グッズ.
    • oauthlib - OAuth リクエスト署名ロジックの一般的で完全な実装.
    • python-oauth2 - OAuth クライアントとサーバーを作成するための完全にテストされた抽象インターフェース.
    • python-social-auth - セットアップが簡単なソーシャル認証メカニズム.
  • JWT
    • pyjwt - Python での JSON Web トークンの実装.
    • python-jose - Python での JOSE 実装.
    • python-jwt - JSON Web トークンを生成および検証するためのモジュール.

ビルドツール

ソースコードからソフトウェアをコンパイルします。

  • BitBake - 組み込み Linux 用の make に似たビルド ツール.
  • buildout - 複数の部分からアプリケーションを作成, アセンブル, デプロイするためのビルドシステム.
  • PlatformIO - さまざまな開発プラットフォームでコードをビルドするためのコンソール ツール.
  • pybuilder - 純粋な Python で書かれた継続的なビルド ツール.
  • SCons - ソフトウェア構築ツール。

組み込みクラスの強化

Python 組み込みクラスを拡張するためのライブラリ。

  • attrs
    __init__
    - クラス定義の ,
    __eq__
    ,
    __repr__
    などのボイラープレートの置き換え.
  • bidict - 効率的で Pythonic の双方向マップデータ構造と関連機能..
  • Box - 高度なドット表記アクセスを備えた Python 辞書.
  • dataclasses - (Python 標準ライブラリ) データクラス.
  • DottedDict - ドット パス表記でリストとディクテーションにアクセスする方法を提供するライブラリ。

CMS

コンテンツ管理システム。

  • django-cms - Django に基づくオープンソースのエンタープライズ CMS.
  • feincms - Django 上に構築された最も高度なコンテンツ管理システムの 1 つ.
  • indico - @ CERNで作成された機能豊富なイベント管理システム.
  • Kotti - Pyramid 上に構築された高レベルの Pythonic Web アプリケーション フレームワーク.
  • mezzanine - 強力で一貫性のある柔軟なコンテンツ管理プラットフォーム.
  • plone - オープン ソース アプリケーション サーバー Zope の上に構築された CMS.
  • quokka - Flask と MongoDB を搭載した, 柔軟で拡張可能な小さな CMS.
  • wagtail - Django コンテンツ管理システム.

キャッシング

データをキャッシュするためのライブラリ。

  • beaker - セッションとキャッシングのための WSGI ミドルウェア.
  • django-cache-machine - Django モデルの自動キャッシングと無効化.
  • django-cacheops - イベント駆動型の自動無効化を備えた洗練された ORM キャッシュ.
  • dogpile.cache - dogpile.cache は、同じ作者によって作成された Beaker の次世代代替品です。
  • HermesCache - タグベースの無効化とドッグパイル効果防止を備えた Python キャッシング ライブラリ.
  • pylibmc - libmemcachedインターフェースの Python ラッパー.
  • python-diskcache - memcached や redis よりも高速なルックアップを備えた SQLite およびファイルに裏打ちされたキャッシュバックエンド.

ChatOps ツール

チャットボット開発用ライブラリ。

  • errbot - ChatOps を実装する最も簡単で最も人気のあるチャットボット.

コード分​​析

静的分析、リンター、コード品質チェッカーのツール。awesome-static-analysisも参照してください。

  • コード分​​析
    • coala - 言語に依存せず, 簡単に拡張できるコード分析アプリケーション.
    • code2flow - Python と JavaScript コードを DOT フローチャートに変換します.
    • prostor - Python コードを分析するためのツール.
    • pycallgraph - Python アプリケーションのフロー (コールグラフ) を視覚化するライブラリ.
    • vulture - 死んだ Python コードを見つけて分析するためのツール.
  • コードリンター
  • コードフォーマッター
    • black - 妥協のない Python コードフォーマッタ.
    • isort - インポートをソートするための Python ユーティリティ / ライブラリ.
    • yapf - Google のもう 1 つの Python コード フォーマッタ.
  • 静的型チェッカー、awesome-python-typingも参照
    • mypy - コンパイル時に変数の型をチェック.
    • pyre-check - パフォーマンスの高い型チェック.
    • typeshed - 静的型を持つ Python のライブラリスタブのコレクション.
  • 静的型注釈ジェネレーター
    • MonkeyType - ランタイム型を収集して静的型注釈を生成する Python 用のシステム.
    • pyannotate - PEP-484 アノテーションを自動生成します.
    • pytype - Pytype は Python コードの型をチェックして推論します.型注釈を必要としません.

コマンドライン インターフェイスの開発

コマンドライン アプリケーションを構築するためのライブラリ。

  • コマンドライン アプリケーション開発
    • セメント- Python 用の CLI アプリケーションフレームワーク.
    • click - 構成可能な方法で美しいコマンドラインインターフェースを作成するためのパッケージ.
    • - マルチレベルのコマンドでコマンドライン プログラムを作成するためのフレームワーク.
    • docopt - Pythonic コマンドライン引数パーサー.
    • python-fire - 絶対に任意の Python オブジェクトからコマンド ライン インターフェイスを作成するためのライブラリ.
    • python-prompt-toolkit - 強力なインタラクティブコマンドラインを構築するためのライブラリ.
  • 端末レンダリング
    • alive-progress - リアルタイムのスループット, エータ, 非常にクールなアニメーションを備えた, 新しい種類の進行状況バー.
    • asciimatics - フルスクリーンのテキスト UI (インタラクティブなフォームから ASCII アニメーションまで) を作成するためのパッケージ.
    • bashplotlib - ターミナルで基本的なプロットを作成.
    • colorama - クロスプラットフォームのカラーターミナルテキスト.
    • rich - ターミナルでのリッチテキストと美しい書式設定のための Python ライブラリ.
      RichHandler
      また、優れたログ ハンドラーも提供します。
    • tqdm - ループと CLI 用の高速で拡張可能なプログレスバー.

コマンドライン ツール

生産性向上に役立つ CLI ベースのツール。

  • 生産性向上ツール
    • copyer - プロジェクト テンプレートをレンダリングするためのライブラリおよびコマンドライン ユーティリティ.
    • cookiecutter - cookiecutter (プロジェクト テンプレート) からプロジェクトを作成するコマンドライン ユーティリティ。
    • doitlive - ターミナルでライブプレゼンテーションを行うためのツール.
    • howdoi - コマンドラインからのインスタントコーディング回答.
    • Invoke - シェル指向のサブプロセスを管理し, 実行可能な Python コードを CLI 呼び出し可能なタスクに編成するためのツール.
    • PathPicker - bash 出力からファイルを選択します。
    • percol - UNIX の伝統的なパイプの概念にインタラクティブな選択のフレーバーを追加します.
    • thefuck - 以前のコンソール コマンドを修正します。
    • tmuxp - tmuxセッションマネージャー.
    • try - Python パッケージを試すための非常にシンプルな CLI - かつてないほど簡単です.
  • CLI の機能強化
    • httpie - コマンドライン HTTP クライアント, ユーザーフレンドリーな cURL の代替品.
    • iredis - オートコンプリートと構文強調表示を備えた Redis CLI.
    • kube-shell - Kubernetes CLI を操作するための統合シェル.
    • litecli - オートコンプリートと構文強調表示を備えた SQLite CLI.
    • mycli - オートコンプリートと構文強調表示を備えた MySQL CLI.
    • pgcli - オートコンプリートと構文強調表示を備えた PostgreSQL CLI.
    • saws - スーパーチャージされたaws-cli .

互換性

Python 2 から 3 に移行するためのライブラリ。

  • python-future - Python 2 と Python 3 の間で欠落している互換性レイヤー.
  • modernize - 最終的な Python 3 移行のために Python コードを最新化します.
  • six - Python 2 および 3 互換ユーティリティ.

コンピュータビジョン

コンピューター ビジョンのライブラリ。

  • EasyOCR - 40 以上の言語をサポートするすぐに使える OCR.
  • Face Recognition - シンプルな顔認識ライブラリ.
  • Kornia - PyTorch 用のオープン ソースの微分可能なコンピューター ビジョン ライブラリ.
  • OpenCV - オープン ソースのコンピューター ビジョン ライブラリ。
  • pytesseract - Google Tesseract OCRのラッパー.
  • SimpleCV - コンピューター ビジョン アプリケーションを構築するためのオープン ソース フレームワーク.
  • tesserocr
    tesseract-ocr
    - OCR 用 APIのもう 1 つのシンプルでピローフレンドリーなラッパー.

並行性と並列性

同時実行および並列実行用のライブラリ。awesome-asyncioも参照してください。

  • concurrent.futures - (Python 標準ライブラリ) callable を非同期に実行するための高レベルのインターフェース.
  • eventlet - WSGI をサポートする非同期フレームワーク.
  • gevent - greenletを使用するコルーチンベースの Python ネットワーキング ライブラリ.
  • multiprocessing - (Python 標準ライブラリ) プロセスベースの並列処理.
  • scoop - Python でのスケーラブルな同時操作.
  • uvloop
    asyncio
    -上のイベントループの超高速実装
    libuv
    .

構成

構成オプションを保存および解析するためのライブラリ。

  • configobj - 検証付きの INI ファイルパーサー.
  • configparser - (Python 標準ライブラリ) INI ファイルパーサー.
  • hydra - Hydra は, 複雑なアプリケーションをエレガントに構成するためのフレームワークです.
  • profig - 値変換を使用して複数の形式から構成します.
  • python-decouple - コードから設定を厳密に分離.

暗号化

  • cryptography - 暗号プリミティブとレシピを Python 開発者に公開するために設計されたパッケージ.
  • paramiko - 主要なネイティブ Python SSHv2 プロトコル ライブラリ.
  • passlib - 安全なパスワードストレージ/ハッシュライブラリ, 非常に高レベル.
  • pynacl - Networking and Cryptography (NaCl) ライブラリへの Python バインディング.

データ分析

データ分析用のライブラリ。

  • AWS Data Wrangler - AWS 上のパンダ。
  • Blaze - ビッグデータへの NumPy および Pandas インターフェース.
  • Open Mining - Pandas インターフェイスでのビジネス インテリジェンス (BI)。
  • Optimus - PySpark で簡単にできるアジャイル データ サイエンス ワークフロー.
  • オレンジ- ビジュアル プログラミングまたはスクリプトによるデータ マイニング、データの視覚化、分析、および機械学習。
  • Pandas - 高性能で使いやすいデータ構造とデータ分析ツールを提供するライブラリ.

データ検証

データを検証するためのライブラリ。多くの場合、フォームに使用されます。

  • Cerberus - 軽量で拡張可能なデータ検証ライブラリ.
  • colander - XML, JSON, HTML フォーム投稿を介して取得したデータを検証および逆シリアル化します.
  • jsonschema - Python 用のJSON スキーマの実装.
  • schema - Python データ構造を検証するためのライブラリ.
  • Schematics - データ構造の検証。
  • valideer - 軽量で拡張可能なデータ検証および適応ライブラリ.
  • voluptuous - Python データ検証ライブラリ.

データの可視化

データを視覚化するためのライブラリ。awesome-javascriptも参照してください。

  • Altair - Python 用の宣言型統計視覚化ライブラリ.
  • Bokeh - Python 用のインタラクティブな Web プロッティング.
  • bqplot - Jupyter Notebook 用のインタラクティブなプロット ライブラリ.
  • Cartopy - matplotlib をサポートする地図作成用の Python ライブラリ.
  • Dash - Flask, React, Plotly の上に構築され, 分析 Web アプリケーションを目的としています.
  • ダイアグラム- コードとしてのダイアグラム。
  • Matplotlib - Python 2D プロット ライブラリ.
  • plotnine - ggplot2 に基づく Python 用のグラフィックスの文法.
  • Pygal - Python SVG チャート作成者.
  • PyGraphviz - Graphvizへの Python インターフェイス。
  • PyQtGraph - インタラクティブでリアルタイムの 2D/3D/画像プロットおよび科学/工学ウィジェット.
  • Seaborn - Matplotlib を使用した統計データの視覚化.
  • VisPy - OpenGL に基づく高性能の科学的視覚化.

データベース

Python で実装されたデータベース。

  • pickleDB - Python 用のシンプルで軽量なキー値ストア.
  • tinydb - 小さな, ドキュメント指向のデータベース.
  • ZODB - Python のネイティブ オブジェクト データベース. キー値およびオブジェクト グラフ データベース。

データベース ドライバー

データベースを接続して操作するためのライブラリ。

  • MySQL - awesome-mysql
    • mysqlclient - Python 3 をサポートする MySQL コネクタ ( mysql-pythonフォーク).
    • PyMySQL - mysql-python と互換性のある純粋な Python MySQL ドライバー.
  • PostgreSQL - awesome-postgres
    • psycopg2 - Python 用の最も人気のある PostgreSQL アダプター.
    • query - PostgreSQL とやり取りするための psycopg2 ライブラリのラッパー.
  • SQlite -素晴らしい-sqlite
    • sqlite3 - (Python 標準ライブラリ) DB-API 2.0 に準拠した SQlite インターフェイス
    • SuperSQLite - apswの上に構築されたスーパーチャージされた SQLite ライブラリ.
  • その他のリレーショナル データベース
    • pymssql - Microsoft SQL Server への単純なデータベース インターフェース.
    • clickhouse-driver - ClickHouse のネイティブインターフェースを備えた Python ドライバー.
  • NoSQL データベース
    • cassandra-driver - Apache Cassandra 用の Python ドライバー.
    • happybase - Apache HBase の開発者向けライブラリ.
    • kafka-python - Apache Kafka の Python クライアント.
    • py2neo - Neo4j を操作するためのクライアント ライブラリとツールキット.
    • pymongo - MongoDB の公式 Python クライアント.
    • redis-py - Redis 用の Python クライアント.
  • 非同期クライアント
    • motor - MongoDB 用の非同期 Python ドライバ.

日時

日付と時刻を操作するためのライブラリ。

  • Arrow - 日付、時刻、タイムスタンプを作成、操作、フォーマット、変換するための賢明で人間に優しいアプローチを提供する Python ライブラリ.
  • Chronyk - 人間が書いた時刻と日付を解析するための Python 3 ライブラリ.
  • dateutil - 標準の Python datetimeモジュールの拡張.
  • delorean - datetime を扱う際に発生する不都合な真実を解決するためのライブラリ.
  • maya - 人間の日時.
  • moment - 日付/時刻を扱うための Python ライブラリ. Moment.jsに触発されました。
  • Pendulum - Python の日時を簡単に作成.
  • PyTime - 日付/時刻/日時を文字列で操作することを目的とした使いやすい Python モジュール.
  • pytz - 世界のタイムゾーンの定義, 現代と歴史. tzデータベースを Python に取り込みます。
  • when.py - 一般的な日付と時刻のアクションを実行するのに役立つユーザーフレンドリーな関数を提供します.

デバッグ ツール

コードをデバッグするためのライブラリ。

  • pdb ライクなデバッガ
    • ipdb - IPython 対応のpdb .
    • pdb++ - pdb の別のドロップイン代替.
    • pudb - フルスクリーンのコンソールベースの Python デバッガ.
    • wdb - WebSockets を介したありそうもない Web デバッガ.
  • トレース
    • lptrace - Python プログラムのstrace .
    • manhole - UNIX ソケット接続をデバッグし, すべてのスレッドのスタックトレースとインタラクティブなプロンプトを表示します.
    • pyringe - Python プロセスにアタッチしてコードを挿入できるデバッガ.
    • python-hunter - 柔軟なコード追跡ツールキット.
  • プロファイラー
    • line_profiler - 行ごとのプロファイリング.
    • memory_profiler - Python コードのメモリ使用量を監視します.
    • py-spy - Python プログラム用のサンプリングプロファイラー. Rust で書かれています。
    • pyflame - Python 用のトレースプロファイラー.
    • vprof - Visual Python プロファイラー.
  • その他
    • django-debug-toolbar - Django のさまざまなデバッグ情報を表示します.
    • django-devserver - Django の runserver のドロップイン置換.
    • Flask-debugtoolbar - django-debug-toolbar をフラスコに移植したもの.
    • icecream - 単一の単純な関数呼び出しで変数, 式, プログラムの実行を検査します.
    • pyelftools - ELF ファイルと DWARF デバッグ情報の解析と分析.

ディープラーニング

ニューラル ネットワークとディープ ラーニングのフレームワーク。awesome-deep-learningも参照してください。

  • caffe - ディープラーニング用の高速オープンフレームワーク..
  • keras - 高レベルのニューラル ネットワーク ライブラリであり, TensorFlow または Theano 上で実行できます.
  • mxnet - 効率と柔軟性の両方のために設計された深層学習フレームワーク.
  • pytorch - 強力な GPU アクセラレーションを備えた Python のテンソルと動的ニューラル ネットワーク.
  • SerpentAI - ゲームエージェントフレームワーク. ビデオ ゲームをディープ ラーニング サンドボックスとして使用します。
  • tensorflow - Google によって作成された最も人気のあるディープ ラーニング フレームワーク.
  • Theano - 高速数値計算用のライブラリ.

DevOps ツール

DevOps 用のソフトウェアとライブラリ。

  • 構成管理
    • ansible - 根本的にシンプルな IT 自動化プラットフォーム.
    • cloudinit - クラウド インスタンスの早期初期化を処理するマルチディストリビューション パッケージ.
    • OpenStack - プライベート クラウドとパブリック クラウドを構築するためのオープン ソース ソフトウェア.
    • pyinfra - インフラストラクチャを自動化するための汎用 CLI ツールと Python ライブラリ.
    • saltstack - インフラストラクチャの自動化および管理システム.
  • SSH スタイルの展開
    • cooking - Fabric の Chef のような機能.
    • fabric - リモート実行とデプロイのためのシンプルな Python ツール.
    • fabtools - すばらしい Fabric ファイルを作成するためのツール.
  • プロセス管理
    • honcho - Procfile ベースのアプリケーションを管理するためのForemanの Python クローン.
    • Supervisor - UNIX 用のスーパーバイザ プロセス制御システム
  • モニタリング
    • psutil - クロスプラットフォームのプロセスおよびシステム ユーティリティ モジュール.
  • バックアップ
    • BorgBackup - 圧縮と暗号化を備えた重複排除アーカイバ.
  • その他

分散コンピューティング

分散コンピューティング用のフレームワークとライブラリ。

  • バッチ処理
    • dask - 分析コンピューティング用の柔軟な並列コンピューティング ライブラリ.
    • luigi - バッチジョブの複雑なパイプラインを構築するのに役立つモジュール.
    • mrjob - Hadoop または Amazon Web Services で MapReduce ジョブを実行します.
    • PySpark - Apache Spark Python API.
    • Ray - 機械学習エコシステムを統合する並列および分散 Python のシステム.
  • ストリーム処理
    • faust - Kafka Streamsから Pythonにアイデアを移植するストリーム処理ライブラリ.
    • streamparse - Apache Stormを介してリアルタイムのデータ ストリームに対して Python コードを実行します.

分布

リリース配布用のパッケージ化された実行可能ファイルを作成するためのライブラリ。

  • dh-virtualenv - virtualenv を Debian パッケージとしてビルドして配布します.
  • Nuitka - スクリプト, モジュール, パッケージを実行可能モジュールまたは拡張モジュールにコンパイルします.
  • py2app - Python スクリプトをフリーズします (Mac OS X).
  • py2exe - Python スクリプトをフリーズします (Windows).
  • pyarmor - Python スクリプトを難読化したり, 難読化されたスクリプトを固定マシンにバインドしたり, 難読化されたスクリプトを期限切れにしたりするために使用されるツール.
  • PyInstaller - Python プログラムをスタンドアロンの実行可能ファイル (クロスプラットフォーム) に変換します.
  • pynsist - Windows インストーラーをビルドするためのツール, インストーラーは Python 自体をバンドルします.
  • shiv - 完全に自己完結型の zipapp (PEP 441) を構築するためのコマンドラインユーティリティですが, すべての依存関係が含まれています.

ドキュメンテーション

プロジェクト ドキュメントを生成するためのライブラリ。

  • sphinx - Python ドキュメントジェネレータ.
  • pdoc - Python ライブラリの API ドキュメントを自動生成する Epydoc の代替.
  • pycco - リテラル プログラミング スタイルのドキュメント ジェネレーター.

ダウンローダー

ダウンロード用のライブラリ。

  • akshare - 人間のために構築された金融データインターフェースライブラリ!
  • s3cmd - Amazon S3 と CloudFront を管理するためのコマンドライン ツール.
  • s4cmd - スーパー S3 コマンドラインツール, より高いパフォーマンスに適しています.
  • you-get - Python 3 で書かれた YouTube/Youku/Niconico ビデオダウンローダー.
  • youtube-dl - YouTube から動画をダウンロードするための小さなコマンドライン プログラム.

電子商取引

電子商取引と支払いのためのフレームワークとライブラリ。

  • alipay - Python 用の非公式の Alipay API.
  • Cartridge - Mezzanine を使用して構築されたショッピング カート アプリ。
  • django-oscar - Django 用のオープンソースの電子商取引フレームワーク.
  • django-shop - Django ベースのショップシステム.
  • forex-python - 外国為替レート, ビットコイン価格指数と通貨換算.
  • 商人- さまざまな支払い処理業者からの支払いを受け入れる Django アプリ.
  • money -
    Money
    オプションの CLDR に基づくロケール対応の書式設定と拡張可能な通貨交換を備えたクラス。
  • python-currencies - 通貨の形式とその汚れた通貨を表示します.
  • saleor - Django の e コマースストアフロント.
  • shoop - Django に基づくオープンソースの E コマースプラットフォーム.

エディターのプラグインと IDE

  • Emacs
    • elpy - Emacs Python 開発環境.
  • 崇高なテキスト
    • anaconda - Anaconda は, Sublime Text 3 をフル機能の Python 開発 IDE に変換します.
    • SublimeJEDI - 素晴らしいオートコンプリート ライブラリ Jedi への Sublime Text プラグイン.
  • ヴィム
    • jedi-vim - Python 用 Jedi 自動補完ライブラリの Vim バインディング.
    • python-mode - Vim を Python IDE に変えるオールインワンプラグイン.
    • YouCompleteMe - Python 用のJediベースの補完エンジンが含まれています.
  • ビジュアルスタジオ
    • PTVS - Visual Studio 用の Python ツール。
  • ビジュアル スタジオ コード
    • Python - Python を豊富にサポートする公式の VSCode 拡張機能.
  • IDE
    • PyCharm - JetBrains による商用 Python IDE. 無料のコミュニティ エディションが利用可能です。
    • spyder - オープンソースの Python IDE.

Eメール

電子メールを送信および解析するためのライブラリ。

  • メールサーバー
    • modoboa - 最新の Web UI を含むメールホスティングおよび管理プラットフォーム.
    • サーモン- Python メールサーバー.
  • クライアント
    • imbox - 人間のための Python IMAP.
    • yagmail - さらに別の Gmail/SMTP クライアント.
  • その他
    • flanker - メールアドレスと Mime 解析ライブラリ.
    • mailer - 高性能で拡張可能なメール配信フレームワーク.

エンタープライズ アプリケーションの統合

エンタープライズ環境でのシステム統合のためのプラットフォームとツール

  • Zato - Python での ESB, SOA, REST, API, Cloud Integrations.

環境管理

Python のバージョンと仮想環境を管理するためのライブラリ。

  • pyenv - シンプルな Python バージョン管理.
  • virtualenv - 分離された Python 環境を作成するためのツール.

ファイル

ファイル操作と MIME タイプ検出用のライブラリ。

  • mimetypes - (Python 標準ライブラリ) ファイル名を MIME タイプにマップします.
  • path.py - os.pathのモジュール ラッパー。
  • pathlib - (Python 標準ライブラリ) クロスプラットフォームのオブジェクト指向パス ライブラリ.
  • PyFilesystem2 - Python のファイルシステム抽象レイヤー.
  • python-magic - libmagic ファイルタイプ識別ライブラリへの Python インターフェース.
  • Unipath - ファイル/ディレクトリ操作に対するオブジェクト指向のアプローチ.
  • watchdog - ファイルシステムイベントを監視するための API およびシェルユーティリティ.

外部関数インターフェイス

外部関数インターフェースを提供するためのライブラリ。

  • cffi - C コードを呼び出す Python の外部関数インターフェイス.
  • ctypes - (Python 標準ライブラリ) C コードを呼び出す Python の外部関数インターフェイス.
  • PyCUDA - Nvidia の CUDA API の Python ラッパー.
  • SWIG - 簡素化されたラッパーとインターフェイス ジェネレーター.

フォーム

フォームを操作するためのライブラリ。

  • Deform - Formish フォーム生成ライブラリの影響を受けた Python HTML フォーム生成ライブラリ.
  • django-bootstrap3 - Django との Bootstrap 3 統合.
  • django-bootstrap4 - Django との Bootstrap 4 統合.
  • django-crispy-forms - 非常にエレガントで DRY な方法で美しいフォームを作成できる Django アプリ.
  • django-remote-forms - プラットフォームに依存しない Django フォームシリアライザ.
  • WTForms - 柔軟なフォーム検証およびレンダリング ライブラリ.

関数型プログラミング

Python を使用した関数型プログラミング。

  • Coconut - シンプルでエレガントな Python 関数型プログラミング用に構築された Python のバリアント.
  • CyToolz - の Cython 実装
    Toolz
    : 高性能機能ユーティリティ.
  • fn.py - Python での関数型プログラミング: FP を楽しむための不足している機能の実装.
  • funcy - ファンシーで実用的な機能ツール.
  • more-itertools - iterable を操作するためのより多くのルーチン
    itertools
    .
  • returns - タイプセーフなモナド、トランスフォーマー、合成ユーティリティのセット.
  • Toolz - イテレータ, 関数, 辞書用の関数ユーティリティのコレクション.

GUI開発

グラフィカル ユーザー インターフェイス アプリケーションを操作するためのライブラリ。

  • curses -ターミナル GUI アプリケーションの作成に使用されるncursesの組み込みラッパー.
  • Eel - シンプルな Electron のようなオフライン HTML/JS GUI アプリを作成するためのライブラリ.
  • enaml - QML のような宣言型構文を使用した美しいユーザーインターフェイスの作成.
  • Flexx - Flexx は, GUI を作成するための純粋な Python ツールキットであり, レンダリングに Web テクノロジーを使用します.
  • Gooey - コマンドライン プログラムを 1 行で完全な GUI アプリケーションに変換します.
  • kivy - A library for creating NUI applications, running on Windows, Linux, Mac OS X, Android and iOS.
  • pyglet - A cross-platform windowing and multimedia library for Python.
  • PyGObject - Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3).
  • PyQt - Python bindings for the Qt cross-platform application and UI framework.
  • PySimpleGUI - Wrapper for tkinter, Qt, WxPython and Remi.
  • pywebview - A lightweight cross-platform native wrapper around a webview component.
  • Tkinter - Tkinter is Python's de-facto standard GUI package.
  • Toga - A Python native, OS native GUI toolkit.
  • urwid - A library for creating terminal GUI applications with strong support for widgets, events, rich colors, etc.
  • wxPython - A blending of the wxWidgets C++ class library with the Python.
  • DearPyGui - A Simple GPU accelerated Python GUI framework

GraphQL

Libraries for working with GraphQL.

  • graphene - GraphQL framework for Python.
  • tartiflette-aiohttp - An
    aiohttp
    -based wrapper for Tartiflette to expose GraphQL APIs over HTTP.
  • tartiflette-asgi - ASGI support for the Tartiflette GraphQL engine.
  • tartiflette - SDL-first GraphQL engine implementation for Python 3.6+ and asyncio.

Game Development

Awesome game development libraries.

  • Arcade - Arcade is a modern Python framework for crafting games with compelling graphics and sound.
  • Cocos2d - cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications.
  • Harfang3D - Python framework for 3D, VR and game development.
  • Panda3D - 3D game engine developed by Disney.
  • Pygame - Pygame is a set of Python modules designed for writing games.
  • PyOgre - Python bindings for the Ogre 3D render engine, can be used for games, simulations, anything 3D.
  • PyOpenGL - Python ctypes bindings for OpenGL and it's related APIs.
  • PySDL2 - A ctypes based wrapper for the SDL2 library.
  • RenPy - A Visual Novel engine.

Geolocation

Libraries for geocoding addresses and working with latitudes and longitudes.

  • django-countries - A Django app that provides a country field for models and forms.
  • GeoDjango - A world-class geographic web framework.
  • GeoIP - Python API for MaxMind GeoIP Legacy Database.
  • geojson - Python bindings and utilities for GeoJSON.
  • geopy - Python Geocoding Toolbox.

HTML Manipulation

Libraries for working with HTML and XML.

  • BeautifulSoup - Providing Pythonic idioms for iterating, searching, and modifying HTML or XML.
  • bleach - A whitelist-based HTML sanitization and text linkification library.
  • cssutils - A CSS library for Python.
  • html5lib - A standards-compliant library for parsing and serializing HTML documents and fragments.
  • lxml - A very fast, easy-to-use and versatile library for handling HTML and XML.
  • MarkupSafe - Implements a XML/HTML/XHTML Markup safe string for Python.
  • pyquery - A jQuery-like library for parsing HTML.
  • untangle - Converts XML documents to Python objects for easy access.
  • WeasyPrint - A visual rendering engine for HTML and CSS that can export to PDF.
  • xmldataset - Simple XML Parsing.
  • xmltodict - Working with XML feel like you are working with JSON.

HTTP Clients

Libraries for working with HTTP.

  • grequests - requests + gevent for asynchronous HTTP requests.
  • httplib2 - Comprehensive HTTP client library.
  • httpx - A next generation HTTP client for Python.
  • requests - HTTP Requests for Humans.
  • treq - Python requests like API built on top of Twisted's HTTP client.
  • urllib3 - A HTTP library with thread-safe connection pooling, file post support, sanity friendly.

Hardware

Libraries for programming with hardware.

  • ino - Command line toolkit for working with Arduino.
  • keyboard - Hook and simulate global keyboard events on Windows and Linux.
  • mouse - Hook and simulate global mouse events on Windows and Linux.
  • Pingo - Pingo provides a uniform API to program devices like the Raspberry Pi, pcDuino, Intel Galileo, etc.
  • PyUserInput - A module for cross-platform control of the mouse and keyboard.
  • scapy - A brilliant packet manipulation library.

Image Processing

Libraries for manipulating images.

  • hmap - Image histogram remapping.
  • imgSeek - A project for searching a collection of images using visual similarity.
  • nude.py - Nudity detection.
  • pagan - Retro identicon (Avatar) generation based on input string and hash.
  • pillow - Pillow is the friendly PIL fork.
  • python-barcode - Create barcodes in Python with no extra dependencies.
  • pygram - Instagram-like image filters.
  • PyMatting - A library for alpha matting.
  • python-qrcode - A pure Python QR Code generator.
  • pywal - A tool that generates color schemes from images.
  • pyvips - A fast image processing library with low memory needs.
  • Quads - Computer art based on quadtrees.
  • scikit-image - A Python library for (scientific) image processing.
  • thumbor - A smart imaging service. It enables on-demand crop, re-sizing and flipping of images.
  • wand - Python bindings for MagickWand, C API for ImageMagick.

Implementations

Implementations of Python.

  • CLPython - Implementation of the Python programming language written in Common Lisp.
  • CPython - Default, most widely used implementation of the Python programming language written in C.
  • Cython - Optimizing Static Compiler for Python.
  • Grumpy - More compiler than interpreter as more powerful CPython2.7 replacement (alpha).
  • IronPython - Implementation of the Python programming language written in C#.
  • Jython - Implementation of Python programming language written in Java for the JVM.
  • MicroPython - A lean and efficient Python programming language implementation.
  • Numba - Python JIT compiler to LLVM aimed at scientific Python.
  • PeachPy - x86-64 assembler embedded in Python.
  • Pyjion - A JIT for Python based upon CoreCLR.
  • PyPy - A very fast and compliant implementation of the Python language.
  • Pyston - A Python implementation using JIT techniques.
  • Stackless Python - An enhanced version of the Python programming language.

Interactive Interpreter

Interactive Python interpreters (REPL).

Internationalization

Libraries for working with i18n.

  • Babel - An internationalization library for Python.
  • PyICU - A wrapper of International Components for Unicode C++ library (ICU).

Job Scheduler

Libraries for scheduling jobs.

  • Airflow - Airflow is a platform to programmatically author, schedule and monitor workflows.
  • APScheduler - A light but powerful in-process task scheduler that lets you schedule functions.
  • django-schedule - A calendaring app for Django.
  • doit - A task runner and build tool.
  • gunnery - Multipurpose task execution tool for distributed systems with web-based interface.
  • Joblib - A set of tools to provide lightweight pipelining in Python.
  • Plan - Writing crontab file in Python like a charm.
  • Prefect - 堅牢なデータ パイプラインの構築、スケジュール、監視を容易にする最新のワークフロー オーケストレーション フレームワーク.
  • schedule - 人間のための Python ジョブスケジューリング.
  • Spiff - 純粋な Python で実装された強力なワークフロー エンジン.
  • TaskFlow - タスクの実行を容易にし, 一貫性と信頼性を高めるのに役立つ Python ライブラリ.

ロギング

ログを生成して操作するためのライブラリ。

  • logbook - Python のロギング代替.
  • logging - (Python 標準ライブラリ) Python のロギング機能.
  • loguru - Python で楽しいロギングを実現することを目的としたライブラリ.
  • sentry-python - Python 用 Sentry SDK.
  • structlog - 構造化されたロギングが簡単になりました.

機械学習

機械学習用のライブラリ。awesome-machine-learningも参照してください。

  • gym - 強化学習アルゴリズムを開発および比較するためのツールキット.
  • H2O - オープンソースの高速でスケーラブルな機械学習プラットフォーム.
  • メトリクス- 機械学習評価メトリクス。
  • NuPIC - インテリジェント コンピューティングのための Numenta プラットフォーム。
  • scikit-learn - 機械学習用の最も人気のある Python ライブラリ.
  • Spark ML - Apache Sparkのスケーラブルな Machine Learning ライブラリ。
  • vowpal_porpoise - Vowpal Wabbitの軽量 Python ラッパー.
  • xgboost - スケーラブルでポータブルな分散型勾配ブースティング ライブラリ.
  • MindsDB - MindsDB は既存のデータベース用のオープン ソース AI レイヤーであり、標準クエリを使用して最先端の機械学習モデルを簡単に開発、トレーニング、デプロイできます。

マイクロソフトウィンドウズ

Microsoft Windows での Python プログラミング。

  • Python(x,y) - Qt と Spyder に基づく科学アプリケーション指向の Python ディストリビューション.
  • pythonlibs - Python 拡張パッケージ用の非公式 Windows バイナリ.
  • PythonNet - .NET 共通言語ランタイム (CLR) との Python 統合。
  • PyWin32 - Windows 用の Python 拡張.
  • WinPython - Windows 7/8 用のポータブル開発環境.

その他

上記のカテゴリに当てはまらない便利なライブラリまたはツール。

  • blinker - 高速な Python インプロセス シグナル/イベント ディスパッチ システム.
  • Boltons - 純粋な Python ユーティリティのセット.
  • itsdangerous - 信頼できるデータを信頼できない環境に渡すためのさまざまなヘルパー.
  • magenta - 人工知能を使用して音楽とアートを生成するツール.
  • pluginbase - Python 用のシンプルだが柔軟なプラグインシステム.
  • tryton - 汎用ビジネスフレームワーク.

自然言語処理

人間の言語を扱うためのライブラリ。

  • 全般的
    • gensim - 人間のためのトピックモデリング.
    • langid.py - スタンドアロンの言語識別システム.
    • nltk - 人間の言語データを扱う Python プログラムを構築するための主要なプラットフォーム.
    • pattern - ウェブマイニングモジュール.
    • polyglot - 何百もの言語をサポートする自然言語パイプライン.
    • pytext - PyTorch に基づく自然言語モデリング フレームワーク.
    • PyTorch-NLP - 研究用の迅速な深層学習 NLP プロトタイピングを可能にするツールキット.
    • spacy - Python と Cython での産業用強度の自然言語処理のためのライブラリ.
    • Stanza - Stanford NLP Group の公式 Python ライブラリで, 60 以上の言語をサポートしています.
  • 中国語
    • funNLP - 中国語 NLP のツールとデータセットのコレクション.
    • jieba - 最も人気のある中国語テキストセグメンテーションライブラリ.
    • pkuseg-python - さまざまなドメインでの中国語の単語セグメンテーションのためのツールキット.
    • snownlp - 中国語テキストを処理するためのライブラリ.

ネットワーク仮想化

Tools and libraries for Virtual Networking and SDN (Software Defined Networking).

  • mininet - A popular network emulator and API written in Python.
  • napalm - Cross-vendor API to manipulate network devices.
  • pox - A Python-based SDN control applications, such as OpenFlow SDN controllers.

News Feed

Libraries for building user's activities.

ORM

Libraries that implement Object-Relational Mapping or data mapping techniques.

  • Relational Databases
    • Django Models - The Django ORM.
    • SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper.
    • dataset - Store Python dicts in a database - works with SQLite, MySQL, and PostgreSQL.
    • orator - The Orator ORM provides a simple yet beautiful ActiveRecord implementation.
    • orm - An async ORM.
    • peewee - A small, expressive ORM.
    • pony - ORM that provides a generator-oriented interface to SQL.
    • pydal - A pure Python Database Abstraction Layer.
  • NoSQL Databases
    • hot-redis - Rich Python data types for Redis.
    • mongoengine - A Python Object-Document-Mapper for working with MongoDB.
    • PynamoDB - A Pythonic interface for Amazon DynamoDB.
    • redisco - A Python Library for Simple Models and Containers Persisted in Redis.

Package Management

Libraries for package and dependency management.

  • pip - The package installer for Python.
    • pip-tools - A set of tools to keep your pinned Python dependencies fresh.
    • PyPI
  • conda - Cross-platform, Python-agnostic binary package manager.
  • poetry - Python dependency management and packaging made easy.

Package Repositories

Local PyPI repository server and proxies.

  • bandersnatch - PyPI mirroring tool provided by Python Packaging Authority (PyPA).
  • devpi - PyPI server and packaging/testing/release tool.
  • localshop - Local PyPI server (custom packages and auto-mirroring of pypi).
  • warehouse - Next generation Python Package Repository (PyPI).

Penetration Testing

Frameworks and tools for penetration testing.

  • fsociety - A Penetration testing framework.
  • setoolkit - A toolkit for social engineering.
  • sqlmap - Automatic SQL injection and database takeover tool.

Permissions

Libraries that allow or deny users access to data or functionality.

  • django-guardian - Implementation of per object permissions for Django 1.2+
  • django-rules - A tiny but powerful app providing object-level permissions to Django, without requiring a database.

Processes

Libraries for starting and communicating with OS processes.

Recommender Systems

Libraries for building recommender systems.

  • annoy - Approximate Nearest Neighbors in C++/Python optimized for memory usage.
  • fastFM - A library for Factorization Machines.
  • implicit - A fast Python implementation of collaborative filtering for implicit datasets.
  • libffm - A library for Field-aware Factorization Machine (FFM).
  • lightfm - A Python implementation of a number of popular recommendation algorithms.
  • spotlight - Deep recommender models using PyTorch.
  • Surprise - A scikit for building and analyzing recommender systems.
  • tensorrec - A Recommendation Engine Framework in TensorFlow.

Refactoring

Refactoring tools and libraries for Python

  • Bicycle Repair Man - Bicycle Repair Man, a refactoring tool for Python.
  • Bowler - Safe code refactoring for modern Python.
  • Rope - Rope is a python refactoring library.

RESTful API

Libraries for building RESTful APIs.

  • Django
  • Flask
    • eve - REST API framework powered by Flask, MongoDB and good intentions.
    • flask-api - Browsable Web APIs for Flask.
    • flask-restful - Quickly building REST APIs for Flask.
  • Pyramid
    • cornice - A RESTful framework for Pyramid.
  • Framework agnostic
    • apistar - A smart Web API framework, designed for Python 3.
    • falcon - A high-performance framework for building cloud APIs and web app backends.
    • fastapi - A modern, fast, web framework for building APIs with Python 3.6+ based on standard Python type hints.
    • hug - A Python 3 framework for cleanly exposing APIs.
    • sandman2 - Automated REST APIs for existing database-driven systems.
    • sanic - A Python 3.6+ web server and web framework that's written to go fast.
    • vibora - Fast, efficient and asynchronous Web framework inspired by Flask.

Robotics

Libraries for robotics.

  • PythonRobotics - This is a compilation of various robotics algorithms with visualizations.
  • rospy - This is a library for ROS (Robot Operating System).

RPC Servers

RPC-compatible servers.

  • RPyC (Remote Python Call) - A transparent and symmetric RPC library for Python
  • zeroRPC - zerorpc is a flexible RPC implementation based on ZeroMQ and MessagePack.

Science

Libraries for scientific computing. Also see Python-for-Scientists.

  • astropy - A community Python library for Astronomy.
  • bcbio-nextgen - Providing best-practice pipelines for fully automated high throughput sequencing analysis.
  • bccb - Collection of useful code related to biological analysis.
  • Biopython - Biopython is a set of freely available tools for biological computation.
  • cclib - A library for parsing and interpreting the results of computational chemistry packages.
  • Colour - Implementing a comprehensive number of colour theory transformations and algorithms.
  • Karate Club - Unsupervised machine learning toolbox for graph structured data.
  • NetworkX - A high-productivity software for complex networks.
  • NIPY - A collection of neuroimaging toolkits.
  • NumPy - A fundamental package for scientific computing with Python.
  • ObsPy - A Python toolbox for seismology.
  • Open Babel - A chemical toolbox designed to speak the many languages of chemical data.
  • PyDy - Short for Python Dynamics, used to assist with workflow in the modeling of dynamic motion.
  • PyMC - Markov Chain Monte Carlo sampling toolkit.
  • QuTiP - Quantum Toolbox in Python.
  • RDKit - Cheminformatics and Machine Learning Software.
  • SciPy - A Python-based ecosystem of open-source software for mathematics, science, and engineering.
  • SimPy - A process-based discrete-event simulation framework.
  • statsmodels - Statistical modeling and econometrics in Python.
  • SymPy - A Python library for symbolic mathematics.
  • Zipline - A Pythonic algorithmic trading library.

Search

Libraries and software for indexing and performing search queries on data.

Serialization

Libraries for serializing complex data types

Serverless Frameworks

Frameworks for developing serverless Python code.

  • python-lambda - A toolkit for developing and deploying Python code in AWS Lambda.
  • Zappa - A tool for deploying WSGI applications on AWS Lambda and API Gateway.

Shell

Shells based on Python.

  • xonsh - A Python-powered, cross-platform, Unix-gazing shell language and command prompt.

Specific Formats Processing

Libraries for parsing and manipulating specific text formats.

  • General
    • tablib - A module for Tabular Datasets in XLS, CSV, JSON, YAML.
  • Office
    • docxtpl - Editing a docx document by jinja2 template
    • openpyxl - A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.
    • pyexcel - Providing one API for reading, manipulating and writing csv, ods, xls, xlsx and xlsm files.
    • python-docx - Reads, queries and modifies Microsoft Word 2007/2008 docx files.
    • python-pptx - Python library for creating and updating PowerPoint (.pptx) files.
    • unoconv - Convert between any document format supported by LibreOffice/OpenOffice.
    • XlsxWriter - A Python module for creating Excel .xlsx files.
    • xlwings - A BSD-licensed library that makes it easy to call Python from Excel and vice versa.
    • xlwt / xlrd - Writing and reading data and formatting information from Excel files.
  • PDF
    • PDFMiner - A tool for extracting information from PDF documents.
    • PyPDF2 - A library capable of splitting, merging and transforming PDF pages.
    • ReportLab - Allowing Rapid creation of rich PDF documents.
  • Markdown
    • Mistune - Fastest and full featured pure Python parsers of Markdown.
    • Python-Markdown - A Python implementation of John Gruber’s Markdown.
  • YAML
    • PyYAML - YAML implementations for Python.
  • CSV
    • csvkit - Utilities for converting to and working with CSV.
  • Archive
    • unp - A command line tool that can unpack archives easily.

Static Site Generator

Static site generator is a software that takes some text + templates as input and produces HTML files on the output.

  • lektor - An easy to use static CMS and blog engine.
  • mkdocs - Markdown friendly documentation generator.
  • makesite - Simple, lightweight, and magic-free static site/blog generator (< 130 lines).
  • nikola - A static website and blog generator.
  • pelican - Static site generator that supports Markdown and reST syntax.

Tagging

Libraries for tagging items.

Task Queues

Libraries for working with task queues.

  • celery - An asynchronous task queue/job queue based on distributed message passing.
  • dramatiq - A fast and reliable background task processing library for Python 3.
  • huey - Little multi-threaded task queue.
  • mrq - A distributed worker task queue in Python using Redis & gevent.
  • rq - Simple job queues for Python.

Template Engine

Libraries and tools for templating and lexing.

  • Genshi - Python templating toolkit for generation of web-aware output.
  • Jinja2 - A modern and designer friendly templating language.
  • Mako - Hyperfast and lightweight templating for the Python platform.

Testing

Libraries for testing codebases and generating test data.

  • Testing Frameworks
    • hypothesis - Hypothesis is an advanced Quickcheck style property based testing library.
    • nose2 - The successor to
      nose
      , based on `unittest2.
    • pytest - A mature full-featured Python testing tool.
    • Robot Framework - A generic test automation framework.
    • unittest - (Python standard library) Unit testing framework.
  • Test Runners
    • green - A clean, colorful test runner.
    • mamba - The definitive testing tool for Python. Born under the banner of BDD.
    • tox - Auto builds and tests distributions in multiple Python versions
  • GUI / Web Testing
    • locust - Scalable user load testing tool written in Python.
    • PyAutoGUI - PyAutoGUI is a cross-platform GUI automation Python module for human beings.
    • Schemathesis - A tool for automatic property-based testing of web applications built with Open API / Swagger specifications.
    • Selenium - Python bindings for Selenium WebDriver.
    • sixpack - A language-agnostic A/B Testing framework.
    • splinter - Open source tool for testing web applications.
  • Mock
    • doublex - Powerful test doubles framework for Python.
    • freezegun - Travel through time by mocking the datetime module.
    • httmock - A mocking library for requests for Python 2.6+ and 3.2+.
    • httpretty - HTTP request mock tool for Python.
    • mock - (Python standard library) A mocking and patching library.
    • mocket - A socket mock framework with gevent/asyncio/SSL support.
    • responses - A utility library for mocking out the requests Python library.
    • VCR.py - Record and replay HTTP interactions on your tests.
  • Object Factories
    • factory_boy - A test fixtures replacement for Python.
    • mixer - Another fixtures replacement. Supports Django, Flask, SQLAlchemy, Peewee and etc.
    • model_mommy - Creating random fixtures for testing in Django.
  • Code Coverage
  • Fake Data
    • fake2db - Fake database generator.
    • faker - A Python package that generates fake data.
    • mimesis - is a Python library that help you generate fake data.
    • radar - Generate random datetime / time.

Text Processing

Libraries for parsing and manipulating plain texts.

  • General
    • chardet - Python 2/3 compatible character encoding detector.
    • difflib - (Python standard library) Helpers for computing deltas.
    • ftfy - Makes Unicode text less broken and more consistent automagically.
    • fuzzywuzzy - Fuzzy String Matching.
    • Levenshtein - Fast computation of Levenshtein distance and string similarity.
    • pangu.py - Paranoid text spacing.
    • pyfiglet - An implementation of figlet written in Python.
    • pypinyin - Convert Chinese hanzi (漢字) to pinyin (拼音).
    • textdistance - Compute distance between sequences with 30+ algorithms.
    • unidecode - ASCII transliterations of Unicode text.
  • Slugify
    • awesome-slugify - A Python slugify library that can preserve unicode.
    • python-slugify - A Python slugify library that translates unicode to ASCII.
    • unicode-slugify - A slugifier that generates unicode slugs with Django as a dependency.
  • Unique identifiers
    • hashids - Implementation of hashids in Python.
    • shortuuid - A generator library for concise, unambiguous and URL-safe UUIDs.
  • Parser
    • ply - Implementation of lex and yacc parsing tools for Python.
    • pygments - A generic syntax highlighter.
    • pyparsing - A general purpose framework for generating parsers.
    • python-nameparser - Parsing human names into their individual components.
    • python-phonenumbers - Parsing, formatting, storing and validating international phone numbers.
    • python-user-agents - Browser user agent parser.
    • sqlparse - A non-validating SQL parser.

Third-party APIs

Libraries for accessing third party services APIs. Also see List of Python API Wrappers and Libraries.

URL Manipulation

Libraries for parsing URLs.

  • furl - A small Python library that makes parsing and manipulating URLs easy.
  • purl - A simple, immutable URL class with a clean API for interrogation and manipulation.
  • pyshorteners - A pure Python URL shortening lib.
  • webargs - A friendly library for parsing HTTP request arguments with built-in support for popular web frameworks.

Video

Libraries for manipulating video and GIFs.

  • moviepy - A module for script-based movie editing with many formats, including animated GIFs.
  • scikit-video - Video processing routines for SciPy.
  • vidgear - Most Powerful multi-threaded Video Processing framework.

Web Asset Management

Tools for managing, compressing and minifying website assets.

  • django-compressor - Compresses linked and inline JavaScript or CSS into a single cached file.
  • django-pipeline - An asset packaging library for Django.
  • django-storages - A collection of custom storage back ends for Django.
  • fanstatic - Packages, optimizes, and serves static file dependencies as Python packages.
  • fileconveyor - A daemon to detect and sync files to CDNs, S3 and FTP.
  • flask-assets - Helps you integrate webassets into your Flask app.
  • webassets - Bundles, optimizes, and manages unique cache-busting URLs for static resources.

Web Content Extracting

Libraries for extracting web contents.

  • html2text - Convert HTML to Markdown-formatted text.
  • lassie - Web Content Retrieval for Humans.
  • micawber - A small library for extracting rich content from URLs.
  • newspaper - News extraction, article extraction and content curation in Python.
  • python-readability - Fast Python port of arc90's readability tool.
  • requests-html - Pythonic HTML Parsing for Humans.
  • sumy - A module for automatic summarization of text documents and HTML pages.
  • textract - Extract text from any document, Word, PowerPoint, PDFs, etc.
  • toapi - Every web site provides APIs.

Web Crawling

Libraries to automate web scraping.

  • cola - A distributed crawling framework.
  • feedparser - Universal feed parser.
  • grab - Site scraping framework.
  • MechanicalSoup - A Python library for automating interaction with websites.
  • portia - Visual scraping for Scrapy.
  • pyspider - A powerful spider system.
  • robobrowser - A simple, Pythonic library for browsing the web without a standalone web browser.
  • スクレイピー - A fast high-level screen scraping and web crawling framework.

Web Frameworks

従来のフルスタック Web フレームワーク。RESTful APIも参照してください.

WebSocket

WebSocket を操作するためのライブラリ。

  • autobahn -python - Twisted および asyncio 上の Python 用の WebSocket およびWAMP .
  • channels - Django 用の開発者フレンドリーな非同期.
  • websockets - 正確さとシンプルさに重点を置いて WebSocket サーバーとクライアントを構築するためのライブラリ.

WSGI サーバー

WSGI 互換の Web サーバー。

  • bjoern - 非同期で, 非常に高速で, C で書かれています.
  • gunicorn - Ruby の Unicorn プロジェクトから移植された, 事前にフォークされた.
  • uWSGI - C で書かれた、ホスティング サービスを構築するためのフル スタックの開発を目的としたプロジェクトです。
  • ウェイトレス - マルチスレッド, power Pyramid.
  • werkzeug - Flask を強化し, 独自のプロジェクトに簡単に埋め込むことができる Python 用の WSGI ユーティリティ ライブラリ.

資力

学習リソースや新しい Python ライブラリを見つける場所。

書籍

ウェブサイト

ニュースレター

ポッドキャスト

貢献する

あなたの貢献はいつでも大歓迎です!投稿ガイドラインをご覧ください

それらのライブラリが素晴らしいかどうかわからない場合は、いくつかのプル リクエストを開いたままにします。ます。👍彼らへ。投票が20に達すると、プル リクエストはマージされます。


この独自のリストについて質問がある場合は、 Twitter で@VintaChenに連絡するか、GitHub で問題を開いてください。