{"categories":[{"label":"Testing","url":"https://skillfed.io/packages/category/software-development-testing/4"}],"enrichment":{"capability":"A pytest plugin that enables snapshot testing by comparing test outputs against stored reference values, with built-in support for text, binary, JSON, and pickle formats plus an interactive review tool.","skillfed_tags":["snapshot-testing","pytest-plugin","regression-testing"],"use_cases":["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."],"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\u2014text, binary, hexdump, JSON, and pickle\u2014and lets you define custom formats by subclassing the `Fmt` class.\n\nThe 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.","worth_installing":"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."},"id":"pytest-insta","links":{"html":"https://skillfed.io/packages/pytest-insta","md":"https://skillfed.io/packages/pytest-insta.md","pypi":"https://pypi.org/project/pytest-insta/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2025-11-22","license_spdx":null,"license_treatment":"unclear","name":"pytest-insta","python_support":"supports_current","summary":"A practical snapshot testing plugin for pytest"},"popularity":{"monthly_downloads":252375,"position":8545,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.4.1"}
