pytest-hot-reloading
Decision gist · record as of 2026-08-14
Yes, if you have a large project with slow imports and run tests frequently during development. The dormant maintenance status and unclear license are minor concerns; the bigger risk is that the plugin may not work with all libraries (it notes workarounds exist but require manual setup) and can occasionally enter a bad state requiring a restart. Not worth installing if your test suite runs in under 5 seconds, or if you need active maintenance and support.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Daemon must be started separately or with --daemon-start-if-needed flag; VS Code's default test adapter may hang unless you opt out of the experimental pythonTestAdapter.
- Low install friction with only two runtime dependencies (cachetools and jurigged).
License · maintenance · safety
(unclear) — License status is unclear; no SPDX identifier or raw license text is available in the metadata, so you cannot verify licensing terms before use.
last release 2024-09-23 (690 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 189,025 downloads/mo, #9,936 on PyPI
Alternatives
Verify before relying
pip install pytest-hot-reloading
Add to pyproject.toml:
[tool.pytest.ini_options]
addopts = "-p pytest_hot_reloading.plugin"
Then run: pytest --daemon
And in another terminal: pytest- Whether the dormant maintenance status means critical bugs remain unfixed or if the plugin is stable enough for production-like dev workflows.
- Real-world compatibility with popular test frameworks (Django, FastAPI, etc.) beyond the Django --keep-db note.
- Whether the unclear license is a blocker for your organization's policy.
What it is and what it does
pytest-hot-reloading is a pytest plugin that runs a background daemon to watch your test files and automatically reload them without restarting the entire pytest process. Instead of re-importing libraries and re-running initialization logic on every test run, it caches those expensive operations and only re-executes the test code itself, dramatically reducing iteration time for large projects with slow imports.
The plugin uses jurigged to monitor file changes and cachetools to store import state across runs. It trades off first-run speed (which can be 10–100% slower due to the caching overhead) for much faster subsequent runs. It requires Python 3.10 or later, must be configured in your pytest settings, and needs the daemon to be started separately or with a command-line flag. The plugin is dormant (last updated 690 days ago) and has no known vulnerabilities, but also receives no active maintenance.
Use it for
- Speeding up test-driven development workflows where you run the same test suite repeatedly with small code changes.
- Large projects with slow import times where skipping re-imports on each test run saves seconds per iteration.
- Django projects using --keep-db to preserve the test database across hot-reloaded runs.
- Development environments where you want to keep a pytest daemon running in the background and trigger tests from your IDE.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you have a large project with slow imports and run tests frequently during development.
The dormant maintenance status and unclear license are minor concerns; the bigger risk is that the plugin may not work with all libraries (it notes workarounds exist but require manual setup) and can occasionally enter a bad state requiring a restart. Not worth installing if your test suite runs in under 5 seconds, or if you need active maintenance and support.
Install
pytest-hot-reloading on PyPI
Before you install
Low install friction with only two runtime dependencies (cachetools and jurigged). Maintenance is dormant—last release was 690 days ago—so expect no active bug fixes or feature updates, though no known vulnerabilities are recorded.
Requires Python 3.10 or later. Daemon must be started separately or with --daemon-start-if-needed flag; VS Code's default test adapter may hang unless you opt out of the experimental pythonTestAdapter.
License in practice
License status is unclear; no SPDX identifier or raw license text is available in the metadata, so you cannot verify licensing terms before use.
Quickstart
pip install pytest-hot-reloading
Add to pyproject.toml:
[tool.pytest.ini_options]
addopts = "-p pytest_hot_reloading.plugin"
Then run: pytest --daemon
And in another terminal: pytest
Verify before relying
- Whether the dormant maintenance status means critical bugs remain unfixed or if the plugin is stable enough for production-like dev workflows.
- Real-world compatibility with popular test frameworks (Django, FastAPI, etc.) beyond the Django --keep-db note.
- Whether the unclear license is a blocker for your organization's policy.
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release <4.0,>=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagescachetoolsjurigged |
| Maintenance | Dormant 690 days since the last release |
| First released | |
| Downloads | 189,025 / month, #9,936 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12 |
Evidence: pytest_hot_reloading-0.1.0a19-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 › “pytest hot reload plugin”
- pytest-hot-reloadingA pytest plugin that runs a daemon to watch and hot-reload test code,…
- juriggedJurigged lets you edit and hot-patch Python functions while a script…
- httpwatcherhttpwatcher is a simple HTTP server and library for serving static…
Give your agent the search over MCP, or paste the wish link into any chat.
More Testing packages
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.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
virtualenv creates isolated Python environments where packages can be installed independently without affecting the system Python or other projects.
Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.
Install it if you want to measure test completeness or enforce coverage thresholds in your project.
pytest-asyncio is a pytest plugin that enables writing and running async test functions using the asyncio library, allowing developers to await code directly within test cases.
Install it if you write tests for any asyncio-based code.
A pytest plugin that generates test reports in Common Test Report Format (CTRF) as JSON, compatible with pytest-xdist and pytest-playwright for distributed and browser-based testing.
Install it if you need CTRF-formatted test output for CI/CD integration or cross-tool reporting.
See also pytest-watcher · jurigged · daemonize · pytest-run-parallel · httpwatcher · watchgod · clamd · pywatchman · pytest-isort · pytest-cache