pytest-insta
A practical snapshot testing plugin for pytest
Decision gist · record as of 2026-08-14
Yes, with conditions. The plugin is well-designed for snapshot testing workflows and has low install friction. However, the unclear license and aging maintenance (265 days since last release) mean you should verify the license terms and assess whether the project's pace matches your support expectations before adopting it in production. No known vulnerabilities.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >=3.10
- Low install friction with only two runtime dependencies (pytest and wrapt).
- Maintenance status is aging—last release was 265 days ago—so expect slower response to issues, though no active vulnerabilities are known.
License · maintenance · safety
(unclear) — License treatment is unclear; the package metadata does not declare an SPDX license identifier or raw license string, so you should verify the actual license terms in the repository before adopting it in a commercial or restricted context.
last release 2025-11-22 (265 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 252,375 downloads/mo, #8,545 on PyPI
Alternatives
Verify before relying
pip install pytest-insta
# In a test file:
def test_example(snapshot):
assert snapshot() == "expected output"
# Run with pytest --insta update to record or approve snapshots- Actual license terms—metadata does not specify SPDX or raw license
- Repository URL and current maintainer activity—metadata lacks project URLs
- Whether aging maintenance status affects bug fixes or compatibility with newer pytest versions
What it is and what it does
pytest-insta is a snapshot testing plugin for pytest that lets you write assertions by comparing outputs to stored reference values. Instead of hardcoding expected results, you call `snapshot()` in your test and the plugin records the actual output; on subsequent runs, it compares the new output to the stored snapshot and flags differences. The plugin handles multiple snapshot formats out of the box—text, binary, hexdump, JSON, and pickle—and lets you define custom formats by subclassing the `Fmt` class.
The workflow is designed around an interactive review tool. When snapshots differ, you can use `pytest --insta review` to inspect each change in a Python REPL, then accept or reject it. This makes it easy to catch unintended regressions while deliberately approving intentional changes. The plugin also supports batch operations like `--insta update` to accept all changes at once, or `--insta record` to defer review until later. It depends only on pytest and wrapt, keeping the install lightweight.
Use it for
- Verify that refactored code produces identical output to the original without manually comparing large strings or objects.
- Track changes to JSON or structured data across test runs and approve them interactively rather than rewriting assertions.
- Test code that generates formatted text (logs, reports, code) by storing the output as a snapshot and catching unintended formatting changes.
- Build regression tests for complex data transformations by storing the result once and comparing future runs against it.
- Maintain test assertions for serialized objects (pickle, binary) that would be tedious to hardcode in the test file.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with conditions.
The plugin is well-designed for snapshot testing workflows and has low install friction. However, the unclear license and aging maintenance (265 days since last release) mean you should verify the license terms and assess whether the project's pace matches your support expectations before adopting it in production. No known vulnerabilities.
Install
pytest-insta on PyPI
Before you install
Low install friction with only two runtime dependencies (pytest and wrapt). Maintenance status is aging—last release was 265 days ago—so expect slower response to issues, though no active vulnerabilities are known.
Requires Python >=3.10
License in practice
License treatment is unclear; the package metadata does not declare an SPDX license identifier or raw license string, so you should verify the actual license terms in the repository before adopting it in a commercial or restricted context.
Quickstart
pip install pytest-insta
# In a test file:
def test_example(snapshot):
assert snapshot() == "expected output"
# Run with pytest --insta update to record or approve snapshots
Verify before relying
- Actual license terms—metadata does not specify SPDX or raw license
- Repository URL and current maintainer activity—metadata lacks project URLs
- Whether aging maintenance status affects bug fixes or compatibility with newer pytest versions
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagespytestwrapt |
| Maintenance | Aging 265 days since the last release |
| First released | |
| Downloads | 252,375 / month, #8,545 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Framework :: Pytest |
Evidence: pytest_insta-0.4.1-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 snapshot plugin”
- pytest-instaA pytest plugin that enables snapshot testing by comparing test…
- syrupySyrupy is a pytest plugin that enables snapshot testing by letting…
- pytest-snapshotA pytest plugin that enables snapshot testing—comparing test outputs…
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 inline-snapshot · pytest-snapshot · pytest-playwright-visual · syrupy · snapshot-restore-py · snapshottest · pytest-textual-snapshot · pytest-unordered · pytest-clarity · pytest-regressions