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.21.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.21.0.tar.gz | 956.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyfltr-3.21.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.4 MB
Release files / pyfltr-3.21.0.tar.gz
| Download URL | pyfltr-3.21.0.tar.gz |
|---|---|
| Size | 956.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
158722aa895f84c925d1513a74055ed7530b2b3e117d740f2c43c237ffeffdb2
|
|
BLAKE2b-256 checksum How to use checksums |
78be9e545a01fe88bfb18d0d0093a42d8b55c8bd2af32dbba5001ff557313982
|
| 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.21.0-py3-none-any.whl
| Download URL | pyfltr-3.21.0-py3-none-any.whl |
|---|---|
| Size | 410.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b85406ff409f06ef94e55a906aae9eb6a33c9042e403b8b3ad88e7b03e1cd150
|
|
BLAKE2b-256 checksum How to use checksums |
50e4c4fef29874c3cfe5278547cc2f842e05ce0ec89673d83bd27a180aafdaca
|
| 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}
|