コンテンツにスキップ

利用者向けガイド

インストール

標準ライブラリ用の支援と、ベース依存を使うモジュールを導入する:

コア依存: beautifulsoup4、httpx、mcp、werkzeug。

pip install pytilpack

各モジュールが必要とするライブラリはextrasで追加インストールする:

pip install pytilpack[all]       # 全モジュール
pip install pytilpack[fastapi]   # pytilpack.fastapi 用
pip install pytilpack[flask]     # pytilpack.flask 用
# ...

Python 3.15以降では、各モジュールは関数内でだけ使う依存ライブラリを最初の利用時まで読み込まない(lazy import)。 このため必要なextrasが未導入の場合、ImportErrorがモジュールのimport時ではなく該当機能の初回呼び出し時に発生することがある。

uvxでCLIを使う場合、サブコマンドが要求するextrasを--fromで明示する:

uvx pytilpack mcp
uvx --from='pytilpack[sqlalchemy]' pytilpack wait-for-db-connection 'sqlite:///:memory:'

SQLiteの標準ドライバ以外は、URIに対応するDBドライバも同じ環境へ導入する。 導入例はCLIコマンドのDB接続待機を参照。

extras一覧

Extra 対象モジュール 直接依存パッケージ(版指定を除く)
all 全モジュール azure-identity、babel、bleach、cryptography、defusedxml、fastapi、flask-login、flask、html5lib、hypercorn、markdown、msal、openai、pillow、pycryptodome、pydantic、pytest、pytest-asyncio、python-dotenv、pyyaml、quart-auth、quart、sqlalchemy[asyncio]、tabulate[widechars]、tiktoken、tinycss2、tqdm、uvicorn
babel pytilpack.babel babel
bleach bleach bleach
environ pytilpack.environ python-dotenv
fastapi pytilpack.fastapi defusedxml、fastapi、html5lib
flask pytilpack.flask、pytilpack.flask_login defusedxml、flask-login、flask、html5lib
htmlrag pytilpack.htmlrag(ベース依存で利用可能) なし(後方互換用の空extra)
markdown pytilpack.markdown bleach、markdown、tinycss2
mcp pytilpack.cli.mcp(ベース依存で利用可能) なし(後方互換用の空extra)
msal pytilpack.msal azure-identity、cryptography、msal
pycryptodome pytilpack.pycrypto pycryptodome
pydantic pytilpack.pydantic pydantic
pytest pytilpack.pytest pytest、pytest-asyncio
pyyaml pytilpack.yaml pyyaml
quart pytilpack.quart、pytilpack.quart_auth defusedxml、html5lib、hypercorn、quart-auth、quart、uvicorn
sqlalchemy pytilpack.sqlalchemy sqlalchemy[asyncio]、tabulate[widechars]
tiktoken pytilpack.tiktoken openai、pillow、tiktoken
tqdm pytilpack.tqdm tqdm
web pytilpack.web html5lib

主な使い方

各モジュールを個別にimportして利用する。

import pytilpack.xxx

xxxには対象ライブラリ名(httpxやpathlibなど)が入る。

一部はCLIもある。詳細はCLIコマンドを参照。

モジュール一覧

Webフレームワーク

データ処理・シリアライゼーション

セキュリティ・暗号

HTTP・Web

国際化・テキスト処理

非同期・並行処理

ファイルシステム・OS

開発・テスト支援