pytest-watcher
Automatically rerun your tests on file modifications
Decision gist · record as of 2026-08-14
Yes, if you want a lightweight, low-friction way to automatically rerun tests during development. The aging maintenance status (last release 216 days ago) means you should not expect rapid bug fixes, but the package is stable and has no known vulnerabilities. Install it for active development workflows where continuous test feedback is valuable.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later
- Low install friction with only two runtime dependencies (tomli and watchdog).
- Maintenance status is aging—last release was 216 days ago—so expect slower response to issues, though the package is stable enough for established workflows.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution with minimal legal friction.
last release 2026-01-10 (216 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,808,295 downloads/mo, #3,532 on PyPI
Alternatives
Verify before relying
pip install pytest-watcher
ptw .- Whether interactive mode keyboard shortcuts work reliably on all POSIX systems
- Performance characteristics when watching large codebases or many file patterns simultaneously
- Compatibility with test runners other than pytest
What it is and what it does
pytest-watcher is a command-line tool that monitors your Python project for file changes and automatically reruns your tests. It watches for new, modified, deleted, or moved .py files by default, though you can customize the patterns. The tool uses native system file monitoring APIs (via watchdog) instead of polling, making it efficient on supported platforms including Unix and Windows.
You run it with `ptw .` to watch your current directory, and it passes any additional arguments to pytest or your chosen test runner. It includes a configurable delay (default 0.2 seconds) to account for post-processors like code formatters, optional screen clearing, and terminal notifications on test failure. Configuration can be set in pyproject.toml, and it requires Python 3.9 or later.
Use it for
- Rapid feedback loop during test-driven development where you want tests to run immediately after saving code
- Continuous validation of a specific directory or file pattern while refactoring
- Running alternative test runners with the same watch-and-rerun workflow
- Ignoring certain files while watching the rest of your codebase
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you want a lightweight, low-friction way to automatically rerun tests during development.
The aging maintenance status (last release 216 days ago) means you should not expect rapid bug fixes, but the package is stable and has no known vulnerabilities. Install it for active development workflows where continuous test feedback is valuable.
Install
pytest-watcher on PyPI
Before you install
Low install friction with only two runtime dependencies (tomli and watchdog). Maintenance status is aging—last release was 216 days ago—so expect slower response to issues, though the package is stable enough for established workflows.
Requires Python 3.9 or later
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal legal friction.
Quickstart
pip install pytest-watcher
ptw .
Verify before relying
- Whether interactive mode keyboard shortcuts work reliably on all POSIX systems
- Performance characteristics when watching large codebases or many file patterns simultaneously
- Compatibility with test runners other than pytest
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagestomliwatchdog |
| Maintenance | Aging 216 days since the last release |
| First released | |
| Downloads | 1,808,295 / month, #3,532 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaFramework :: PytestIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonTopic :: Software Development :: TestingTopic :: Utilities |
Evidence: pytest_watcher-0.6.3-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “auto-rerun tests on file change”
- pytest-watcherAutomatically reruns pytest (or another test runner) whenever your…
- pytest-watchRuns pytest continuously, re-executing tests whenever project files…
- pywatchmanpywatchman is a Python client for Watchman, a file watching service…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
See also pytest-hot-reloading · pytest-watch · watchgod · watchfiles · hupper · pywatchman · pytest-retry · pytest-rerunfailures · pyinotify · sphinx-autobuild