Skip to main content

Monitor Python files and auto-run ruff, ty, and formatting checks on change. Fast, colorful, and easy CLI for code quality automation.

Project description

ruffit

A Python CLI tool for monitoring .py files and automatically running code quality checks and formatting.

Features

  • Watches for changes to Python files in any folder you specify
  • Debounces rapid file events to avoid duplicate triggers
  • On modification, automatically runs:
    • ruff format to auto-format code
    • ruff check to lint and check for code issues
    • ty check to check type annotations
  • Rich terminal output for clear, colorful feedback
  • Flexible CLI: monitor any folder by name, or the whole project

Installation

pip install ruffit

Or, for local development:

pip install -e .

Usage

Monitor all Python files in the project:

ruffit all

Monitor only a specific folder (e.g., tests):

ruffit tests

If the folder does not exist, ruffit will print an error.

Development & Testing

  • Tests are in the tests/ folder and use pytest.
  • To install test dependencies:
    pip install .[test]
    
  • To run tests:
    pytest
    

Contributing

Pull requests and issues are welcome!

License

MIT

Project details


Download files

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

Source Distribution

ruffit-0.1.0.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

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

ruffit-0.1.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file ruffit-0.1.0.tar.gz.

File metadata

  • Download URL: ruffit-0.1.0.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ruffit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5f3053b5c511bb6a63732339e09cee56bbd3d137003312f07a809d2a110fce3f
MD5 eb70740de8db04e641022a8b7eaa45e7
BLAKE2b-256 cc99f1298cbd80cdef7200c2d63e93cafb76d536be291d1a736bf32181d427a8

See more details on using hashes here.

File details

Details for the file ruffit-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ruffit-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ruffit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2e01e2a966c72b7f0bd76e8e6644b9656a473a8e5f39f4fcc9407313054c3586
MD5 141ffc74cf36204e96036bcf34cfa36e
BLAKE2b-256 1038957e635742ce91dd39283abca73f7918464134f8b4c2c602173437f7c68e

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