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.18.1
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.18.1.tar.gz | 875.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyfltr-3.18.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.3 MB
Release files / pyfltr-3.18.1.tar.gz
| Download URL | pyfltr-3.18.1.tar.gz |
|---|---|
| Size | 875.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b4bdb86fe0024e74a75a8ba8fb5d5a8fd8a43770497e49a2260702eff903aa76
|
|
BLAKE2b-256 checksum How to use checksums |
375d0dd8a1d002fd524b9e7f2d2979136e649af9d097c2f89f08a5762c0f8ee3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","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.18.1-py3-none-any.whl
| Download URL | pyfltr-3.18.1-py3-none-any.whl |
|---|---|
| Size | 384.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f98aaf1a0c9bfd43998881cda002cb6dc1a7676290f1e4d6afc79a6f40f500fb
|
|
BLAKE2b-256 checksum How to use checksums |
fa895e989cc4298d2247c8826a8a12ae45e91621c7b739bbd0e3ac33f37997f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","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}
|