watchfiles
Simple, modern and high performance file watching and code reload in python.
Install
watchfiles on PyPI
pip
pip install watchfilesuv
uv add watchfilespoetry
poetry add watchfilesPackage facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — anyio |
| Maintenance | actively maintained — 87 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: watchfiles-1.2.0-cp310-cp310-macosx_10_12_x86_64.whl; watchfiles-1.2.0-cp310-cp310-macosx_11_0_arm64.whl; watchfiles-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; watchfiles-1.2.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; watchfiles-1.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl; watchfiles-1.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; watchfiles-1.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl; watchfiles-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; watchfiles-1.2.0-cp310-cp310-manylinux_2_31_riscv64.whl; watchfiles-1.2.0-cp310-cp310-musllinux_1_1_aarch64.whl; watchfiles-1.2.0-cp310-cp310-musllinux_1_1_x86_64.whl; watchfiles-1.2.0-cp310-cp310-win32.whl; watchfiles-1.2.0-cp310-cp310-win_amd64.whl; watchfiles-1.2.0-cp311-cp311-macosx_10_12_x86_64.whl; watchfiles-1.2.0-cp311-cp311-macosx_11_0_arm64.whl; watchfiles-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; watchfiles-1.2.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; watchfiles-1.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl; watchfiles-1.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; watchfiles-1.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
About watchfiles
from the package's own PyPI description — quoted content, verbatim
watchfiles
CI (image) Coverage (image) pypi (image) CondaForge (image) license (image)
Simple, modern and high performance file watching and code reload in python.
Documentation: watchfiles.helpmanual.io
Source Code: github.com/samuelcolvin/watchfiles
Underlying file system notifications are handled by the Notify rust library.
This package was previously named "watchgod", see the migration guide for more...
Read as markdown · JSON record · Source repository · Homepage · Docs
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
watchfiles provides high-performance file system monitoring and automatic code reloading for Python applications, using the Notify Rust library for efficient file change detection across platforms.
Medium install friction due to compiled Rust bindings, but pre-built wheels are available for most common architectures (x86_64, ARM, etc.) on Linux, macOS, and Windows. The package is actively maintained with recent releases and depends only on anyio, keeping the dependency tree minimal.
Licensed under MIT (permissive), allowing use in both open-source and commercial projects with minimal restrictions.
Usage
pip install watchfiles
from watchfiles import watch
for changes in watch('./path/to/dir'):
print(changes)
Requires Python 3.10 or later; if pre-built wheels are unavailable for your platform, Rust stable must be installed to build from source.
Verdict: watchfiles is a production-ready, actively maintained file watcher with strong platform coverage and no known vulnerabilities. The medium install friction is justified by its Rust-backed performance and is mitigated by comprehensive pre-built wheel availability. Suitable for development tools, auto-reload systems, and file monitoring tasks where performance matters.
Needs verification
- Whether the Rust dependency is automatically handled during installation on platforms without pre-built wheels
- Performance characteristics compared to pure-Python alternatives in typical use cases
Similar packages
permissive · top 1,000 on PyPI
fastapi-clipermissive · top 1,000 on PyPI
uvicornpermissive · top 100 on PyPI
editablespermissive · top 1,000 on PyPI
strands-agentspermissive · top 1,000 on PyPI
opencensus-contextpermissive · top 1,000 on PyPI
kafka-pythonpermissive · top 1,000 on PyPI
tree-sitter-bashpermissive · top 1,000 on PyPI
pathlib-abcpermissive · top 1,000 on PyPI
appdirspermissive · top 1,000 on PyPI