Awesome Python
Pythonを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
Sponsors
The #10 most-starred repo on GitHub. Put your product in front of Python developers. Become a sponsor.
Categories
AI & ML
- AI and Agents
- Deep Learning
- Machine Learning
- Natural Language Processing
- Computer Vision
- Recommender Systems
ウェブ開発
- Web Frameworks
- Web APIs
- Web Servers
- WebSocket
- Template Engines
- Web Asset Management
- Authentication
- Admin Panels
- CMS
- ERP
- Static Site Generators
HTTPとスクレイピング
データベース・ストレージ
データ・サイエンス
- Data Analysis
- Data Ingestion / ETL
- Data Validation
- Data Visualization
- Geolocation
- Science
- Quantum Computing
開発ツール
- Algorithms and Design Patterns
- Interactive Interpreter
- Code Analysis
- Testing
- Debugging Tools
- Build Tools
- Documentation
DevOps
- DevOps Tools
- Distributed Computing
- Task Queues
- Messaging
- Job Schedulers
- Logging
- Network Virtualization
CLI & GUI
Text & Documents
Media
Python Language
- Implementations
- Built-in Classes Enhancement
- Functional Programming
- Asynchronous Programming
- Date and Time
Python Toolchain
Security
Other
Projects
AI & ML
AI and Agents
Libraries for building AI applications, LLM integrations, and autonomous agents.
- Agent Skills
- django-ai-plugins - Djangoバックエンドエージェントスキル:Django、DRF、Celery、Django固有のコードレビューに対応したスキル
- sentry-skills - コードレビュー、デバッグ、バックエンドワークフローに特化したPython中心のエンジニアリングスキル
- trailofbits-skills - セキュリティに配慮したPython対応スキル:審査、テスト、より安全なバックエンド開発を支援
- Orchestration
- langchain - LLMを組み合わせてアプリケーションを構築するための可合成性(composability)
- langgraph - 状態を持ち、長期間実行可能なLLMエージェントを構築するための低レベルオーケストレーションフレームワーク
- crewai - 協働タスク解決を目的としたロールプレイ型自律AIエージェントのオーケストレーションフレームワーク
- pydantic-ai - 構造化スキーマを用いた生成AIアプリケーション開発に特化したPythonエージェントフレームワーク
- Vendor Agent SDKs
- openai-agents - OpenAIが提供するAIエージェントの構築と管理フレームワーク
- claude-agent-sdk - AnthropicのPython SDKによるClaude Codeのハーネス上でAIエージェントを構築 — カスタムツール、プロセス内MCPサーバー、ハックをサポート
- Personal Assistants
- hermes-agent - あなたと共に成長するアダプティブな個人AIアシスタント
- Prompt Optimization
- dspy - プロンプトではなく、モデルをプログラミングするためのフレームワーク
- Data Layer
- instructor - Pydanticを用いたLLMから構造化データを抽出するためのライブラリ
- llama-index - LLMアプリケーション用のデータフレームワーク
- mem0 - AIエージェントに個人化されたインタラクションを可能にする知能型メモリレイヤー
- Pre-trained Models
- transformers - NLP、ビジョン、オーディオタスクに用いる事前学習済みトランスフォーマーモデルを簡単に利用できるフレームワーク
- LLM Inference and Serving
- LLM Gateways
- LiteLLM - OpenAIフォーマットで100以上のLLMを呼び出す
- Image and Video Generation
- diffusers - 画像、音声、動画の生成および編集に用いる事前学習済みディフュージョンモデルを提供するライブラリ
- Fine-tuning
- unsloth - メモリ使用量を削減した高速LLMのファインチューニングおよびトレーニングを実現するライブラリ
- Speech
- openai-whisper - 68万時間の多言語かつ多タスク監督データに基づく汎用自動話音認識モデル
- funasr - 170倍リアルタイム速度、50以上の言語、話者分離、感情検出を備えた産業用話音認識ツールキット
- vibevoice - マイクロソフトが開発したオープンソースの音声AIモデルのファミリー。テキストから音声へ、長文話音認識に適用。
- gTTS - Google Translate TTSを用いてテキストを音声に変換するためのPythonライブラリとCLIツール
- kittentts - 軽量なONNXベースのテキストから音声への変換ライブラリ。CPUに優しい小さなモデルを備える。
Deep Learning
ニューラルネットワークと深層学習向けのフレームワーク。また、awesome-deep-learningも参照してください。
- Frameworks
- pytorch - Pythonでテンソルと動的ニューラルネットワークを実装し、強力なGPU加速を提供。
- tensorflow - グーグルが開発した最も人気のあるディープラーニングフレームワーク。
- keras - JAX、TensorFlow、PyTorchのバックエンドをサポートする、高レベルのディープラーニングライブラリ。
- jax - 自動微分とJITコンパイルをサポートする、高性能数値計算用ライブラリ。
- pytorch-lightning - AI製品の学習・デプロイ・配布を、驚くほど高速に実行するディープラーニングフレームドワーク。
- Reinforcement Learning
- gymnasium - 強化学習環境向けの標準API。人気のある参照環境(gymの継承者)をサポート。
- stable-baselines3 - Stable Baselines(ディープ強化学習)アルゴリズムのPyTorch実装。
Machine Learning
機械学習向けのライブラリ。また、awesome-machine-learningも参照してください。
- General
- scikit-learn - ドキュメンテーションとコミュニティサポートが豊富な、最も人気のあるPython機械学習ライブラリ。
- pgmpy - 確率的グラフィカルモデルおよびベイズネットワーク向けのPythonライブラリ。
- feature-engine - sklearnと互換性を持つAPI。特徴エンジニアリングおよび選択に最適なツールセットを備える。
- Gradient Boosting
- Time Series Forecasting
- timesfm - Google Researchが開発した、時系列予測用の事前学習基礎モデル。
Natural Language Processing
人間の言語を扱うためのライブラリ。
- General
- Chinese
Computer Vision
コンピュータビジョン向けのライブラリ。
- General
- opencv-python - オープンソースコンピュータビジョンライブラリ
- ultralytics - Ultralytics YOLOによるオブジェクト検出、セグメンテーション、ポーズ推定、分類。最先端の精度と速度を実現。
- kornia - PyTorch向けオープンソース可微分コンピュータビジョンライブラリ
- fiftyone - 高品質データセットおよびコンピュータビジョンモデルの構築に使えるオープンソースツール
- OCR
- pytesseract - Google Tesseract OCRのラッパー
- easyocr - 40以上の言語をサポートした即時使用可能なOCR
Recommender Systems
推薦システムを構築するためのライブラリ。
- annoy - メモリ使用量に最適化されたC++/Pythonによる近似最近隣検索
- implicit - 非明示データセット向けの協調フィルタリングの高速Python実装
- scikit-surprise - 推薦システムの構築と分析に使えるscikit
ウェブ開発
Web Frameworks
伝統的なフルスタックウェブフレームワーク。また、Web APIsも参照してください。
- Synchronous
- Asynchronous
Web APIs
RESTful、GraphQL、およびRPC APIを構築するためのライブラリ。
- Django
- django-rest-framework - ウェブAPIを構築するための強力で柔軟なツールキット
- django-ninja - タイプヒントとPydanticを用いた、Django RESTフレームワークベースの高速ウェブAPI
- strawberry-django - DjangoとのStrawberry GraphQL統合
- django-modern-rest - 高速性、型定義、非同期、
msgspec、-01など、現代的なREST!pydantic
- Flask
- apiflask - FlaskとMarshmallowをベースにした軽量PythonウェブAPIフレームワーク
- Framework Agnostic
- fastapi - 標準Pythonタイプヒントを用いてAPIを構築するための現代的で高速なウェブフレームワーク
- connexion - OpenAPI仕様に基づいてリクエストを自動的に処理する仕様中心のフレームワーク
- strawberry - Pythonタイプアノテーションを活用したGraphQLライブラリ
- RPC
- grpcio - Googleが開発したHTTP/2ベースのRPCフレームワーク(Pythonバインディング付き)
Web Servers
ASGIおよびWSGIに対応するウェブサーバー。
- ASGI
- WSGI
WebSocket
WebSocketとの作業に使うライブラリ。
- websockets - 正確性とシンプルさに焦点を当てたWebSocketサーバーおよびクライアントの構築用ライブラリ
- channels - Django向けの開発者フレンドリーな非同期機能
- flask-socketio - FlaskアプリケーションとのSocket.IO統合
- autobahn-python - TwistedとasyncioでのPython用WebSocketおよびWAMP。
Template Engines
テンプレートおよびリキングに使うライブラリとツール。
Web Asset Management
ウェブサイトのアセットを管理・保存・圧縮・ミニマライズするツール。
- django-storages - Django向けのカスタムストレージバックエンドのコレクション.
- django-compressor - リンクされたおよびインラインのJavaScriptまたはCSSを1つのキャッシュファイルに圧縮する.
Authentication
認証スキームの実装に用いられるライブラリ。
- OAuth
- oauthlib - OAuthのリクエスト署名ロジックの一般化かつ徹底的な実装.
- authlib - OAuth、OpenID Connect、JWT/JWS/JWE/JWK/JWAを構築するための包括的なライブラリ.
- django-allauth - Django向けの認証アプリで「ただ使える」ように設計されたアプリ.
- django-oauth-toolkit - Django向けのOAuth 2の便利な機能.
- JWT
- pyjwt - PythonにおけるJSON Web Tokenの実装.
- Permissions
- django-guardian - Django向けのオブジェクトごとの権限の実装.
- django-rules - データベースを必要としない、非常に小さくても強力なDjango向けオブジェクトレベル権限アプリ.
Admin Panels
管理インターフェースに用いられるライブラリ。
- flask-admin - Flask向けのシンプルかつ拡張可能な管理インターフェースフレームワーク.
- django-unfold - Djangoの管理画面を、スタイリッシュな現代的なインターフェース、強力な機能、そしてスムーズなユーザー体験でアップグレードします.
- django-grappelli - Django Admin-Interface向けのカッコイイテーマ.
CMS
コンテンツ管理システム。
- wagtail - Djangoをベースにしたコンテンツ管理システム.
- django-cms - Djangoを採用した使いやすく、開発者にも親しみやすいエンタープライズCMS.
ERP
企業資源計画フレームワーク。
- odoo - オープンソースのビジネスアプリケーションのセット:CRM、電子商取引、会計、在庫、そして数千ものコミュニティモジュール.
Static Site Generators
静的サイトジェネレーターとは、テキストとテンプレートを入力として受け取り、出力としてHTMLファイルを生成するソフトウェアである。
HTTPおよびスクレイピング
HTTP Clients
HTTPに働きかけるためのライブラリ。
- Clients
- URL Manipulation
Web Scraping
ウェブスクレイピングを自動化し、ウェブコンテンツを抽出するためのライブラリ。
- Frameworks
- browser-use - AI アグエントが簡単にブラウザ自動化を実行できるようにするウェブサイトのアクセス方法
- scrapy - 高速かつ高レベルのスクリーンスクレイピングおよびウェブスクレイピングフレームワーク
- crawl4ai - オープンソースで LLM に最適化されたウェブスクレイピングツール。AI アグエント向けに設計された、高速かつ構造化されたデータ抽出を提供。
- Content Extraction
- feedparser - ユニバーサルなフィードパーサー
- html2text - HTML をマーカー形式のテキストに変換
- trafilatura - ウェブからテキストおよびメタデータを収集するツールで、内蔵コンテンツフィルタリング機能付き
メールの送信とパース、およびメールサーバー管理用のライブラリ。
- yagmail - もう一つの Gmail/SMTP クライアント
データベース・ストレージ
ORM
オブジェクト-リレーションマッピングまたはデータマッピング技術を実装するライブラリ。
- Relational Databases
- sqlalchemy - Python の SQL ツールキットおよびオブジェクト関係マッパー
- django.db.models - The Django ORM.
- peewee - 小さな、表現力の高い ORM
- sqlmodel - SQLModel は Python の型注釈に基づき、Pydantic および SQLAlchemy によって駆動されている
- NoSQL Databases
- pynamodb - Amazon DynamoDB 用の Python フィールドインターフェース
- mongoengine - MongoDB とのやり取りに用いる Python のオブジェクト・ドキュメント・マッパー(ODM)
- beanie - MongoDB 用の非同期 Python オブジェクト・ドキュメント・マッパー(ODM)
Database Drivers
データベースに接続し、操作するためのライブラリ。
- MySQL - awesome-mysql
- pymysql - mysql-python と互換性のある純粋 Python の MySQL ドライバー
- mysqlclient - Python 3対応のMySQLコンネクタ(mysql-pythonブランチ)。
- PostgreSQL - awesome-postgres
- SQLite - awesome-sqlite
- sqlite3 - (Python標準ライブラリ)DB-API 2.0に準拠したSQLiteインターフェース。
- sqlite-utils - SQLiteデータベースを操作するためのPython CLIユーティリティとライブラリ。
- ClickHouse
- clickhouse-connect - 公式のClickHouseクライアント、SQLAlchemyおよびSupersetとの接続機能を備えています。
- clickhouse-driver - ClickHouse向けのネイティブインターフェースを備えたPythonドライバー。
- Other Relational Databases
- pyodbc - SQL Serverおよびその他のODBCアクセス可能なデータベースに接続するためのODBCブリッジ。
- oracledb - オラクルデータベース用の公式Pythonドライバー。cx_Oracleの後継品。
- mssql-python - SQL ServerおよびAzure SQL用の公式Microsoftドライバー。ODBCに基づき、高性能かつ低メモリ使用を実現。
- NoSQL Databases
- redis - Redis用のPythonクライアント。
- pymongo - MongoDB用の公式Pythonクライアント。
- cassandra-driver - Apache Cassandra向けのPythonドライバー。
- django-mongodb-backend - Django用の公式MongoDBデータベースバックエンド。
Database
プロセス中データベース。Pythonから直接使用可能。
- Analytical
- Vector
- Key-Value & Document
- tinydb - 微小な、ドキュメント指向のデータベース。
Caching
データのキャッシュ用のライブラリ。
- cachetools - 拡張可能なメモ化コレクションとデコレーター。
- diskcache - SQLiteとファイルバックドキャッシュバックエンドで、memcachedおよびredisよりも高速な検索が可能
- dogpile.cache - 同じ開発者が作成したBeakerの次世代代替品であるdogpile.cache
- django-cacheops - 自動的に細かいイベント駆動による無効化を実現するスムーズなORMキャッシュ
Search
データのインデックス作成および検索クエリ実行用のライブラリとソフトウェア。
- elasticsearch - Elasticsearchの公式低レベルPythonクライアント
- opensearch-py - OpenSearchの公式低レベルPythonクライアント
- meilisearch - Meilisearch検索エンジンの公式Pythonクライアント
- django-haystack - Django向けのモジュラリーファイル検索
Serialization
複雑なデータ型のシリアライズ用のライブラリ。
- msgpack - PythonにおけるMessagePackシリアライザの実装
- orjson - 高速かつ正確なJSONライブラリ
- marshmallow - 複雑なオブジェクトをシンプルなPythonデータ型に変換・変換するための軽量ライブラリ
- msgspec - JSON、MessagePack、YAML、TOMLに対応した高速なシリアライズとバリデーションライブラリ
データと科学
Data Analysis
データ分析用のライブラリ.
- pandas - 高性能で使いやすいデータ構造およびデータ分析ツールを提供するライブラリ
- polars - Rustで実装された高速なDataFrameライブラリ(Python APIを備える)
- ibis-framework - 20以上のバックエンドに対応するポータブルPython DataFrameライブラリ(1つのAPI)
Data Ingestion / ETL
複数のソースと宛先を対象としたデータ抽出、変換、ロードパイプライン用のライブラリ.
- General
- awswrangler - AWSサービス(Athena、Glue、Redshift、S3、DynamoDBなど)とのPandas統合
- dlt - 自動スキーマ推定、インクリメンタルロード、複数のソースとデストレーションをサポートするデータパイプライン構築用Python ETLフレームワーク
- pathway - ストリーム処理、リアルタイム分析、LLMパイプライン、RAG向けのPython ETLフレームワーク
- Financial Data
- yfinance - Yahoo Financeから市場および金融データをダウンロードするための簡単なPythonic方法
- akshare - 人間が使いやすい構成の金融データインターフェースライブラリ
- edgartools - SEC EDGAR提出書類およびXBRL財務諸表から構造化データをダウンロードするためのライブラリ
- openbb - アナリスティク、クォント、AIエージェント向けの金融データプラットフォーム
Data Validation
データの検証用のライブラリ。多くの場合、フォームに使用される.
- pydantic - Pythonの型ヒントを用いたデータ検証
- jsonschema - PythonにおけるJSON Schemaの実装
- pandera - pandas、polars、Sparkに対応したデータフレーム用データ検証ライブラリ
Data Visualization
データ可視化用のライブラリ。また、awesome-javascriptも参照してください。
- Plotting
- matplotlib - Pythonによる2次元プロットライブラリ
- plotly - Python向けのインタラクティブグラフライブラリ
- seaborn - Matplotlibを用いた統計データ可視化
- altair - Python向けの宣言型統計可視化ライブラリ
- bokeh - Python用のインタラクティブなウェブプロット
- Specialized
- cartopy - Matplotlibをサポートする地図用Pythonライブラリ
- pygraphviz - GraphvizへのPythonインターフェース
- graphify - コード、SQLスキーマ、ドキュメント、論文、画像、動画など、任意のフォルダをクエリ可能な知識グラフに変換
- Dashboards and Apps
Geolocation
住所の地名変換および経度・緯度の処理に用いられるライブラリ。
- geopandas - pandasに基づくPythonによる地理データツール(GeoSeries/GeoDataFrame)
- geopy - Pythonによる地理コードツールボックス
- geojson - GeoJSONへのPythonバインディングとユーティリティ
- geodjango - 世界レベルの地理ウェブフレームワークであり、Djangoの一部
Science
科学計算用のライブラリ。また、Python-for-Scientistsも参照してください。
- Core
- Symbolic Mathematics
- sympy - シンボリック数学用のPythonライブラリ
- Statistics
- statsmodels - Pythonでの統計モデルと経済計量学。
- Biology and Chemistry
- Physics and Engineering
- Simulation and Modeling
- Graphs and Networks
- networkx - 複雑ネットワーク向けの高生産性ソフトウェア
- Computational Geometry
- shapely - カーテシアン平面上の幾何学的オブジェクトの操作および解析
- Other
- colour-science - 色理論の多様な変換およびアルゴリズムの実装
- manim - 説明用数学動画向けのアニメーションエンジン
Quantum Computing
量子計算用のライブラリ。
- qiskit - IBMが支援する量子SDKで、実際の量子ハードウェア上で回路を構築・シミュレーション・実行
- qutip - Pythonにおける量子ツールボックス
- pennylane - 自動微分をサポートする量子と古典のハイブリッド機械学習ライブラリ
- cirq - Googleが開発したNISQデバイス向けのハードウェア意識型量子回路設計フレームワーク
開発ツール
Algorithms and Design Patterns
データ構造、アルゴリズムおよび設計パターンに関するPython実装。また、awesome-algorithmsを参照してください.
- Algorithms
- sortedcontainers - 並べ替え可能なコレクションの高速かつ純粋Python実装
- algorithms - データ構造およびアルゴリズムの最小例
- thealgorithms - すべてのアルゴリズ中Pythonで実装
- Design Patterns
- transitions - 軽量かつオブジェクト指向の有限状態マシン実装
- python-patterns - Pythonにおける設計パターンのコレクション
Interactive Interpreter
インタラクティブなPythonインタープリタ(REPL).
- ipython - 強力なインタラクティブPythonシェルであり、Jupyterノートブックの核となるもの
- jupyter - Pythonをインタラクティブに使う際に最大の効果を発揮できるための豊かなツールキット
- marimo - データを変換し、モデルを訓練。Gitに優しいPython形式で、次世代ノートブックのような体験を提供
- ptpython - python-prompt-toolkitに基づいた高度なPython REPL
Code Analysis
静的解析ツール、リントツールおよびコード品質チェックツール。また、awesome-static-analysisを参照してください.
- Code Analysis
- vulture - 死んでいるPythonコードを検出・分析するツール
- prospector - Pythonコードを分析するツール
- repowise - リポジトリを依存関係グラフ、Git履歴、自動生成ドキュメントにインデックス化し、死んでいるコードを検出するコードベースインテリジェンス
- Git Hooks
- pre-commit - マルチ言語のプリコミットハックを管理・維持するためのフレームワークです。
- Linters and Formatters
- Refactoring
- rope - RopeはPythonのリファクタリングライブラリ
- Type Checkers - awesome-python-typing
- Type Annotations Generators
- monkeytype - Python向けのシステムで、実行時の型を収集して静的型アノテーションを生成
Testing
コードベースのテストおよびテストデータの生成に用いられるライブラリ。また、awesome-python-testingも参照してください。
- Frameworks
- pytest - 成熟したフル機能のPythonテストツール
- hypothesis - Hypothesisは、Quickcheckスタイルのプロパティベーステストを実現する高度なテストライブラリ
- robotframework - 汎用的なテスト自動化フレームワーク
- Test Runners
- Browser Automation
- playwright-python - Playwrightテストおよび自動化ライブラリのPython版
- selenium - Selenium WebDriverのPythonバインディング
- seleniumbase - ウェブ自動化およびテスト用のPythonフレームワーク(ステルトオプション付き)
- Load Testing
- locust - Pythonで書かれたスケーラブルなユーザー負荷テストツール
- API Testing
- schemathesis - Open API / Swagger仕様で構築されたウェブアプリケーションの自動プロパティベーステストツール
- Mock
- Object Factories
- factory_boy - Python向けのテストフィクスチャの代替ツール
- polyfactory - クラスをサポートするモックデータ生成ライブラリ(
pydantic-factoriesの継続)
- Code Coverage
- coverage - コードカバレッジの測定
- Fake Data
Debugging Tools
コードのデバッグに用いられるライブラリ。
- pdb-like Debugger
- Tracing
- hunter - 柔軟なコードトレースツールキット
- Profiler
- py-spy - Pythonプログラム向けのサンプリングプロファイラー。Rustで書かれたもの。
- memray - Pythonコード、ネイティブ拡張、インタープリタ自身におけるメモリ割り当てを追跡するメモリプロファイラー。
- pyinstrument - 低オーバーヘッドで、読みやすい呼び出し木出力を持つ統計的なウォールクロックプロファイラー。
- scalene - Python向けの高パフォーマンスかつ高精度のCPU、GPU、メモリプロファイラー。
- Others
- django-debug-toolbar - Django向けのさまざまなデバッグ情報を表示するツール。
- icecream - 変数、式、プログラム実行を1つのシンプルな関数呼び出しで確認できるツール。
- flask-debugtoolbar - django-debug-toolbarをFlaskに移植したツール。
Build Tools
ソースコードからソフトウェアをコンパイルするためのライブラリ。Pythonのパッケージやビルドツールを探している場合は、Package Managementも参照してください。
- invoke - シェル指向のサブプロセスを管理し、実行可能なPythonコードをCLI呼び出し可能なタスクに整理するツール。
- scons - ソフトウェア構築ツール。
- doit - タスク実行者およびビルドツール。
Documentation
プロジェクトドキュメントの生成に用いられるライブラリ。
- sphinx - Pythonドキュメンテーション生成ツール。
- mkdocs-material - MkDocsに基づくドキュメンテーションフレームワークおよびMaterial Designテーマ。
- mkdocs - Markdownに優しいドキュメンテーション生成ツール。
- diagrams - 図式をコードとして扱うツール。
- pdoc - PythonライブラリのAPIドキュメンテーションを自動生成するEpydocの代替ツール。
DevOps
DevOps Tools
ソフトウェアおよびライブラリ(DevOps用).
- Cloud Providers
- boto3 - Python向けのAmazon Web Servicesインターフェース。
- awscli - Amazon Web Services向けのユニバーサルコマンドラインインターフェース。
- azure-sdk-for-python - Microsoft Azure SDK for Python、サービスごとのパッケージとして公開されたもの。
- google-cloud-python - Google CloudのPython用クライアントライブラリ、サービスごとのパッケドとして公開されたもの。
- Configuration Management
- ansible - 極めてシンプルなIT自動化プラットフォーム。
- cloud-init - クラウドインスタンスの初期化を扱うマルチディストリビューションパッケージ
- pyinfra - インフラストラクチャを自動化する柔軟なCLIツールおよびPythonライブラリ
- salt - インフラストラクチャの自動化および管理システム
- Deployment
- Monitoring and Processes
- psutil - マルチプラットフォームのプロセスおよびシステムユーティリティモジュール
- sentry-sdk - Python用のSentry SDK
- supervisor - UNIX向けのプロセス制御システム
- flower - Celeryタスクキューのリアルタイムモニタリングとウェブ管理インターフェース
- sh - Python用の完全なサブプロセスリプレースツール
- Other
- borgbackup - 圧縮および暗号化をサポートする重複除去アーカイブツール
- chaostoolkit - 開発者向けの混沌工程(Chaos Engineering)ツールキットおよびオーケストレーション
Distributed Computing
分散計算用のフレームワークおよびライブラリ.
- ray - 並列および分散Python環境を統合する機械学習エコシステムの統合システム
- pyspark - Apache Spark Python API.
- dask - 解析計算向けの柔軟な並列計算ライブラリ
- joblib - Pythonで軽量なパイプラインを提供するツールセット
- mpi4py - MPI用のPythonバインディング
Task Queues
タスクキューとの対話用のライブラリ.
- celery - 分散メッセージ伝達に基づく非同期タスクキュー/ジョブキュー
- rq - Python向けのシンプルなジョブキュー
- dramatiq - Python 3向けの高速かつ信頼性の高いバックグラウンドタスク処理ライブラリ
- huey - 小さなマルチスレッドタスクキュー
- taskiq - ネイティブなasyncioサポートとプラグイン可能なブローカーを備えた分散タスクキュー
Messaging
メッセージブローカーおよびイベントストリーミングとの対話に使うライブラリ。
- confluent-kafka - Apache Kafka向けConfluentのPythonクライアント(librdkafkaに基づく)
- pika - 純粋PythonによるRabbitMQ/AMQP 0-9—1クライアントライブラリ
- paho-mqtt - Python向けEclipse Paho MQTTクライアント
- faststream - Apache Kafka、RabbitMQ、NATS、MQTTおよびRedis上で非同期サービスを構築するためのフレームワーク
Job Schedulers
ジョブのスケジューリングに使うライブラリ。
- Task Scheduling
- apscheduler - 軽量だが強力なプロセス内タスクスケジューラで、関数のスケジュールを可能にする
- schedule - 人間向けのPythonジョブスケジューリング
- Workflow Orchestration
- apache-airflow - Airflowは、ワークフローをプログラム的に作成・スケジュール・監視するためのプラットフォーム
- prefect - Apache Kafka、RabbitMQ、NATS、MQTTおよびRedis上で、強固なデータパイプラインを構築・スケジュール・監視しやすいワークフローオーケストレーションフレームワーク
- dagster - データ資産の開発、生産、観察におけるオーケストレーションプラットフォーム
Logging
ログの生成および処理に使うライブラリ。
Network Virtualization
仮想ネットワークおよびSDN(ソフトウェア定義ネットワーク)に使うツールおよびライブラリ。
CLI & GUI
CLI Development
コマンドラインアプリケーションを構築するためのライブラリ.
- CLI Development
- argparse - (Python標準ライブラリ)コマンドラインオプションおよび引数の解析
- click - コンポジブルな方法で美しいコマンドラインインターフェースを作成するためのパッケージ
- typer - ClickおよびPydanticに基づく、Python型ヒントを使用する現代的なCLIフレームワーク
- prompt_toolkit - 強力なインタラクティブコマンドラインを構築するためのライブラリ
- fire - 任意のPythonオブジェクトからコマンドラインインターフェースを作成するためのライブラリ
- Terminal Rendering
- tqdm - ループやCLI用の高速かつ拡張可能な進行バー
- rich - ターミナルにおける豊かなテキストと美的フォーマットを提供するPythonライブラリ。また、非常に優れた
RichHandlerログハンドラーも提供しています - colorama - クロスプラットフォームでターミナル文字列を色付け
- alive-progress - リアルタイムの通過量、予測時間、非常にカッコイイアニメーションを備えた新しいプログレスバー
- TUI Frameworks
- textual - ターミナルとブラウザで実行可能なインタラクティブユーザーインターフェースを構築するためのフレームワーク
- urwid - ウィジェット、イベント、豊かな色などに強いサポートを備えたターミナルGUIアプリケーションを作成するためのライブラリ
- asciimatics - フルスクリーンテキストUI(インタラクティブフォームからASCIIアニメーションまで)を作成するためのパッケージ
CLI Tools
CLIベースの便利なツール.
- Database CLIs
- Downloaders
- yt-dlp - YouTubeおよびその他の動画サイトから動画をダウンロードするコマンドラインプログラム(youtube-dlのフォーク)
- HTTP Clients
- httpie - ユーザーに親切なcURLの代替品であるコマンドラインHTTPクライアント
- Project Scaffolding
- cookiecutter - コッキーカッター(プロジェクトテンプレート)からプロジェクトを作成するコマンドラインユーティリティ
- copier - プロジェクトテンプレートをレンダリングするためのライブラリおよびコマンドラインユーティリティ
- Shells
- xonsh - Pythonを活用した高機能なクロスプラットフォームシェル。
- Terminal Workflow
GUI Development
グラフィカルユーザーインターフェースアプリケーションを扱うためのライブラリ.
- Desktop
- Qt
- Tkinter
- tkinter - (Python標準ライブラリ) Tcl/Tk GUIツールキットへの標準Pythonインターフェース
- customtkinter - Tkinterをベースとした現代的でカスタマイズ可能なPython UIライブラリ
- tkdesigner - Figma APIを用いてFigma設計からTkinterインターフェースを生成
- Web-based
- Wrappers
- gooey - 1行でコマンドラインプログラムをフルGUIアプリケーションに変換
テキストとドキュメント
Text Processing
プレーンテキストのパースと操作に用いられるライブラリ.
- Encoding and Unicode
- charset-normalizer - リクエストエコシステムのデフォルトである、ユニバーサルな文字エンコーディング検出器
- chardet - Pythonによる文字エンコーディング検出器
- ftfy - Unicodeテキストを自動的に壊れにくく、一貫性のあるものに変換
- Fuzzy Matching
- rapidfuzz - さまざまな文字列メトリクスを用いた高速なフュージー文字列マッチング、C++ベース
- General
- Internationalization
- babel - Python向けの国際化ライブラリ
- Parser
- pygments - 一般的なシンタックスハイライトャー
- pyparsing - パーサーを生成するための汎用フレームワーク
- sqlparse - 非検証型のSQLパーサー
- phonenumbers - 国際電話番号のパース、フォーマット、保存および検証
- parsy - 簡単で汎用的なパーサー組み合わせライブラリ
- Transliteration and Slugs
- python-slugify - UnicodeをASCIIに変換するPythonのslugifyライブラリ
- unidecode - UnicodeテキストのASCII変換
- Unique identifiers
HTML Manipulation
HTMLおよびXMLを扱うライブラリ.
- beautifulsoup4 - HTMLやXMLをイテレート、検索、変更するためのPython的な慣習を提供
- lxml - HTMLおよびXMLを扱う非常に高速で使いやすく、多機能なライブラリ
- xmltodict - XMLを扱うのはJSONを扱うのと同じように感じる
- markupsafe - PythonでXML/HTML/XHTMLマーカー安全な文字列を実装
- justhtml - 純粋なPythonのHTML5パーサー
File Format Processing
特定のテキストフォーマットのパースと操作に用いられるライブラリ.
- General
- pyelftools - ELFファイルおよびDWARFデバッグ情報のパースと分析
- tablib - XLS、CSV、JSON、YAMLにおけるテーブルデータセットのモジュール
- File Conversion
- markitdown - ファイルおよびオフィスドキュメントをMarkdownに変換するPythonツール
- docling - ドキュメントを構造化データに変換するライブラリ
- Excel
- openpyxl - Excel 2010のxlsx/xlsm/xltx/xltmファイルを読み書きするライブラリ
- xlsxwriter - Excel .xlsxファイルを作成するPythonモジュール
- Word
- python-docx - Microsoft Word 2007/2008のdocxファイルを読み、クエリ、変更する
- PowerPoint
- python-pptx - PowerPoint (.pptx)ファイルを作成および更新するPythonライブラリ
- PDF
- pypdf - PDFページを分割、マージ、切り取り、変換できるライブラリ
- reportlab - 豊かなPDFドキュメントの迅速な作成を可能にする。
- pdfminer.six - Pdfminer.sixは元のPDFMinerのコミュニティが維持するフォークである。
- HTML-to-PDF
- weasyprint - HTMLとCSSの視覚的なレンダリングエンジンでPDF出力が可能。
- Markdown
- markdown-it-py - CommonMarkの100%サポート、拡張機能、構文プラグインを備えたマークダウンパーサー。
- markdown - ジョン・グリバーのマークダウンをPythonで実装したもの。
- mistune - 最も高速かつ機能が豊富な純Pythonによるマークダウンパーサー。
- Data Formats
File Manipulation
ファイル操作用のライブラリ。
- mimetypes - (Python標準ライブラド)ファイル名をMIMEタイプにマップする。
- pathlib - (Python標準ライブラリ)プラットフォームを越えてオブジェクト指向のパスライブラリ。
- watchfiles - シンプルで現代的かつ高速なPythonにおけるファイル監視とコードリロード。
- watchdog - ファイルシステムイベントを監視するAPIおよびシェルユーティリティ。
- python-magic - libmagicファイルタイプ識別ライブラリへのPythonインターフェース。
メディア
Image Processing
画像操作用のライブラリ。
- Barcodes and QR Codes
- qrcode - 純PythonによるQRコード生成器。
- python-barcode - Pythonでバーコードを作成する際に追加の依存関係を必要としない。
- General
- pillow - Pillowは親しみやすい PIL フォークである。
- scikit-image - (科学的)画像処理に用いるPythonライブラリ。
- rembg - 画像の背景を削除するツール。
- wand - MagickWandへのPythonバインディング、ImageMagickのC API。
- pyvips - メモリ消費が少ない高速画像処理ライブラリ
- Image Serving
- thumbor - スマートな画像サービス。画像のオンデマンドでの切り取り、サイズ変更、反転を可能にする。
Audio & Video Processing
音声、動画およびそのメタデータ操作用のライブラリ。
- Audio
- Video
- Metadata
- mutagen - オーディオメタデータを扱うPythonモジュール。
- tinytag - MP3、OGG、FLACおよびWaveファイルの音楽メタデータを読み取るためのライブラリ。
- beets - 音楽ライブラリマネージャーおよび MusicBrainz タグ付けツール。
Game Development
素晴らしいゲーム開発用のライブラリです。
Python言語
Implementations
Pythonの実装。
- cpython - Cで書かれたPythonプログラミング言語のデフォルトで最も広く使われている実装。
- micropython - 軽量で効率的なPythonプログラミング言語実装。
- pypy - 非常に高速かつ準拠性の高いPython言語実装。
- Cython - Python用の最適化された静的コンパイラ。
- pyodide - WebAssemblyに基づくブラウザおよびNode.js用のPythonディストリビューション。
Built-in Classes Enhancement
Pythonの標準クラスを強化するためのライブラリ。
- attrs - クラス定義における
__init__、__eq__、__repr__など、ボイラープレートの代替。 - bidict - 効率的でPython的、両方向のマップデータ構造および関連機能。
- uuid-utils - 非常に高速でRustベースのPythonの標準的な
uuidモジュールのdrop-inリプレースであり、RFC 9562(UUIDv6、UUIDv7、およびUUIDv8)をサポート。 - python-box - Pythonの辞書に進化したドット表記によるアクセス
Functional Programming
Pythonでの関数型プログラミング
- functools - (Python標準ライブラリ) 呼び出し可能なオブジェクトに対する高階関数および操作
- more-itertools -
itertoolsを超えてイテレートオブジェクトを操作するためのより多くのルーチン - toolz - イテレーター、関数、辞書に対する機能的ユーティリティのコレクション。また、Cythonによるパフォーマンス向上版のcytoolzも提供
- funcy - 洗練された実用的な関数ツール
- returns - 型安全なモナド、トランスフォーマー、および組み合わせユーティリティのセット
Asynchronous Programming
非同期、並列および並列実行に使うライブラリ。また、awesome-asyncioも参照してください。
- Async I/O
- Parallelism
- concurrent.futures - (Python標準ライブラリ) 非同期で呼び出し可能なオブジェクトを実行するための高度なインターフェース
- multiprocessing - (Python標準ライブラリ) プロセスベースの並列処理
Date and Time
日付と時刻を扱うためのライブラリ
- zoneinfo - (Python標準ライブラリ) IANA時区サポート。tz databaseをPythonに導入
- python-dateutil - 標準Pythonのdatetimeモジュールへの拡張
- dateparser - 数十言語の可読性のある日付を解析するPythonパーサー
- pendulum - Pythonの日時を簡単に扱う
- whenever - 現代的な日時ライブラリ。型安全かつ夏時間対応。Rustで実装されている
Python Toolchain
Environment Management
Pythonバージョンおよび仮想環境管理用のライブラリ。
- virtualenv - 孤立したPython環境を作成するためのツール
- uv - 非常に高速なPythonバージョン、パッケージ、プロジェクトマネージャーで、Rustで書かれたもの
- pyenv - シンプルなPythonによるバージョン管理
Package Management
パッケージおよび依存関係管理用のライブラリ。
- Package Managers
- Build Backends
- setuptools - 歴史的に最も広く使われているpyprojectのビルドバックエンド
- hatchling - hatchプロジェクトから提供される現代的で拡張可能なビルドバックエンド
- uv-build - uvの純Pythonプロジェクト向けの高速かつ最小のビルドバックエンド
Package Repositories
ローカルなPyPIリポジトリサーバーおよびプロキシ。
- bandersnatch - Python Packaging Authority (PyPA)が提供するPyPIのミラーツール
- devpi - PyPIサーバーおよびパッケージ化・テスト・リリースツール
- warehouse - 次世代Pythonパッケージリポジトリ(PyPI)
Distribution
リリース配布用にパッケージ化された実行ファイルを作成するためのライブラリ。
- Executables
- pyinstaller - Pythonプログラムをスタンドアローンの実行可能ファイルに変換(マルチプラットフォーム)
- Nuitka - Pythonプログラムを高パフォーマンスのスタンドアローン実行可能ファイルにコンパイル(マルチプラットフォーム、すべてのPythonバージョンに対応)
- shiv - 完全に自立したzipアプリ(PEP 441)を構築するためのコマンドラインツールだが、すべての依存関係を含む
- cx-Freeze - PythonスクリプトをWindows、macOS、Linux向けのスタンドアローン実行可能ファイルおよびインストーラに変換するPythonツール
- Obfuscation
- pyarmor - Pythonスクリプトを暗号化し、暗号化されたスクリプトを固定マシンにバインドまたは暗号化されたスクリプトの有効期限を設定するツール
Configuration Files
設定オプションの保存とパースに用いられるライブラリ。
- configparser - (Python標準ライブラリ)INIファイルパーサー
- python-dotenv -
.envファイルからキー値ペアを読み取り、環境変数として設定する - pydantic-settings - Pydanticモデルを用いた設定管理(バリデーション付き)および環境変数やシークレットファイルからの読み込み
- hydra-core - Hydraは複雑なアプリケーションを美しく構成するためのフレームワークです
- dynaconf - DynaconfはDjango、FlaskおよびFastAPI向けのプラグインを備えた設定マネージャです
セキュリティ
Cryptography
暗号化の基本操作および安全なプロトコルに用いられるライブラリ。
- cryptography - Python開発者に暗号学的基礎構成とレシピを公開するパッケージです
- pynacl - Pythonによるネットワーキングと暗号化(NaCl)ライブラリへのバインディング
- paramiko - Python用の本格的なSSHv2プロトコルライブラリです
- itsdangerous - 信頼できるデータを信頼できない環境に渡すためのさまざまなヘルパー機能です
Penetration Testing
侵入テストに用いられるフレームワークおよびツール。
- mitmproxy - パenetrationテストおよびソフトウェア開発者向けのTLS対応インタラクティブなHTTPプロキシです
- sqlmap - 自動SQLインジェクションおよびデータベース奪取ツール.
- sherlock-project - 複数のソーシャルネットワーク上でユーザー名からソーシャルメディアアカウントを特定します
- social-engineer-toolkit - ソーシャルエンジニアリングに用いるツールキットです
Supply Chain Security
既知の脆弱性に対して依存関係を監査するためのツール。
- pip-audit - PyPIアドバイザリーデータベースおよびOSVを用いて、Python環境および依存関係ツリーの既知の脆弱性を監査します
- uv audit - uvの組み込みの依存関係の脆弱性およびマルウェアスキャン(OSVに基づく)
Web Security
アプリケーション層のWebセキュリティ用のライブラリ。
- secure - ASGIおよびWSGIミドルウェアを用いたPythonウェブアプリケーション向けのHTTPセキュリティヘッダー
その他
Hardware
ハードウェアとのプログラミング用のライブラリ。
- bleak - asyncioを用いたPythonによるクロスプラットフォームBluetooth Low Energyクライアント
- pynput - 入力デバイスの制御および監視を行うライブラリです
- jumpstarter - リアルおよび仮想ハードウェア上で自動テストを行うためのハードウェアインザループテストフレームワーク(Pythonクライアントライブラリ付き)
Microsoft Windows
マイクロソフト・ウィンドウズ上のPythonプログラミング
- pythonnet - Pythonと.NET共通言語ランタイム(CLR)の統合
- pywin32 - Windows向けのPython拡張機能
- pyenv-win - Windows向けのPythonバージョンマネージャ(pyenvフォーク)
- winpython - Windows 10/11向けのポータブル開発環境
Miscellaneous
上記のカテゴリに該当しない便利なライブラリやツール
Resources
学習リソースや新しいPythonライブラリを発見する場所
Newsletters
Podcasts
Websites
- Python Developer Tooling Handbook - パッケージ管理、リント、型チェック、テストなど、現代のPython開発者向けツールに関する包括的なガイド
Contributing
ご寄付は常に歓迎です!まず contribution guidelines をご確認ください。
この意見に基づくリストについて何か質問がある場合は、X(Twitter)上で @vinta までご連絡ください。