skillfed

pytest-hot-reloading

pytest-hot-reloading v0.1.0a19 189.0K downloads/30d#9,936 on PyPI
License unclear DORMANT released

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

A pytest plugin that runs a daemon to watch and hot-reload test code, skipping repeated imports and initialization to speed up test iteration cycles.

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

pip

pip install pytest-hot-reloading

uv

uv add pytest-hot-reloading

poetry

poetry add pytest-hot-reloading

Installing pytest-hot-reloading

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.

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

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.

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 — cachetools, jurigged
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)

Evidence: pytest_hot_reloading-0.1.0a19-py3-none-any.whl

Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12

Tags

pytest hot reload pluginfast test rerun daemonpytest file watcherskip test importspytest development speedtest iteration cachepytest daemon mode
test-performancedev-toolpytest-plugin

More Testing packages