Metadata-Version: 2.4
Name: pyfltr
Version: 3.9.1
Summary: Python Formatters, Linters, and Testers Runner.
Project-URL: Homepage, https://github.com/ak110/pyfltr
Author-email: "aki." <aki@tqzh.tk>
License: MIT
License-File: LICENSE
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Python: <4.0,>=3.11
Requires-Dist: dill>=0.3
Requires-Dist: mcp>=1.0
Requires-Dist: mypy>=1.0
Requires-Dist: natsort>=8.4.0
Requires-Dist: platformdirs>=4.0
Requires-Dist: pre-commit>=4.5.1
Requires-Dist: psutil>=6.0
Requires-Dist: pylint-pydantic>=0.4.1
Requires-Dist: pylint>=3.0
Requires-Dist: pyright[nodejs]>=1.1.403
Requires-Dist: pytest-asyncio>=1.0.0
Requires-Dist: pytest-timeout>=2
Requires-Dist: pytest>=7.0
Requires-Dist: python-ulid>=3.0
Requires-Dist: pyyaml>=6.0.3
Requires-Dist: ruff>=0.12.1
Requires-Dist: textual>=8.0.0
Requires-Dist: tomlkit>=0.13
Requires-Dist: ty>=0.0.26
Requires-Dist: typos>=1.0
Requires-Dist: uv-sort>=0.5
Requires-Dist: yamllint>=1.0
Provides-Extra: python
Description-Content-Type: text/markdown

# pyfltr: Python Formatters, Linters, and Testers Runner

[![CI][ci-badge]][ci-url]
[![PyPI version](https://badge.fury.io/py/pyfltr.svg)](https://badge.fury.io/py/pyfltr)

[ci-badge]: https://github.com/ak110/pyfltr/actions/workflows/ci.yaml/badge.svg
[ci-url]: https://github.com/ak110/pyfltr/actions/workflows/ci.yaml

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を利用できる。

```shell
uvx pyfltr --help
```

`uv`でバージョン管理したい場合は`uv add --dev pyfltr`または`uv add --dev "pyfltr[python]"`で追加し、
`uv run pyfltr ...`で呼び出す。
pip環境では`pip install pyfltr`を使う。

実行するツールはpyproject.tomlの`[tool.pyfltr]`セクションで指定する。
詳細は[設定項目](docs/guide/configuration.md)を参照。

## 使い方

チェック実行（`ci` / `run` / `fast`）・エージェント向け出力（`run-for-agent`）・
実行履歴参照（`list-runs` / `show-run`）・設定操作（`config`）・MCPサーバー（`mcp`）など。

詳細は[CLIコマンド](docs/guide/usage.md)を参照。

### コーディングエージェント向け

`pyfltr run-for-agent`をエージェントから直接呼び出すか、`pyfltr mcp`でMCPサーバーとして登録する。

```shell
# 直接呼び出し（JSONL出力）
uvx pyfltr run-for-agent

# MCPサーバーとして登録（Claude Code例）
claude mcp add pyfltr -- uvx pyfltr mcp
```

詳細は[CLIコマンド](docs/guide/usage.md)の「コーディングエージェント連携」を参照。

## ドキュメント

- <https://ak110.github.io/pyfltr/> — 概要・対応ツール一覧・設定リファレンス
- <https://ak110.github.io/pyfltr/llms.txt> — LLM向け構造化インデックス
- [docs/development/development.md](docs/development/development.md) — 開発者向け情報
