Changelog
pytest-r-snapshot 0.1.3
Maintenance
Replace hatchling with uv_build as the build backend and declare the MIT
license using the PEP 639 license field to eliminate the uv build
warning (#32).
Update GitHub Actions workflows to actions/checkout@v7 and
actions/setup-python@v7 and refresh the disabled Codecov step to
codecov/codecov-action@v7 (#33).
pytest-r-snapshot 0.1.2
Documentation
Migrate documentation site to use Zensical (#21, #22, #24, #25).
Maintenance
Change the logo typeface for a fresh look (#23).
pytest-r-snapshot 0.1.1
Testing
Add snapshot name traversal tests to reject malicious names (#15).
Add a timeout test for the subprocess R runner without requiring R (#16).
Expand snapshot name validation tests for empty, dot, and valid names (#19).
Documentation
Document R output determinism guidance, chunk parsing cache behavior, and session-scoped runner implications (#17).
pytest-r-snapshot 0.1.0
New features
Initial release of the pytest-r-snapshot pytest plugin for snapshot testing against R code outputs.
Extract labelled R fenced chunks from Python source (commented chunks and raw chunks in docstrings/multiline strings).
Snapshot modes: replay (default), record, and auto.
Default snapshot layout: __r_snapshots__/<test_file_stem>/<name><ext> with configurable root via --r-snapshot-dir / r_snapshot_dir.
r_snapshot fixture with assert_match_text(), read_text(), record_text(), and path_for().
Configurable R execution: Rscript path, env overrides, working directory, timeout, and snapshot encoding.
Optional marker @pytest.mark.r_snapshot(...) and decorator alias pytest_r_snapshot.r_snapshot(...).
Built-in text normalizers: newline normalization and stripping trailing whitespace.
Documentation
Added README and articles (setup, usage, configuration, troubleshooting, design, migration).
Testing
Added a pytester-based test suite with a mock R runner (no real R required).
Back to top