pyfltr: 多言語プロジェクトの品質チェック基盤
多言語プロジェクトの品質チェックを一元管理し、コーディングエージェントから扱える形で提供する基盤。 Python / Rust / .NET / TypeScript・JavaScript / ドキュメントなどの formatter・linter・testerを単一コマンドで実行する。 プロジェクト固有のカスタムチェックも同一基盤へ統合できる。 (要Python 3.11以上)
特徴
- プロジェクト固有のカスタムチェック(独自スクリプト等)を組み込みツールと同一の実行基盤へ統合できる
- コーディングエージェント向けJSON Lines出力(
--output-format=jsonl)とMCPサーバー(pyfltr mcp)を提供する - formatter・linter・testerをまとめて呼び出し、複数ツールの並列実行で総実行時間を短縮する
- 設定を
pyproject.tomlに集約する - 除外指定(exclude)の書式差をツール間で吸収する
- 横断検索(
grep)と置換(replace、世代管理付き--undo対応)を提供する - シェル補完スクリプトを生成する
インストール
uvx pyfltrで実行する。事前インストールやdev依存への追加なしで最新版を取得して実行する。
uvx pyfltr --help
uvでバージョン管理する場合はuv add --dev pyfltrまたはuv add --dev "pyfltr[python]"で追加し、
uv run pyfltr ...で呼び出す。
pip環境ではpip install pyfltrを使う。
実行するツールはpyproject.tomlの[tool.pyfltr]セクションで指定する。
段階的な導入手順ははじめにを参照。
使い方
チェック実行(ci / run / fast)・横断検索と置換(grep / replace)など。
実行履歴参照(list-runs / show-run)・設定操作(config)・MCPサーバー(mcp)も利用できる。
詳細はCLIコマンドを参照。
コーディングエージェント向け
pyfltr runをエージェントから直接呼び出すか、pyfltr mcpでMCPサーバーとして登録する。
AI_AGENT / CODEX_CI / CLAUDECODE / CURSOR_AGENTのいずれかが設定された環境では、
runの出力形式がJSON Lines、静音モードが既定値として有効になる。
# 直接呼び出し(JSONL出力)
uvx pyfltr run
# MCPサーバーとして登録(Claude Code例)
claude mcp add pyfltr -- uvx pyfltr mcp
詳細はCLIコマンドの「コーディングエージェント連携」を参照。
プロジェクト固有のチェックを追加する方法は プロジェクト固有チェックの追加を参照。
ドキュメント
- https://ak110.github.io/pyfltr/: はじめに・対応ツール一覧・設定リファレンス
- https://ak110.github.io/pyfltr/llms.txt: LLM向け構造化インデックス
- docs/development/development.md: 開発者向け情報
Release files for pyfltr 3.19.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyfltr-3.19.0.tar.gz | 893.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyfltr-3.19.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.3 MB
Release files / pyfltr-3.19.0.tar.gz
| Download URL | pyfltr-3.19.0.tar.gz |
|---|---|
| Size | 893.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f1f85e6a46f6ddde66aef655ad9b34136c35c61cd1b658295ae234320cc6b11a
|
|
BLAKE2b-256 checksum How to use checksums |
c780a474a1938035e46b75d6b104fcfc9f6130ec7855fe6c278ce6e4204164c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / pyfltr-3.19.0-py3-none-any.whl
| Download URL | pyfltr-3.19.0-py3-none-any.whl |
|---|---|
| Size | 386.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3d1e15f95da6a431e2739567c43cc6b0c9a731e4c2ddd4464b54a68aae55df50
|
|
BLAKE2b-256 checksum How to use checksums |
19f94109aa7351b63fabdcfd7ed7d41524ba280c7a89f4e261372f9f9c310126
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|