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フレームワーク、ライブラリ、ソフトウェア、リソースの厳選されたリスト。

素晴らしいphpに触発されました。


管理パネル

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

  • ajenti - サーバーにふさわしい管理パネル。
  • django-grappelli - Django Admin-Interfaceのためのジャジーなスキン。
  • django-jet - 機能が改善された Django 管理インターフェイス用の最新のレスポンシブテンプレート。
  • ジャンゴスーツ - 代替ジャンゴ管理インターフェース(非営利目的でのみ無料)。
  • django-xadmin - Django 管理者のドロップイン置換には、多くの機能が付属しています。
  • フラスコ管理 - フラスコ用のシンプルで拡張可能な管理インターフェイスフレームワーク。
  • - セロリのリアルタイムモニターとウェブ管理者。
  • ジェットブリッジ - 素敵なUIを持つアプリケーションのための管理パネルフレームワーク(例ジェットジャンゴ)。
  • wooey - Python スクリプト用の自動ウェブ UI を作成する Django アプリ。

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

データ構造、アルゴリズム、デザインパターンのPython実装。素晴らしいアルゴリズムも参照してください。

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

ASGI サーバー

ASGI 互換のウェブサーバー。

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

非同期プログラミング

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

オーディオ

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

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

認証

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

  • ティッカー
    • authlib - JavaScript Object Signing and Encryption ドラフトの実装。
    • django-allauth - "ちょうど動作する"Djangoのための認証アプリ。
    • django-oauth-toolkit - Django 用の OAuth 2 グッズ。
    • oauthlib - OAuth 要求署名ロジックの一般的で完全な実装。
    • python-oauth2 - OAuth クライアントとサーバーを作成するための、完全にテストされた抽象インターフェイス。
    • python-social-auth - セットアップが簡単なソーシャル認証メカニズム。
  • ティッカー
    • pyjwt - Python での JSON Web トークンの実装。
    • python-jose - Python での JOSE 実装。
    • python-jwt - JSON ウェブトークンを生成および検証するためのモジュール。

ビルドツール

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

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

組み込みクラスの機能強化

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

  • attrs - クラス定義の , , などの定型文の置換。
    __init__
    __eq__
    __repr__
  • bidict - 効率的で pythonic な双方向マップデータ構造と関連機能。
  • Box - 高度なドット表記アクセスが可能な Python 辞書。
  • データクラス - (Python 標準ライブラリ) データクラス。
  • DottedDict - ドットパス表記でリストやディクショナリにアクセスする方法を提供するライブラリ。

ティッカー

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

  • django-cms - Django をベースにしたオープンソースのエンタープライズ CMS。
  • feincms - Django上に構築された最も先進的なコンテンツ管理システムの1つ。
  • インディコ - @ CERNで作られた機能豊富なイベント管理システム。
  • Kotti - ピラミッド上に構築された高レベルの Python ウェブアプリケーションフレームワーク。
  • mezzanine - 強力で一貫性のある柔軟なコンテンツ管理プラットフォーム。
  • plone - オープンソースのアプリケーションサーバーZopeの上に構築されたCMS。
  • quokka - Flask と MongoDB を搭載した柔軟で拡張可能な小型 CMS。
  • セキレイ - Django コンテンツ管理システム。

キャッシング

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

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

チャットオペレーションツール

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

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

コード分析

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

  • コード分析
    • coala - 言語に依存せず、簡単に拡張可能なコード解析アプリケーション。
    • code2flow - Python と JavaScript のコードを DOT フローチャートに変換します。
    • プロスペクター - Python コードを解析するためのツール。
    • pycallgraph - Python アプリケーションのフロー (コールグラフ) を視覚化するライブラリ。
    • ハゲタカ - 死んだPythonコードを見つけて分析するためのツール。
  • コードリンター
  • コード フォーマッタ
    • - 妥協のない Python コードフォーマッタ。
    • isort - インポートをソートするためのPythonユーティリティ/ライブラリ。
    • yapf - Googleのさらに別のPythonコードフォーマッタ。
  • 静的型チェッカー、素晴らしいPythonタイピングも参照してください
    • mypy - コンパイル時に変数の型をチェックします。
    • パイアチェック - パフォーマンスの高い型チェック。
    • typeshed - 静的型を持つ Python 用のライブラリスタブのコレクション。
  • 静的型注釈ジェネレータ
    • MonkeyType - ランタイム型を収集することによって静的型注釈を生成する Python 用のシステム。
    • pyannotate - PEP-484 アノテーションを自動生成します。
    • pytype - Pytype は Python コードの型をチェックし、推論します - 型注釈を必要としません。

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

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

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

コマンド ライン ツール

生産性を高めるための便利なCLIベースのツール。

  • 生産性向上ツール
    • コピー機 - プロジェクトテンプレートをレンダリングするためのライブラリおよびコマンドラインユーティリティ。
    • クッキーカッター - クッキーカッター(プロジェクトテンプレート)からプロジェクトを作成するコマンドラインユーティリティ。
    • doitlive -ターミナルでのライブプレゼンテーション用のツール。
    • howdoi - コマンドラインからの回答を即座にコーディングします。
    • Invoke - シェル指向のサブプロセスを管理し、実行可能な Python コードを CLI 起動可能なタスクに整理するためのツール。
    • パスピッカー - 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。
    • のこぎり - スーパーチャージされたaws-cli

互換性

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

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

コンピュータビジョン

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

  • EasyOCR - サポートされている40 +言語とすぐに使用できるOCR。
  • 顔認識 - シンプルな顔認識ライブラリ。
  • Kornia - PyTorch 用のオープンソースの微分可能コンピュータビジョンライブラリ。
  • OpenCV - オープンソースのコンピュータビジョンライブラリ。
  • pytesseract - Google Tesseract OCRのラッパー。
  • SimpleCV - コンピュータビジョンアプリケーションを構築するためのオープンソースフレームワーク。
  • tesserocr -OCR用のAPIに関する別のシンプルで枕に優しいラッパー。
    tesseract-ocr

並行性と並列処理

並行および並列実行用のライブラリ。素晴らしいアシンシオも参照してください。

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

構成

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

  • configobj - 検証機能付きの INI ファイルパーサー。
  • コンフィグパーサー - (Python 標準ライブラリ) INI ファイルパーサー。
  • hydra - Hydra は、複雑なアプリケーションをエレガントに構成するためのフレームワークです。
  • profig - 値変換を伴う複数の形式からの構成。
  • python-decombine - 設定とコードとの厳密な分離。

暗号化手法

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

データ分析

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

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

データ検証

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

  • Cerberus - 軽量で拡張可能なデータ検証ライブラリ。
  • colander - XML、JSON、HTMLフォームポストを介して取得したデータの検証と逆シリアル化。
  • jsonschema - Python 用の JSON スキーマの実装。
  • schema - Python のデータ構造を検証するためのライブラリ。
  • 回路図 - データ構造の検証。
  • valideer - 軽量で拡張可能なデータ検証および適応ライブラリ。
  • 官能的 - Python データ検証ライブラリ。

データビジュアライゼーション

データを視覚化するためのライブラリ。素晴らしいジャバスクリプトも参照してください。

  • Altair - Python 用の宣言型統計可視化ライブラリ。
  • ボケ味 - Python 用のインタラクティブなウェブプロット。
  • bqplot - Jupyter ノートブック用のインタラクティブなプロットライブラリ。
  • Cartopy - matplotlib をサポートする地図作成の python ライブラリ。
  • ダッシュ - 分析ウェブアプリケーションを目的としたフラスコ、反応、プロットリーの上に構築されています。
  • ダイアグラム - コードとしてのダイアグラム。
  • 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 connector (mysql-python fork)。
    • PyMySQL - mysql-python と互換性のある純粋な Python MySQL ドライバー。
  • PostgreSQL - awesome-postgres
    • psycopg2 - Python 用の最も人気のある PostgreSQL アダプタ。
    • queries - PostgreSQL と対話するための psycopg2 ライブラリのラッパーです。
  • SQlite - 素晴らしいsqlite
    • sqlite3 - (Python 標準ライブラリ) DB-API 2.0 に準拠した SQlite インターフェイス
    • スーパーSQLite - apswの上に構築されたスーパーチャージャー付きのSQLiteライブラリ。
  • その他のリレーショナルデータベース
    • pymssql - Microsoft SQL Server へのシンプルなデータベースインターフェイス。
    • クリックハウスドライバ - クリックハウス用のネイティブインターフェイスを備えた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 標準日時モジュールの拡張。
  • delorean - 日時を扱うことで生じる不都合な真実を解き明かすためのライブラリ。
  • maya - 人間の日時。
  • moment - 日付/時刻を扱うための Python ライブラリ。モーメント.jsに触発されました。
  • 振り子 - Python の日時が簡単になりました。
  • PyTime - 文字列で日付/時刻/日時を操作することを目的とした使いやすい Python モジュール。
  • pytz -世界のタイムゾーンの定義、現代および歴史的。tz データベースを Python に取り込みます。
  • when.py - 一般的な日付と時刻のアクションを実行するのに役立つユーザーフレンドリーな機能を提供します。

デバッグツール

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

  • pdbライクなデバッガ
    • ipdb - IPython 対応の pdb
    • pdb++ - pdb の別のドロップイン代替品。
    • pudb - フルスクリーンのコンソールベースの Python デバッガ。
    • wdb - WebSocket を介したありそうもないウェブデバッガ。
  • トレーシング
    • lptrace - Python プログラム用の strace です。
    • manhole - UNIXソケット接続をデバッグし、すべてのスレッドのスタックトレースと対話型プロンプトを表示します。
    • pyringe - Python プロセスにコードをアタッチして挿入できるデバッガ。
    • python-hunter - 柔軟なコードトレースツールキット。
  • プロファイラー
    • line_profiler - 行ごとのプロファイリング。
    • memory_profiler - Python コードのメモリ使用量を監視します。
    • py-spy - Python プログラム用のサンプリングプロファイラー。さびで書かれています。
    • pyflame - Python 用の ptracing プロファイラ。
    • vprof - Visual Python プロファイラ。
  • 余人
    • django-debug-toolbar - Django のさまざまなデバッグ情報を表示します。
    • django-devserver - Django のランサーバに代わるドロップイン。
    • フラスコデバッグツールバー - フラスコへの django-デバッグツールバーのポート。
    • icecream - 変数、式、プログラムの実行を 1 回の単純な関数呼び出しで検査します。
    • pyelftools - ELF ファイルと DWARF デバッグ情報の解析と分析。

ディープラーニング

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

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

開発ツール

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

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

分散コンピューティング

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

  • バッチ処理
    • dask - 分析コンピューティング用の柔軟な並列コンピューティングライブラリ。
    • luigi - バッチジョブの複雑なパイプラインを構築するのに役立つモジュール。
    • mrjob - Hadoop またはアマゾン ウェブ サービスで 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 - 完全に自己完結型の zipapps (PEP 441) を構築するためのコマンドラインユーティリティですが、すべての依存関係が含まれています。

ドキュメンテーション

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

ダウンローダー

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

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

電子商取引

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

  • alipay - Python 用の非公式の Alipay API。
  • カートリッジ - メザニンを使用して構築されたショッピング カート アプリ。
  • django-oscar - Django 用のオープンソースの e コマースフレームワーク。
  • ジャンゴショップ - ジャンゴベースのショップシステム。
  • 外国為替パイソン - 外国為替レート、ビットコイン価格指数、通貨換算。
  • マーチャント - さまざまな支払い処理業者からの支払いを受け入れるためのDjangoアプリ。
  • money - オプションの CLDR ベースのロケール対応フォーマットと拡張可能な外貨両替を持つクラス。
    Money
  • python通貨 - お金の形式とその汚い通貨を表示します。
  • saleor -ヘッドレスオープンソースのeコマースプラットフォーム。
  • shoop - DjangoをベースにしたオープンソースのEコマースプラットフォーム。

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

  • エマックス
    • elpy - Emacs Python Development Environment.
  • 崇高なテキスト
    • anaconda - Anaconda は、フル機能の Python 開発 IDE で Sublime Text 3 を回します。
    • SublimeJEDI - 素晴らしいオートコンプリートライブラリジェダイへの崇高なテキストプラグイン。
  • ヴィム
    • jedi-vim - Python 用の Jedi オートコンプリートライブラリ用の Vim バインディング。
    • python-mode - VimをPython IDEに変えるためのオールインワンプラグイン。
    • YouCompleteMe - Python 用の Jedi ベースの補完エンジンが含まれています。
  • ビジュアルスタジオ
    • PTVS - Python Tools for Visual Studio.
  • Visual Studio Code
    • Python - Python を豊富にサポートする公式の VSCode 拡張機能。
  • 井手
    • PyCharm - JetBrainsによる商用Python IDE。無料のコミュニティ版があります。
    • spyder - オープンソースのPython IDE。

電子メール

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

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

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

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

  • Zato - ESB、SOA、REST、API、CLOUD INTEGRATIONS IN Python。

環境マネジメント

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 - 簡略化されたラッパーおよびインターフェイスジェネレータ。

フォーム

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

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

関数型プログラミング

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

  • ココナッツ - シンプルでエレガントなPython関数型プログラミングのために構築されたPythonの変種。
  • CyToolz - Cythonの実装:高性能機能ユーティリティ。
    Toolz
  • fn.py - Pythonでの関数型プログラミング:FPを楽しむための不足している機能の実装。
  • ファンシー - 派手で実用的な機能的なツール。
  • more-itertools - 反復可能オブジェクトを操作するためのルーチンが増えました。
    itertools
  • 戻り値 - タイプセーフなモナド、トランスフォーマー、およびコンポジションユーティリティのセット。
  • Toolz - 反復子、関数、および辞書用の関数ユーティリティのコレクション。

GUI 開発

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

  • curses - ターミナル GUI アプリケーションの作成に使用される ncurses 用の組み込みラッパー。
  • Eel - シンプルな Electron ライクなオフライン HTML/JS GUI アプリを作成するためのライブラリです。
  • enaml - QMLのような宣言構文で美しいユーザーインターフェイスを作成します。
  • Flexx - Flexxは、GUIを作成するための純粋なPythonツールキットであり、レンダリングにWebテクノロジーを使用します。
  • Gooey - コマンドラインプログラムを1行で完全なGUIアプリケーションに変換します。
  • kivy - Windows、Linux、Mac OS X、Android、iOS上で動作するNUIアプリケーションを作成するためのライブラリ。
  • pyglet - Python 用のクロスプラットフォームのウィンドウおよびマルチメディアライブラリ。
  • PyGObject - Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3).
  • PyQt - Qt クロスプラットフォームアプリケーションと UI フレームワーク用の Python バインディング。
  • PySimpleGUI - tkinter、Qt、WxPython、Remiのラッパー。
  • pywebview - ウェブビューコンポーネントを囲む軽量のクロスプラットフォームのネイティブラッパー。
  • Tkinter - Tkinter は Python の事実上の標準 GUI パッケージです。
  • Toga - Python ネイティブ、OS ネイティブの GUI ツールキット。
  • urwid - ウィジェット、イベント、リッチカラーなどを強力にサポートする端末GUIアプリケーションを作成するためのライブラリ。
  • wxPython - wxWidgets C++ クラスライブラリと Python のブレンド。
  • DearPyGui - シンプルなGPUアクセラレーションによるPython GUIフレームワーク

グラフQL

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

  • graphene - Python 用の GraphQL フレームワーク。
  • tartiflette-aiohttp - Tartiflette が HTTP 経由で GraphQL API を公開するための -ベースのラッパー。
    aiohttp
  • tartiflette-asgi - Tartiflette GraphQL エンジンの ASGI サポート。
  • tartiflette - Python 3.6+ および asyncio 用の SDL 初の GraphQL エンジン実装。

ゲーム開発

素晴らしいゲーム開発ライブラリ。

  • アーケード - アーケードは、魅力的なグラフィックスとサウンドを備えたゲームを作成するための最新のPythonフレームワークです。
  • cocos2d - cocos2d は、2D ゲーム、デモ、その他のグラフィカル/インタラクティブアプリケーションを構築するためのフレームワークです。
  • Harfang3D - 3D、VR、ゲーム開発のためのPythonフレームワーク。
  • パンダ3D - ディズニーが開発した3Dゲームエンジン。
  • Pygame - Pygame は、ゲームを書くために設計された Python モジュールのセットです。
  • PyOgre - Ogre 3Dレンダリングエンジン用のPythonバインディングは、ゲーム、シミュレーション、あらゆる3Dに使用できます。
  • PyOpenGL - Python ctypes バインディング for OpenGL とそれに関連する API です。
  • PySDL2 - SDL2 ライブラリ用の ctypes ベースのラッパー。
  • RenPy - ビジュアルノベルエンジン。

ジオロケーション

住所をジオコーディングし、緯度と経度を操作するためのライブラリ。

  • django-countries-モデルとフォームの国フィールドを提供するDjangoアプリ。
  • GeoDjango - 世界クラスの地理的ウェブフレームワーク。
  • GeoIP - MaxMind GeoIP Legacy Database 用の Python API。
  • geojson - GeoJSON 用の Python バインディングとユーティリティ。
  • geopy - Python ジオコーディング ツールボックス。

HTML 操作

HTML および XML を操作するためのライブラリ。

  • BeautifulSoup - HTML または XML の反復、検索、変更のための Python イディオムを提供します。
  • bleach - ホワイトリストベースのHTMLサニタイズおよびテキストリンクライブラリ。
  • cssutils - Python 用の CSS ライブラリ。
  • html5lib - HTML ドキュメントとフラグメントを解析およびシリアル化するための標準準拠のライブラリ。
  • lxml - HTML と XML を扱うための非常に高速で使いやすく、用途の広いライブラリです。
  • MarkupSafe - Python 用の XML/HTML/XHTML マークアップセーフストリングを実装します。
  • pyquery - HTML を解析するための jQuery ライクなライブラリです。
  • もつれを解く - 簡単にアクセスできるように XML ドキュメントを Python オブジェクトに変換します。
  • WeasyPrint - PDFにエクスポートできるHTMLおよびCSS用のビジュアルレンダリングエンジン。
  • xmldataset - 単純な XML 解析。
  • xmltodict - XML での作業は、JSON で作業しているように感じられます。

HTTP クライアント

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

  • grequests - リクエスト + 非同期 HTTP リクエストの gevent。
  • httplib2 - 包括的な HTTP クライアントライブラリ。
  • httpx - Python 用の次世代の HTTP クライアント。
  • 要求 - 人間に対する HTTP 要求。
  • treq - TwistedのHTTPクライアント上に構築されたAPIのようなPythonリクエスト。
  • urllib3 - スレッドセーフな接続プール、ファイル投稿のサポート、健全性に優しいHTTPライブラリ。

ハードウェア

ハードウェアでプログラミングするためのライブラリ。

  • ino - Arduinoを操作するためのコマンドラインツールキット。
  • キーボード - Windows および Linux でのグローバル キーボード イベントをフックしてシミュレートします。
  • マウス - Windows および Linux でのグローバル マウス イベントをフックしてシミュレートします。
  • Pingo - Pingo は、Raspberry Pi、pcDuino、Intel Galileo などのデバイスをプログラムするための統一された API を提供します。
  • PyUserInput - マウスとキーボードのクロスプラットフォーム制御のためのモジュール。
  • scapy - 素晴らしいパケット操作ライブラリ。

画像処理

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

  • hmap - 画像ヒストグラムの再マッピング。
  • imgSeek - 視覚的な類似性を使用して画像のコレクションを検索するプロジェクト。
  • nude.py - ヌードの検出。
  • pagan - 入力文字列とハッシュに基づくレトロな識別(アバター)の生成。
  • 枕 - はフレンドリーなPILフォークです。
  • python-バーコード - 追加の依存関係なしでPythonでバーコードを作成します。
  • ピグラム - インスタグラムのような画像フィルター。
  • PyMatting - アルファマットのためのライブラリ。
  • python-qrcode - 純粋なpythonQRコードジェネレータ。
  • pywal - 画像から配色を生成するツール。
  • pyvips - メモリを必要とする高速画像処理ライブラリ。
  • クワッド - クワッドツリーに基づくコンピュータアート。
  • scikit-image - (科学的な)画像処理のためのPythonライブラリ。
  • thumbor - スマートイメージングサービス。これにより、画像のオンデマンドトリミング、サイズ変更、反転が可能になります。
  • wand - Python バインディング for MagickWand, C API for ImageMagick.

実装

Python の実装。

  • CLPython - Common Lisp で書かれた Python プログラミング言語の実装。
  • CPython - Cで書かれたPythonプログラミング言語のデフォルトで、最も広く使用されている実装。
  • Cython - Python 用の静的コンパイラの最適化。
  • Grumpy - より強力なCPython2.7の置き換え(アルファ)として、インタプリタよりもコンパイラです。
  • IronPython - C# で書かれた Python プログラミング言語の実装。
  • Jython - JVM 用に Java で書かれた Python プログラミング言語の実装。
  • マイクロパイソン - 無駄のない効率的なPythonプログラミング言語の実装。
  • Numba - 科学的な Python を目的とした LLVM への Python JIT コンパイラ。
  • PeachPy - Python に組み込まれた x86-64 アセンブラ。
  • Pyjion - CoreCLR に基づく Python 用の JIT です。
  • PyPy - Python 言語の非常に高速で準拠した実装。
  • Pyston - JIT 技術を使用した Python 実装。
  • 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 - A modern workflow orchestration framework that makes it easy to build, schedule and monitor robust data pipelines.
  • schedule - Python job scheduling for humans.
  • Spiff - A powerful workflow engine implemented in pure Python.
  • TaskFlow - A Python library that helps to make task execution easy, consistent and reliable.

Logging

Libraries for generating and working with logs.

  • logbook - Logging replacement for Python.
  • logging - (Python standard library) Logging facility for Python.
  • loguru - Library which aims to bring enjoyable logging in Python.
  • sentry-python - Sentry SDK for Python.
  • structlog - Structured logging made easy.

Machine Learning

Libraries for Machine Learning. Also see awesome-machine-learning.

  • gym - A toolkit for developing and comparing reinforcement learning algorithms.
  • H2O - Open Source Fast Scalable Machine Learning Platform.
  • Metrics - Machine learning evaluation metrics.
  • NuPIC - Numenta Platform for Intelligent Computing.
  • scikit-learn - The most popular Python library for Machine Learning.
  • Spark ML - Apache Spark's scalable Machine Learning library.
  • vowpal_porpoise - A lightweight Python wrapper for Vowpal Wabbit.
  • xgboost - A scalable, portable, and distributed gradient boosting library.
  • MindsDB - MindsDB is an open source AI layer for existing databases that allows you to effortlessly develop, train and deploy state-of-the-art machine learning models using standard queries.

Microsoft Windows

Python programming on Microsoft Windows.

  • Python(x,y) - Scientific-applications-oriented Python Distribution based on Qt and Spyder.
  • pythonlibs - Unofficial Windows binaries for Python extension packages.
  • PythonNet - Python Integration with the .NET Common Language Runtime (CLR).
  • PyWin32 - Python Extensions for Windows.
  • WinPython - Portable development environment for Windows 7/8.

Miscellaneous

Useful libraries or tools that don't fit in the categories above.

  • blinker - A fast Python in-process signal/event dispatching system.
  • boltons - A set of pure-Python utilities.
  • itsdangerous - Various helpers to pass trusted data to untrusted environments.
  • magenta - A tool to generate music and art using artificial intelligence.
  • pluginbase - A simple but flexible plugin system for Python.
  • tryton - A general purpose business framework.

Natural Language Processing

Libraries for working with human languages.

  • General
    • gensim - Topic Modeling for Humans.
    • langid.py - Stand-alone language identification system.
    • nltk - A leading platform for building Python programs to work with human language data.
    • pattern - A web mining module.
    • polyglot - Natural language pipeline supporting hundreds of languages.
    • pytext - A natural language modeling framework based on PyTorch.
    • PyTorch-NLP - A toolkit enabling rapid deep learning NLP prototyping for research.
    • spacy - A library for industrial-strength natural language processing in Python and Cython.
    • Stanza - The Stanford NLP Group's official Python library, supporting 60+ languages.
  • Chinese
    • funNLP - A collection of tools and datasets for Chinese NLP.
    • jieba - The most popular Chinese text segmentation library.
    • pkuseg-python - A toolkit for Chinese word segmentation in various domains.
    • snownlp - A library for processing Chinese text.

Network Virtualization

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 , based on `unittest2.
      nose
    • 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.
  • scrapy - A fast high-level screen scraping and web crawling framework.

Web Frameworks

Traditional full stack web frameworks. Also see RESTful API.

WebSocket

Libraries for working with WebSocket.

  • autobahn-python - WebSocket & WAMP for Python on Twisted and asyncio.
  • channels - Developer-friendly asynchrony for Django.
  • websockets - A library for building WebSocket servers and clients with a focus on correctness and simplicity.

WSGI Servers

WSGI-compatible web servers.

  • bjoern - Asynchronous, very fast and written in C.
  • gunicorn - Pre-forked, ported from Ruby's Unicorn project.
  • uWSGI - A project aims at developing a full stack for building hosting services, written in C.
  • waitress - Multi-threaded, powers Pyramid.
  • werkzeug - A WSGI utility library for Python that powers Flask and can easily be embedded into your own projects.

Resources

Where to discover learning resources or new Python libraries.

Books

Websites

ニュースレター

ポッドキャスト

貢献

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

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


この意見のあるリストについて質問がある場合は、Twitterで@VintaChen私に連絡するか、GitHubで問題を開くことを躊躇しないでください。