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: 開発者向け情報
Metadata
Release files for pyfltr 3.20.2
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.20.2.tar.gz | 940.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyfltr-3.20.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.3 MB
Release files / pyfltr-3.20.2.tar.gz
| Download URL | pyfltr-3.20.2.tar.gz |
|---|---|
| Size | 940.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cf4f538dd8aefd0d8fc4a643b61bc2da4ead626d71d93e67bf79ab4425d98b62
|
|
BLAKE2b-256 checksum How to use checksums |
75e67a6231df19405cf6088e471fd2dc931399ec9b7d00725740a268967f6e34
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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.20.2-py3-none-any.whl
| Download URL | pyfltr-3.20.2-py3-none-any.whl |
|---|---|
| Size | 405.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b3977226e69e545d4e4a909e323dbfe25051c462c964925297a51dfd1a32c1db
|
|
BLAKE2b-256 checksum How to use checksums |
a42be581aba6032f93bd82927e56f6bea429fbddbfa947d32db680292a4bda14
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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}
|