Python Formatters, Linters, and Testers Runner.
Project description
pyfltr: Python Formatters, Linters, and Testers Runner
Python / Rust / .NET / TypeScript・JavaScript / ドキュメントなど多言語プロジェクトの formatter・linter・testerを単一コマンドで並列実行するCLIツール。 (要Python 3.11以上)
特徴
- formatter・linter・testerをまとめて呼び出す
- 複数ツールの並列実行による総実行時間の短縮
- コーディングエージェント向けJSON Lines出力(
--output-format=jsonl) - 設定の集約:
pyproject.tomlに寄せた統一設定 - 除外指定(exclude)の書式差をツール間で吸収
- MCPサーバー(
pyfltr mcp) - シェル補完スクリプト生成
インストール
推奨はuvxでの実行。事前のインストールやdev依存への追加は不要で、常に最新のpyfltrを使える。
Python系ツール(ruff-format / ruff-check / mypy / pylint / pyright / ty / pytest / uv-sort)は本体依存に同梱されている。
uvx pyfltr単発で全機能を使える。
uvx pyfltr --help
dev依存に固定したい場合はuv add --dev pyfltrで追加し、
通常通りuv run pyfltr ...で呼び出す。
pip環境ではpip install pyfltrを使う。
Python / JavaScript / Rust / .NETの各言語カテゴリに属するツールはすべて既定で無効(opt-in)である。
preset = "latest" + 言語カテゴリキー(python / javascript / rust / dotnet)のtrue指定だけで、
当該言語の推奨ツール一式が有効化される。
archive保持期間やキャッシュ設定など複数プロジェクトで共通にしたい設定は、
グローバル設定ファイル(Linux: ~/.config/pyfltr/config.toml)に集約できる。
詳細は設定項目および
グローバル設定を参照。
使い方
uvx pyfltr --help
主なサブコマンド
pyfltr ci/run/fast— チェック実行(CI / ローカル全体 / 軽量)pyfltr run-for-agent— エージェント向け(runの出力形式の既定値をjsonlに切り替えたサブコマンド)pyfltr list-runs/show-run— 実行履歴の参照pyfltr config— 設定ファイルの操作(get/set/delete/list)pyfltr command-info— ツール起動方式の確認pyfltr mcp— MCPサーバー
詳細はCLIコマンドを参照。
コーディングエージェント向け運用
pyfltr run-for-agentをエージェントから直接呼び出すか、pyfltr mcpでMCPサーバーとして登録する。
# 直接呼び出し(JSONL出力)
uvx pyfltr run-for-agent
# 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 — 開発者向け情報
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyfltr-3.8.0.tar.gz.
File metadata
- Download URL: pyfltr-3.8.0.tar.gz
- Upload date:
- Size: 450.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
736b6009a4851fc7b786fb0162145b7b99edc6eda4b74cde9f9ef5e0c07e2479
|
|
| MD5 |
4a9b496b756ac6181bdf05e97d6cd41b
|
|
| BLAKE2b-256 |
91e75e957f9287048e71e1f0a8bf563584f671eb760326c7cb294ca9ffcd5301
|
File details
Details for the file pyfltr-3.8.0-py3-none-any.whl.
File metadata
- Download URL: pyfltr-3.8.0-py3-none-any.whl
- Upload date:
- Size: 194.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0c15ec3d1cc6714696c852e893735b0724c6a82a6ddea6a55159fae3bf982ba
|
|
| MD5 |
f5164ea1b68b2d6e88ece44933e5b817
|
|
| BLAKE2b-256 |
b4429a674207674a5faf939531860b230e69813f352b05af2e323097be2b143f
|