# samuelcolvin/watchfiles

Simple, modern and fast file watching and code reload for Python, written in Rust

Repository: https://github.com/samuelcolvin/watchfiles
Canonical: https://ross.abutalabs.com/products/watchfiles
Homepage: https://watchfiles.helpmanual.io
Language: Python
License: MIT
License Family: permissive
Topics: python, asyncio, filesystem, notify, inotify, inotifywatch, uvicorn, rust
Last push: 2026-08-09T06:45:58+00:00

## Health v2 (maintenance only)
Score: 88/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 96, release rhythm 72, longevity 100
- inputs: {"age_days": 3246, "days_push": 24, "days_rel": 107, "gap_med": 49.0, "n_releases_24m": 9}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2529, forks 141 (observed 2026-08-28T04:06:58.721962+00:00)

## What it is
watchfiles is a Python library providing simple, high-performance file watching and code reload, built on the Rust Notify library. It offers sync and async watch APIs, process restart utilities, and a CLI for running commands on file changes.

## Use cases
- watch a directory for file changes in python
- auto-reload python code when files change
- run a command whenever files in a folder change
- async file watching with asyncio
- restart a dev server on file save
- monitor filesystem changes cross-platform

## When to choose
- you need fast, reliable file system notifications in Python
- you want automatic code reload during development
- you need both sync and asyncio watching APIs
- you want a batteries-included CLI for watch-and-run workflows

## When to avoid
- you need file watching in a non-Python language
- you only need a one-time directory diff rather than live watching
- you cannot install binary wheels and lack a Rust toolchain

## Facets
- artifact type: library
- maturity: stable
- function: developer-tools, cli, concurrency
- domain: developer-tools
- platform: python, windows, cross-platform, cli
- tags: file-watching, code-reload, hot-reload, rust, asyncio, inotify, filesystem-notifications, command-line, automation, linux, macos

## Member repositories
- samuelcolvin/watchfiles (main) score 88

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:58.721962+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:25:22.404658+00:00, confidence not recorded.
  - readme: https://github.com/samuelcolvin/watchfiles (fetched 2026-08-28T04:06:58.721962+00:00, sha 07cba5bd7e29)
  - homepage: https://watchfiles.helpmanual.io (fetched 2026-08-29T10:07:46.161522+00:00, sha f1f5379966eb)
  - site_page: https://watchfiles.helpmanual.io/api/watch (fetched 2026-08-29T10:07:46.170533+00:00, sha 8b0ebb7c8a1f)
  - site_page: https://watchfiles.helpmanual.io/api/run_process (fetched 2026-08-29T10:07:46.172724+00:00, sha 30f8a3582fcc)
- Data as of 2026-08-30T08:39:29.467469+00:00.
