利用者向けガイド¶
インストール¶
標準ライブラリ用の支援と、ベース依存を使うモジュールを導入する:
コア依存: beautifulsoup4、httpx、mcp、werkzeug。
各モジュールが必要とするライブラリは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して利用する。
xxxには対象ライブラリ名(httpxやpathlibなど)が入る。
一部はCLIもある。詳細はCLIコマンドを参照。
モジュール一覧¶
Webフレームワーク¶
データ処理・シリアライゼーション¶
- pytilpack.csv
- pytilpack.dataclasses
- pytilpack.json
- pytilpack.jsonc: JSON with Comments関連
- pytilpack.pydantic
- pytilpack.sqlalchemy
- pytilpack.yaml
セキュリティ・暗号¶
- pytilpack.crypto: 署名・トークン関連
- pytilpack.msal
- pytilpack.pycrypto: AES-GCM暗号化
- pytilpack.secrets: シークレットキー関連
HTTP・Web¶
- pytilpack.data_url: データURL関連
- pytilpack.healthcheck: ヘルスチェック処理関連
- pytilpack.htmlrag: HtmlRAG関連
- pytilpack.http: HTTP関連
- pytilpack.httpx
- pytilpack.sse: Server-Sent Events関連
- pytilpack.web: Web関連
国際化・テキスト処理¶
- pytilpack.babel
- pytilpack.base64
- pytilpack.i18n: 国際化(i18n)関連(ベース依存で利用可能)
- pytilpack.markdown
- pytilpack.tiktoken
非同期・並行処理¶
- pytilpack.asyncio
- pytilpack.ratelimit: レートリミッター
- pytilpack.threading
- pytilpack.threadinga: asyncio版スレッドユーティリティ
ファイルシステム・OS¶
- pytilpack.cache: ファイルキャッシュ関連
- pytilpack.fnctl
- pytilpack.io: IO関連のユーティリティ
- pytilpack.pathlib
- pytilpack.zipfile: ZIPエントリ名復号、Zip Slip検証