Skip to main content

Python Formatters, Linters, and Testers Runner.

Project description

pyfltr: Python Formatters, Linters, and Testers Runner

CI PyPI version

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コマンドの「コーディングエージェント連携」を参照。

ドキュメント

Project details


Release history Release notifications | RSS feed

This version

3.8.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyfltr-3.8.0.tar.gz (450.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyfltr-3.8.0-py3-none-any.whl (194.5 kB view details)

Uploaded Python 3

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

Hashes for pyfltr-3.8.0.tar.gz
Algorithm Hash digest
SHA256 736b6009a4851fc7b786fb0162145b7b99edc6eda4b74cde9f9ef5e0c07e2479
MD5 4a9b496b756ac6181bdf05e97d6cd41b
BLAKE2b-256 91e75e957f9287048e71e1f0a8bf563584f671eb760326c7cb294ca9ffcd5301

See more details on using hashes here.

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

Hashes for pyfltr-3.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f0c15ec3d1cc6714696c852e893735b0724c6a82a6ddea6a55159fae3bf982ba
MD5 f5164ea1b68b2d6e88ece44933e5b817
BLAKE2b-256 b4429a674207674a5faf939531860b230e69813f352b05af2e323097be2b143f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page