inline-snapshot 0.34.2__tar.gz → 0.35.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/.gitignore +0 -1
  2. inline_snapshot-0.35.0/.inline-snapshot/files_using_external.txt +3 -0
  3. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/.pre-commit-config.yaml +4 -9
  4. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/CHANGELOG.md +10 -0
  5. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/PKG-INFO +23 -38
  6. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/README.md +22 -37
  7. inline_snapshot-0.35.0/docs/alternatives.md +53 -0
  8. inline_snapshot-0.35.0/docs/assets/code_generation/string-update.rich.svg +200 -0
  9. inline_snapshot-0.35.0/docs/assets/introduction/show-error.rich.svg +173 -0
  10. inline_snapshot-0.35.0/docs/assets/introduction/simple-example-changed.rich.svg +212 -0
  11. inline_snapshot-0.35.0/docs/assets/introduction/simple-example.rich.svg +217 -0
  12. inline_snapshot-0.35.0/docs/assets/pytest/create-fix-trim-update.rich.svg +293 -0
  13. inline_snapshot-0.35.0/docs/assets/pytest/report.rich.svg +302 -0
  14. inline_snapshot-0.35.0/docs/assets/pytest/review.rich.svg +272 -0
  15. inline_snapshot-0.35.0/docs/assets/pytest/short-report.rich.svg +173 -0
  16. inline_snapshot-0.35.0/docs/assets/readme/example-snapshot-arg.rich.svg +267 -0
  17. inline_snapshot-0.35.0/docs/assets/readme/example-snapshot.rich.svg +452 -0
  18. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/categories.md +57 -61
  19. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/cmp_snapshot.md +3 -3
  20. inline_snapshot-0.35.0/docs/code_generation.md +89 -0
  21. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/configuration.md +14 -10
  22. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/customize_repr.md +3 -3
  23. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/eq_snapshot.md +1 -1
  24. inline_snapshot-0.35.0/docs/external/assets/register-is-array-for.rich.svg +252 -0
  25. inline_snapshot-0.35.0/docs/external/assets/register-numberset-format.rich.svg +272 -0
  26. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/external/external.md +13 -4
  27. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/external/external_file.md +2 -2
  28. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/external/outsource.md +0 -5
  29. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/external/register_format.md +17 -24
  30. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/fix_assert.md +8 -8
  31. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/getitem_snapshot.md +3 -3
  32. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/in_snapshot.md +1 -1
  33. inline_snapshot-0.35.0/docs/index.md +275 -0
  34. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/limitations.md +2 -2
  35. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/plugin.md +5 -6
  36. inline_snapshot-0.35.0/docs/pytest.md +93 -0
  37. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/testing.md +15 -8
  38. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/pyproject.toml +1 -0
  39. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_external/_external.py +1 -15
  40. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_external/_format/__init__.py +4 -0
  41. inline_snapshot-0.35.0/src/inline_snapshot/_external/_format/_rich_svg.py +127 -0
  42. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_external/_storage/_uuid.py +4 -4
  43. inline_snapshot-0.35.0/src/inline_snapshot/_external/_tracked_files.py +98 -0
  44. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_snapshot_session.py +57 -27
  45. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/plugin/_spec.py +1 -1
  46. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/testing/_example.py +121 -38
  47. inline_snapshot-0.35.0/src/inline_snapshot/testing/_terminal_svg.py +26 -0
  48. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/version.py +1 -1
  49. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/external/storage/test_generic.py +8 -4
  50. inline_snapshot-0.35.0/tests/external/storage/test_hash.py +118 -0
  51. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/external/storage/test_uuid.py +69 -58
  52. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/external/test_external.py +199 -19
  53. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/external/test_external_location.py +4 -0
  54. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/external/test_formats.py +147 -0
  55. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_config.py +57 -1
  56. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_docs.py +413 -44
  57. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_get_snapshot_value.py +5 -1
  58. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_pytest_plugin.py +26 -3
  59. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_storage.py +4 -0
  60. inline_snapshot-0.35.0/uv.lock +1335 -0
  61. inline_snapshot-0.34.2/docs/alternatives.md +0 -19
  62. inline_snapshot-0.34.2/docs/assets/number_set_output.png +0 -0
  63. inline_snapshot-0.34.2/docs/assets/star-history.png +0 -0
  64. inline_snapshot-0.34.2/docs/code_generation.md +0 -124
  65. inline_snapshot-0.34.2/docs/index.md +0 -251
  66. inline_snapshot-0.34.2/docs/pytest.md +0 -175
  67. inline_snapshot-0.34.2/tests/external/storage/test_hash.py +0 -55
  68. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/.github/FUNDING.yml +0 -0
  69. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/.github/actions/setup/action.yml +0 -0
  70. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/.github/copilot-instructions.md +0 -0
  71. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/.github/pull_request_template.md +0 -0
  72. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/.github/workflows/ci.yml +0 -0
  73. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/.github/workflows/cog.yml +0 -0
  74. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/.github/workflows/deploy_development_docs.yml +0 -0
  75. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/.github/workflows/docs.yml +0 -0
  76. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/.github/workflows/test_docs.yml +0 -0
  77. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/.inline-snapshot/external/.gitignore +0 -0
  78. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/.inline-snapshot/external/ef2d127de37b942baad06145e54b0c619a1f22327b2ebbcfbec78f5564afe39d.json +0 -0
  79. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/AGENTS.md +0 -0
  80. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/CONTRIBUTING.md +0 -0
  81. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/LICENSE +0 -0
  82. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/MANIFEST.in +0 -0
  83. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/changelog.d/.gitkeep +0 -0
  84. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/conftest.py +0 -0
  85. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/assets/create_fix.mp4 +0 -0
  86. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/assets/favicon.png +0 -0
  87. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/assets/favicon.svg +0 -0
  88. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/assets/logo.svg +0 -0
  89. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/assets/logo_orig.svg +0 -0
  90. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/assets/pycharm_run.mp4 +0 -0
  91. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/changelog.md +0 -0
  92. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/contributing.md +0 -0
  93. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/extra.md +0 -0
  94. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/get_snapshot_value.md +0 -0
  95. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/howto/parametrize.md +0 -0
  96. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/insiders.md +0 -0
  97. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/plugins/pyproject.toml +0 -0
  98. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/plugins/replace_url.py +0 -0
  99. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/pycharm.md +0 -0
  100. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/snapshot_arg.md +0 -0
  101. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/styles/extra.css +0 -0
  102. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/theme/main.html +0 -0
  103. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/third_party.md +0 -0
  104. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/docs/types.md +0 -0
  105. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/mkdocs.yml +0 -0
  106. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/redeploy_docs.sh +0 -0
  107. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/scripts/clean_changelog_fragments.py +0 -0
  108. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/scripts/replace_words.py +0 -0
  109. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/scripts/test_downstream.py +0 -0
  110. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/__init__.py +0 -0
  111. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_adapter_context.py +0 -0
  112. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_align.py +0 -0
  113. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_change.py +0 -0
  114. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_code_repr.py +0 -0
  115. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_compare_context.py +0 -0
  116. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_config.py +0 -0
  117. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_customize/__init__.py +0 -0
  118. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_customize/_builder.py +0 -0
  119. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_customize/_custom.py +0 -0
  120. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_customize/_custom_call.py +0 -0
  121. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_customize/_custom_code.py +0 -0
  122. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_customize/_custom_dict.py +0 -0
  123. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_customize/_custom_external.py +0 -0
  124. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_customize/_custom_sequence.py +0 -0
  125. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_customize/_custom_undefined.py +0 -0
  126. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_customize/_custom_unmanaged.py +0 -0
  127. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_exceptions.py +0 -0
  128. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_external/__init__.py +0 -0
  129. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_external/_diff.py +0 -0
  130. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_external/_external_base.py +0 -0
  131. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_external/_external_file.py +0 -0
  132. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_external/_external_location.py +0 -0
  133. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_external/_find_external.py +0 -0
  134. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_external/_format/_binary.py +0 -0
  135. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_external/_format/_json.py +0 -0
  136. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_external/_format/_protocol.py +0 -0
  137. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_external/_format/_text.py +0 -0
  138. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_external/_outsource.py +0 -0
  139. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_external/_storage/__init__.py +0 -0
  140. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_external/_storage/_hash.py +0 -0
  141. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_external/_storage/_protocol.py +0 -0
  142. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_fix_assert.py +0 -0
  143. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_flags.py +0 -0
  144. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_format.py +0 -0
  145. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_generator_utils.py +0 -0
  146. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_get_snapshot_value.py +0 -0
  147. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_global_state.py +0 -0
  148. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_inline_snapshot.py +0 -0
  149. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_is.py +0 -0
  150. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_new_adapter.py +0 -0
  151. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_problems.py +0 -0
  152. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_rewrite_code.py +0 -0
  153. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_sentinels.py +0 -0
  154. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_snapshot/__init__.py +0 -0
  155. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_snapshot/collection_value.py +0 -0
  156. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_snapshot/dict_value.py +0 -0
  157. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_snapshot/eq_value.py +0 -0
  158. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_snapshot/generic_value.py +0 -0
  159. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_snapshot/min_max_value.py +0 -0
  160. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_snapshot/undecided_value.py +0 -0
  161. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_snapshot_arg.py +0 -0
  162. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_source_file.py +0 -0
  163. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_types.py +0 -0
  164. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_unmanaged.py +0 -0
  165. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/_utils.py +0 -0
  166. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/extra.py +0 -0
  167. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/fix_pytest_cache.py +0 -0
  168. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/fix_pytest_diff.py +0 -0
  169. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/plugin/__init__.py +0 -0
  170. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/plugin/_default_plugin.py +0 -0
  171. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/py.typed +0 -0
  172. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/pydantic_fix.py +0 -0
  173. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/pytest_plugin.py +0 -0
  174. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/syntax_warnings.py +0 -0
  175. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/src/inline_snapshot/testing/__init__.py +0 -0
  176. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/test-repos.json +0 -0
  177. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/testing/generate_tests.py +0 -0
  178. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/__init__.py +0 -0
  179. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/adapter/test_call.py +0 -0
  180. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/adapter/test_change_types.py +0 -0
  181. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/adapter/test_dataclass.py +0 -0
  182. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/adapter/test_dict.py +0 -0
  183. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/adapter/test_general.py +0 -0
  184. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/adapter/test_namedtuple.py +0 -0
  185. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/adapter/test_sequence.py +0 -0
  186. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/conftest.py +0 -0
  187. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/external/__init__.py +0 -0
  188. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/external/test_external_file.py +0 -0
  189. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/external/test_module_name.py +0 -0
  190. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_align.py +0 -0
  191. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_builder.py +0 -0
  192. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_change.py +0 -0
  193. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_change_collection_error.py +0 -0
  194. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_ci.py +0 -0
  195. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_code_repr.py +0 -0
  196. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_customize.py +0 -0
  197. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_datetime_timezone.py +0 -0
  198. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_dirty_equals.py +0 -0
  199. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_encoding.py +0 -0
  200. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_example.py +0 -0
  201. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_formatting.py +0 -0
  202. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_fstring.py +0 -0
  203. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_hasrepr.py +0 -0
  204. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_inline_snapshot.py +0 -0
  205. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_is.py +0 -0
  206. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_preserve_values.py +0 -0
  207. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_pydantic.py +0 -0
  208. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_pypy.py +0 -0
  209. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_pytest_diff_fix.py +0 -0
  210. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_pytester.py +0 -0
  211. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_raises.py +0 -0
  212. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_rewrite_code.py +0 -0
  213. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_skip_updates.py +0 -0
  214. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_snapshot_arg.py +0 -0
  215. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_string.py +0 -0
  216. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_transformed.py +0 -0
  217. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_typing.py +0 -0
  218. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_update.py +0 -0
  219. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_warns.py +0 -0
  220. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_without_node.py +0 -0
  221. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_xdist.py +0 -0
  222. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/test_xfail.py +0 -0
  223. {inline_snapshot-0.34.2 → inline_snapshot-0.35.0}/tests/utils.py +0 -0
@@ -23,7 +23,6 @@ var/
23
23
  *.egg-info/
24
24
  .installed.cfg
25
25
  *.egg
26
- uv.lock
27
26
 
28
27
  # PyInstaller
29
28
  # Usually these files are written by a python script from a template
@@ -0,0 +1,3 @@
1
+ # this file is generated by inline-snapshot and requires no manual edits (https://15r10nk.github.io/inline-snapshot/latest/external/external/#cleaning-up-old-externals)
2
+ tests/external/test_external.py
3
+ tests/test_get_snapshot_value.py
@@ -9,6 +9,7 @@ repos:
9
9
  - id: check-ast
10
10
  - id: check-merge-conflict
11
11
  - id: trailing-whitespace
12
+ exclude: \.rich\.svg$
12
13
  - id: mixed-line-ending
13
14
  - id: fix-byte-order-marker
14
15
  - id: check-case-conflict
@@ -45,7 +46,7 @@ repos:
45
46
  - id: setup-cfg-fmt
46
47
 
47
48
  - repo: https://github.com/pycqa/isort
48
- rev: 9.0.0a2
49
+ rev: 9.0.0a3
49
50
  hooks:
50
51
  - id: isort
51
52
  name: isort (python)
@@ -59,7 +60,7 @@ repos:
59
60
  - hooks:
60
61
  - id: black
61
62
  repo: https://github.com/psf/black
62
- rev: 26.3.1
63
+ rev: 26.5.1
63
64
  - hooks:
64
65
  - id: blacken-docs
65
66
  args: [-l80]
@@ -80,7 +81,7 @@ repos:
80
81
  stages:
81
82
  - commit-msg
82
83
  repo: https://github.com/commitizen-tools/commitizen
83
- rev: v4.13.10
84
+ rev: v4.16.4
84
85
 
85
86
 
86
87
  # - repo: https://github.com/PyCQA/docformatter
@@ -93,12 +94,6 @@ repos:
93
94
  hooks:
94
95
  - id: validate-pyproject
95
96
 
96
- - repo: https://github.com/henryiii/validate-pyproject-schema-store
97
- rev: 2026.04.21
98
- hooks:
99
- - id: validate-pyproject
100
-
101
-
102
97
  - repo: https://github.com/rhysd/actionlint
103
98
  rev: v1.7.12
104
99
  hooks:
@@ -1,4 +1,14 @@
1
1
 
2
+ <a id='changelog-0.35.0'></a>
3
+ # 0.35.0 — 2026-07-15
4
+
5
+ ## Changed
6
+
7
+ - inline-snapshot now tracks source files that use `external()` in `.inline-snapshot/files_using_external.txt` (inside `storage-dir`) and uses this tracked list to detect and trim unused external snapshots.
8
+ - The `tool.inline-snapshot.test-dir` configuration option is only used as a compatibility fallback when `files_using_external.txt` does not exist yet.
9
+
10
+ - Documentation examples now use rich terminal snapshots to show pytest output with colors and formatting.
11
+
2
12
  <a id='changelog-0.34.2'></a>
3
13
  # 0.34.2 — 2026-06-19
4
14
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: inline-snapshot
3
- Version: 0.34.2
3
+ Version: 0.35.0
4
4
  Summary: golden master/snapshot/approval testing library which puts the values right into your source code
5
5
  Project-URL: Changelog, https://15r10nk.github.io/inline-snapshot/latest/changelog/
6
6
  Project-URL: Discussions, https://github.com/15r10nk/inline-snapshots/discussions
@@ -128,7 +128,7 @@ def test_something():
128
128
  The following examples show how you can use inline-snapshot in your tests. Take a look at the
129
129
  [documentation](https://15r10nk.github.io/inline-snapshot/latest) if you want to know more.
130
130
 
131
- <!-- inline-snapshot: create fix trim first_block outcome-passed=1 outcome-errors=1 -->
131
+ <!-- inline-snapshot: first_block outcome-passed=1 outcome-errors=1 -->
132
132
  ``` python
133
133
  from inline_snapshot import external, outsource, snapshot
134
134
 
@@ -136,22 +136,14 @@ from inline_snapshot import external, outsource, snapshot
136
136
  def test_something():
137
137
  for number in range(5):
138
138
  # testing for numeric limits
139
- assert number <= snapshot(4)
140
- assert number >= snapshot(0)
139
+ assert number <= snapshot()
140
+ assert number >= snapshot()
141
141
 
142
142
  for c in "hello world":
143
143
  # test if something is part of a set
144
- assert c in snapshot(["h", "e", "l", "o", " ", "w", "r", "d"])
145
-
146
- s = snapshot(
147
- {
148
- 0: {"square": 0, "pow_of_two": False},
149
- 1: {"square": 1, "pow_of_two": True},
150
- 2: {"square": 4, "pow_of_two": True},
151
- 3: {"square": 9, "pow_of_two": False},
152
- 4: {"square": 16, "pow_of_two": True},
153
- }
154
- )
144
+ assert c in snapshot()
145
+
146
+ s = snapshot()
155
147
 
156
148
  for number in range(5):
157
149
  # create sub-snapshots at runtime
@@ -160,23 +152,19 @@ def test_something():
160
152
  (number & (number - 1) == 0) and number != 0
161
153
  )
162
154
 
163
- assert outsource("large string\n" * 1000) == snapshot(
164
- external("hash:8bf10bdf2c30*.txt")
165
- )
166
-
167
- assert "generates\nmultiline\nstrings" == snapshot(
168
- """\
169
- generates
170
- multiline
171
- strings\
172
- """
173
- )
155
+ assert outsource("large string\n" * 5) == snapshot()
156
+
157
+ assert "generates\nmultiline\nstrings" == snapshot()
174
158
  ```
175
159
 
160
+ <!-- inline-snapshot-run: create fix trim outcome-passed=1 outcome-errors=1 -->
161
+ <!-- inline-snapshot-last-output: pytest -->
162
+ ![pytest output for pytest](docs/assets/readme/example-snapshot.rich.svg)
163
+
176
164
 
177
165
  `snapshot_arg()` can also be used for function parameters:
178
166
 
179
- <!-- inline-snapshot: create fix trim first_block outcome-passed=1 -->
167
+ <!-- inline-snapshot: first_block outcome-failed=1 outcome-errors=1 -->
180
168
  ``` python
181
169
  import subprocess as sp
182
170
  import sys
@@ -190,25 +178,22 @@ def run_python(cmd, stdout="", stderr=""):
190
178
 
191
179
 
192
180
  def test_cmd():
193
- run_python("print('hello world')", stdout="hello world\n")
194
-
195
- run_python(
196
- "1/0",
197
- stderr="""\
198
- Traceback (most recent call last):
199
- File "<string>", line 1, in <module>
200
- ZeroDivisionError: division by zero
201
- """,
202
- )
181
+ run_python("print('hello world')")
182
+
183
+ run_python("1/0")
203
184
  ```
204
185
 
186
+ <!-- inline-snapshot-run: create fix trim outcome-passed=1 outcome-errors=1 -->
187
+ <!-- inline-snapshot-last-output: pytest -->
188
+ ![pytest output for pytest](docs/assets/readme/example-snapshot-arg.rich.svg)
189
+
205
190
  <!-- -8<- [start:Feedback] -->
206
191
  ## Feedback
207
192
 
208
193
  inline-snapshot provides some advanced ways to work with snapshots.
209
194
 
210
195
  I would like to know how these features are used to further improve this small library.
211
- Let me know if you've found interesting use cases for this library via [twitter](https://twitter.com/15r10nk), [fosstodon](https://fosstodon.org/deck/@15r10nk) or in the github [discussions](https://github.com/15r10nk/inline-snapshot/discussions/new?category=show-and-tell).
196
+ Let me know if you've found interesting use cases for this library via [𝕏](https://twitter.com/15r10nk), [fosstodon](https://fosstodon.org/deck/@15r10nk) or in the github [discussions](https://github.com/15r10nk/inline-snapshot/discussions/new?category=show-and-tell).
212
197
 
213
198
  <!--[[[cog
214
199
  import requests,cog
@@ -87,7 +87,7 @@ def test_something():
87
87
  The following examples show how you can use inline-snapshot in your tests. Take a look at the
88
88
  [documentation](https://15r10nk.github.io/inline-snapshot/latest) if you want to know more.
89
89
 
90
- <!-- inline-snapshot: create fix trim first_block outcome-passed=1 outcome-errors=1 -->
90
+ <!-- inline-snapshot: first_block outcome-passed=1 outcome-errors=1 -->
91
91
  ``` python
92
92
  from inline_snapshot import external, outsource, snapshot
93
93
 
@@ -95,22 +95,14 @@ from inline_snapshot import external, outsource, snapshot
95
95
  def test_something():
96
96
  for number in range(5):
97
97
  # testing for numeric limits
98
- assert number <= snapshot(4)
99
- assert number >= snapshot(0)
98
+ assert number <= snapshot()
99
+ assert number >= snapshot()
100
100
 
101
101
  for c in "hello world":
102
102
  # test if something is part of a set
103
- assert c in snapshot(["h", "e", "l", "o", " ", "w", "r", "d"])
104
-
105
- s = snapshot(
106
- {
107
- 0: {"square": 0, "pow_of_two": False},
108
- 1: {"square": 1, "pow_of_two": True},
109
- 2: {"square": 4, "pow_of_two": True},
110
- 3: {"square": 9, "pow_of_two": False},
111
- 4: {"square": 16, "pow_of_two": True},
112
- }
113
- )
103
+ assert c in snapshot()
104
+
105
+ s = snapshot()
114
106
 
115
107
  for number in range(5):
116
108
  # create sub-snapshots at runtime
@@ -119,23 +111,19 @@ def test_something():
119
111
  (number & (number - 1) == 0) and number != 0
120
112
  )
121
113
 
122
- assert outsource("large string\n" * 1000) == snapshot(
123
- external("hash:8bf10bdf2c30*.txt")
124
- )
125
-
126
- assert "generates\nmultiline\nstrings" == snapshot(
127
- """\
128
- generates
129
- multiline
130
- strings\
131
- """
132
- )
114
+ assert outsource("large string\n" * 5) == snapshot()
115
+
116
+ assert "generates\nmultiline\nstrings" == snapshot()
133
117
  ```
134
118
 
119
+ <!-- inline-snapshot-run: create fix trim outcome-passed=1 outcome-errors=1 -->
120
+ <!-- inline-snapshot-last-output: pytest -->
121
+ ![pytest output for pytest](docs/assets/readme/example-snapshot.rich.svg)
122
+
135
123
 
136
124
  `snapshot_arg()` can also be used for function parameters:
137
125
 
138
- <!-- inline-snapshot: create fix trim first_block outcome-passed=1 -->
126
+ <!-- inline-snapshot: first_block outcome-failed=1 outcome-errors=1 -->
139
127
  ``` python
140
128
  import subprocess as sp
141
129
  import sys
@@ -149,25 +137,22 @@ def run_python(cmd, stdout="", stderr=""):
149
137
 
150
138
 
151
139
  def test_cmd():
152
- run_python("print('hello world')", stdout="hello world\n")
153
-
154
- run_python(
155
- "1/0",
156
- stderr="""\
157
- Traceback (most recent call last):
158
- File "<string>", line 1, in <module>
159
- ZeroDivisionError: division by zero
160
- """,
161
- )
140
+ run_python("print('hello world')")
141
+
142
+ run_python("1/0")
162
143
  ```
163
144
 
145
+ <!-- inline-snapshot-run: create fix trim outcome-passed=1 outcome-errors=1 -->
146
+ <!-- inline-snapshot-last-output: pytest -->
147
+ ![pytest output for pytest](docs/assets/readme/example-snapshot-arg.rich.svg)
148
+
164
149
  <!-- -8<- [start:Feedback] -->
165
150
  ## Feedback
166
151
 
167
152
  inline-snapshot provides some advanced ways to work with snapshots.
168
153
 
169
154
  I would like to know how these features are used to further improve this small library.
170
- Let me know if you've found interesting use cases for this library via [twitter](https://twitter.com/15r10nk), [fosstodon](https://fosstodon.org/deck/@15r10nk) or in the github [discussions](https://github.com/15r10nk/inline-snapshot/discussions/new?category=show-and-tell).
155
+ Let me know if you've found interesting use cases for this library via [𝕏](https://twitter.com/15r10nk), [fosstodon](https://fosstodon.org/deck/@15r10nk) or in the github [discussions](https://github.com/15r10nk/inline-snapshot/discussions/new?category=show-and-tell).
171
156
 
172
157
  <!--[[[cog
173
158
  import requests,cog
@@ -0,0 +1,53 @@
1
+ inline-snapshot is not the only snapshot testing library for Python.
2
+ There are several others to:
3
+
4
+ <!--[[[cog
5
+ import cog
6
+ from urllib.parse import urlencode
7
+
8
+ packages = [
9
+ ("syrupy", "https://github.com/syrupy-project/syrupy"),
10
+ ("snapshottest", "https://github.com/syrusakbary/snapshottest"),
11
+ ("pytest-snapshot", "https://github.com/joseph-roitman/pytest-snapshot"),
12
+ ("pytest-insta", "https://github.com/vberlier/pytest-insta"),
13
+ ("pytest-accept", "https://github.com/max-sixty/pytest-accept"),
14
+ ]
15
+
16
+ for name, url in packages:
17
+ cog.out(f"* [{name}]({url})\n")
18
+
19
+
20
+ query = urlencode(
21
+ [
22
+ ("packages", package)
23
+ for package in ["inline-snapshot", *[name for name, _ in packages]]
24
+ ]
25
+ + [("time_range", "2years")]
26
+ )
27
+
28
+ cog.out(
29
+ f"""
30
+ <iframe
31
+ src="https://pypacktrends.com/embed?{query}"
32
+ width="100%"
33
+ height="520"
34
+ frameborder="0"
35
+ >
36
+ </iframe>
37
+ """
38
+ )
39
+ ]]]-->
40
+ * [syrupy](https://github.com/syrupy-project/syrupy)
41
+ * [snapshottest](https://github.com/syrusakbary/snapshottest)
42
+ * [pytest-snapshot](https://github.com/joseph-roitman/pytest-snapshot)
43
+ * [pytest-insta](https://github.com/vberlier/pytest-insta)
44
+ * [pytest-accept](https://github.com/max-sixty/pytest-accept)
45
+
46
+ <iframe
47
+ src="https://pypacktrends.com/embed?packages=inline-snapshot&packages=syrupy&packages=snapshottest&packages=pytest-snapshot&packages=pytest-insta&packages=pytest-accept&time_range=2years"
48
+ width="100%"
49
+ height="520"
50
+ frameborder="0"
51
+ >
52
+ </iframe>
53
+ <!--[[[end]]]-->
@@ -0,0 +1,200 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" class="rich-terminal" viewBox="0 0 994 708.8">
2
+
3
+ <metadata><inline-snapshot-rich-markup>[
4
+ "[bold color(4)]$[/bold color(4)] [bold color(7)]pytest --inline-[bold color(7)][/bold color(7)]snapshot[bold color(7)][/bold color(7)]=[bold color(7)][/bold color(7)]update[/bold color(7)]\n",
5
+ "[bold]============================= test session starts ==============================[/bold]\n",
6
+ "collected 1 item\n",
7
+ "\n",
8
+ "tests/test_example.py [color(2)].[color(2)][/color(2)] [100%][/color(2)]\n",
9
+ "\n",
10
+ "[color(10)]═══════════════════════════════ [color(4)][/color(10)]inline-snapshot[color(10)][/color(4)] ════════════════════════════════[/color(10)]\n",
11
+ "[color(10)]─────────────────────────────── [bold color(3)][/color(10)]Update snapshots[color(10)][/bold color(3)] ───────────────────────────────[/color(10)]\n",
12
+ "╭─────────────────────────── tests/test_example.py ────────────────────────────╮\n",
13
+ "│ [bold color(5)]@@ -3,6 +3,8 @@[/bold color(5)] │\n",
14
+ "│ │\n",
15
+ "│ [color(7)] [/color(7)] │\n",
16
+ "│ [color(7)] [/color(7)]def test_something(): │\n",
17
+ "│ [color(7)] [/color(7)] assert \"first line\\nsecond line\" == snapshot( │\n",
18
+ "│ [color(9)]- \"\"\"first line[/color(9)] │\n",
19
+ "│ [color(9)]-second line\"\"\"[/color(9)] │\n",
20
+ "│ [color(2)]+ \"\"\"\\\\[/color(2)] │\n",
21
+ "│ [color(2)]+first line[/color(2)] │\n",
22
+ "│ [color(2)]+second line\\\\[/color(2)] │\n",
23
+ "│ [color(2)]+\"\"\"[/color(2)] │\n",
24
+ "│ [color(7)] [/color(7)] ) │\n",
25
+ "╰──────────────────────────────────────────────────────────────────────────────╯\n",
26
+ "These changes will be applied, because you used [italic color(4) link https://15r10nk.github.io/inline-snapshot/latest/categories/#update]update[/italic color(4) link https://15r10nk.github.io/inline-snapshot/latest/categories/#update]\n",
27
+ "\n",
28
+ "\n",
29
+ "\n",
30
+ "[color(2)]============================== [bold color(2)][/color(2)]1 passed[color(2)][/bold color(2)] in 0.00s[color(2)][/color(2)] ===============================[/color(2)]\n"
31
+ ]</inline-snapshot-rich-markup></metadata><style>
32
+
33
+ @font-face {
34
+ font-family: "Fira Code";
35
+ src: local("FiraCode-Regular"),
36
+ url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
37
+ url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
38
+ font-style: normal;
39
+ font-weight: 400;
40
+ }
41
+ @font-face {
42
+ font-family: "Fira Code";
43
+ src: local("FiraCode-Bold"),
44
+ url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
45
+ url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
46
+ font-style: bold;
47
+ font-weight: 700;
48
+ }
49
+
50
+ .terminal-2737987125-matrix {
51
+ font-family: Fira Code, monospace;
52
+ font-size: 20px;
53
+ line-height: 24.4px;
54
+ font-variant-east-asian: full-width;
55
+ }
56
+
57
+ .terminal-2737987125-title {
58
+ font-size: 18px;
59
+ font-weight: bold;
60
+ font-family: arial;
61
+ }
62
+
63
+ .terminal-2737987125-r1 { fill: #608ab1;font-weight: bold }
64
+ .terminal-2737987125-r2 { fill: #c5c8c6 }
65
+ .terminal-2737987125-r3 { fill: #c5c8c6;font-weight: bold }
66
+ .terminal-2737987125-r4 { fill: #98a84b }
67
+ .terminal-2737987125-r5 { fill: #00823d }
68
+ .terminal-2737987125-r6 { fill: #608ab1 }
69
+ .terminal-2737987125-r7 { fill: #d0b344;font-weight: bold }
70
+ .terminal-2737987125-r8 { fill: #98729f;font-weight: bold }
71
+ .terminal-2737987125-r9 { fill: #ff2627 }
72
+ .terminal-2737987125-r10 { fill: #608ab1;font-style: italic; }
73
+ .terminal-2737987125-r11 { fill: #98a84b;font-weight: bold }
74
+ </style>
75
+
76
+ <defs>
77
+ <clipPath id="terminal-2737987125-clip-terminal">
78
+ <rect x="0" y="0" width="975.0" height="657.8"></rect>
79
+ </clipPath>
80
+ <clipPath id="terminal-2737987125-line-0">
81
+ <rect x="0" y="1.5" width="976" height="24.65"></rect>
82
+ </clipPath>
83
+ <clipPath id="terminal-2737987125-line-1">
84
+ <rect x="0" y="25.9" width="976" height="24.65"></rect>
85
+ </clipPath>
86
+ <clipPath id="terminal-2737987125-line-2">
87
+ <rect x="0" y="50.3" width="976" height="24.65"></rect>
88
+ </clipPath>
89
+ <clipPath id="terminal-2737987125-line-3">
90
+ <rect x="0" y="74.7" width="976" height="24.65"></rect>
91
+ </clipPath>
92
+ <clipPath id="terminal-2737987125-line-4">
93
+ <rect x="0" y="99.1" width="976" height="24.65"></rect>
94
+ </clipPath>
95
+ <clipPath id="terminal-2737987125-line-5">
96
+ <rect x="0" y="123.5" width="976" height="24.65"></rect>
97
+ </clipPath>
98
+ <clipPath id="terminal-2737987125-line-6">
99
+ <rect x="0" y="147.9" width="976" height="24.65"></rect>
100
+ </clipPath>
101
+ <clipPath id="terminal-2737987125-line-7">
102
+ <rect x="0" y="172.3" width="976" height="24.65"></rect>
103
+ </clipPath>
104
+ <clipPath id="terminal-2737987125-line-8">
105
+ <rect x="0" y="196.7" width="976" height="24.65"></rect>
106
+ </clipPath>
107
+ <clipPath id="terminal-2737987125-line-9">
108
+ <rect x="0" y="221.1" width="976" height="24.65"></rect>
109
+ </clipPath>
110
+ <clipPath id="terminal-2737987125-line-10">
111
+ <rect x="0" y="245.5" width="976" height="24.65"></rect>
112
+ </clipPath>
113
+ <clipPath id="terminal-2737987125-line-11">
114
+ <rect x="0" y="269.9" width="976" height="24.65"></rect>
115
+ </clipPath>
116
+ <clipPath id="terminal-2737987125-line-12">
117
+ <rect x="0" y="294.3" width="976" height="24.65"></rect>
118
+ </clipPath>
119
+ <clipPath id="terminal-2737987125-line-13">
120
+ <rect x="0" y="318.7" width="976" height="24.65"></rect>
121
+ </clipPath>
122
+ <clipPath id="terminal-2737987125-line-14">
123
+ <rect x="0" y="343.1" width="976" height="24.65"></rect>
124
+ </clipPath>
125
+ <clipPath id="terminal-2737987125-line-15">
126
+ <rect x="0" y="367.5" width="976" height="24.65"></rect>
127
+ </clipPath>
128
+ <clipPath id="terminal-2737987125-line-16">
129
+ <rect x="0" y="391.9" width="976" height="24.65"></rect>
130
+ </clipPath>
131
+ <clipPath id="terminal-2737987125-line-17">
132
+ <rect x="0" y="416.3" width="976" height="24.65"></rect>
133
+ </clipPath>
134
+ <clipPath id="terminal-2737987125-line-18">
135
+ <rect x="0" y="440.7" width="976" height="24.65"></rect>
136
+ </clipPath>
137
+ <clipPath id="terminal-2737987125-line-19">
138
+ <rect x="0" y="465.1" width="976" height="24.65"></rect>
139
+ </clipPath>
140
+ <clipPath id="terminal-2737987125-line-20">
141
+ <rect x="0" y="489.5" width="976" height="24.65"></rect>
142
+ </clipPath>
143
+ <clipPath id="terminal-2737987125-line-21">
144
+ <rect x="0" y="513.9" width="976" height="24.65"></rect>
145
+ </clipPath>
146
+ <clipPath id="terminal-2737987125-line-22">
147
+ <rect x="0" y="538.3" width="976" height="24.65"></rect>
148
+ </clipPath>
149
+ <clipPath id="terminal-2737987125-line-23">
150
+ <rect x="0" y="562.7" width="976" height="24.65"></rect>
151
+ </clipPath>
152
+ <clipPath id="terminal-2737987125-line-24">
153
+ <rect x="0" y="587.1" width="976" height="24.65"></rect>
154
+ </clipPath>
155
+ <clipPath id="terminal-2737987125-line-25">
156
+ <rect x="0" y="611.5" width="976" height="24.65"></rect>
157
+ </clipPath>
158
+ </defs>
159
+
160
+ <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="706.8" rx="8"></rect><text class="terminal-2737987125-title" fill="#c5c8c6" text-anchor="middle" x="496" y="27">Terminal</text>
161
+ <g transform="translate(26,22)">
162
+ <circle cx="0" cy="0" r="7" fill="#ff5f57"></circle>
163
+ <circle cx="22" cy="0" r="7" fill="#febc2e"></circle>
164
+ <circle cx="44" cy="0" r="7" fill="#28c840"></circle>
165
+ </g>
166
+
167
+ <g transform="translate(9, 41)" clip-path="url(#terminal-2737987125-clip-terminal)">
168
+
169
+ <g class="terminal-2737987125-matrix">
170
+ <text class="terminal-2737987125-r1" x="0" y="20" textLength="12.2" clip-path="url(#terminal-2737987125-line-0)">$</text><text class="terminal-2737987125-r3" x="24.4" y="20" textLength="195.2" clip-path="url(#terminal-2737987125-line-0)">pytest --inline-</text><text class="terminal-2737987125-r3" x="219.6" y="20" textLength="97.6" clip-path="url(#terminal-2737987125-line-0)">snapshot</text><text class="terminal-2737987125-r3" x="317.2" y="20" textLength="12.2" clip-path="url(#terminal-2737987125-line-0)">=</text><text class="terminal-2737987125-r3" x="329.4" y="20" textLength="73.2" clip-path="url(#terminal-2737987125-line-0)">update</text><text class="terminal-2737987125-r2" x="976" y="20" textLength="12.2" clip-path="url(#terminal-2737987125-line-0)">
171
+ </text><text class="terminal-2737987125-r3" x="0" y="44.4" textLength="976" clip-path="url(#terminal-2737987125-line-1)">============================= test session starts ==============================</text><text class="terminal-2737987125-r2" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-2737987125-line-1)">
172
+ </text><text class="terminal-2737987125-r2" x="0" y="68.8" textLength="195.2" clip-path="url(#terminal-2737987125-line-2)">collected 1 item</text><text class="terminal-2737987125-r2" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-2737987125-line-2)">
173
+ </text><text class="terminal-2737987125-r2" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-2737987125-line-3)">
174
+ </text><text class="terminal-2737987125-r2" x="0" y="117.6" textLength="268.4" clip-path="url(#terminal-2737987125-line-4)">tests/test_example.py </text><text class="terminal-2737987125-r4" x="268.4" y="117.6" textLength="12.2" clip-path="url(#terminal-2737987125-line-4)">.</text><text class="terminal-2737987125-r4" x="280.6" y="117.6" textLength="683.2" clip-path="url(#terminal-2737987125-line-4)">                                                  [100%]</text><text class="terminal-2737987125-r2" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-2737987125-line-4)">
175
+ </text><text class="terminal-2737987125-r2" x="976" y="142" textLength="12.2" clip-path="url(#terminal-2737987125-line-5)">
176
+ </text><text class="terminal-2737987125-r5" x="0" y="166.4" textLength="390.4" clip-path="url(#terminal-2737987125-line-6)">═══════════════════════════════ </text><text class="terminal-2737987125-r6" x="390.4" y="166.4" textLength="183" clip-path="url(#terminal-2737987125-line-6)">inline-snapshot</text><text class="terminal-2737987125-r5" x="573.4" y="166.4" textLength="402.6" clip-path="url(#terminal-2737987125-line-6)"> ════════════════════════════════</text><text class="terminal-2737987125-r2" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-2737987125-line-6)">
177
+ </text><text class="terminal-2737987125-r5" x="0" y="190.8" textLength="390.4" clip-path="url(#terminal-2737987125-line-7)">─────────────────────────────── </text><text class="terminal-2737987125-r7" x="390.4" y="190.8" textLength="195.2" clip-path="url(#terminal-2737987125-line-7)">Update snapshots</text><text class="terminal-2737987125-r5" x="585.6" y="190.8" textLength="390.4" clip-path="url(#terminal-2737987125-line-7)"> ───────────────────────────────</text><text class="terminal-2737987125-r2" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-2737987125-line-7)">
178
+ </text><text class="terminal-2737987125-r2" x="0" y="215.2" textLength="976" clip-path="url(#terminal-2737987125-line-8)">╭─────────────────────────── tests/test_example.py ────────────────────────────╮</text><text class="terminal-2737987125-r2" x="976" y="215.2" textLength="12.2" clip-path="url(#terminal-2737987125-line-8)">
179
+ </text><text class="terminal-2737987125-r2" x="0" y="239.6" textLength="24.4" clip-path="url(#terminal-2737987125-line-9)">│ </text><text class="terminal-2737987125-r8" x="24.4" y="239.6" textLength="183" clip-path="url(#terminal-2737987125-line-9)">@@ -3,6 +3,8 @@</text><text class="terminal-2737987125-r2" x="207.4" y="239.6" textLength="768.6" clip-path="url(#terminal-2737987125-line-9)">                                                              │</text><text class="terminal-2737987125-r2" x="976" y="239.6" textLength="12.2" clip-path="url(#terminal-2737987125-line-9)">
180
+ </text><text class="terminal-2737987125-r2" x="0" y="264" textLength="976" clip-path="url(#terminal-2737987125-line-10)">│                                                                              │</text><text class="terminal-2737987125-r2" x="976" y="264" textLength="12.2" clip-path="url(#terminal-2737987125-line-10)">
181
+ </text><text class="terminal-2737987125-r2" x="0" y="288.4" textLength="24.4" clip-path="url(#terminal-2737987125-line-11)">│ </text><text class="terminal-2737987125-r2" x="36.6" y="288.4" textLength="939.4" clip-path="url(#terminal-2737987125-line-11)">                                                                            │</text><text class="terminal-2737987125-r2" x="976" y="288.4" textLength="12.2" clip-path="url(#terminal-2737987125-line-11)">
182
+ </text><text class="terminal-2737987125-r2" x="0" y="312.8" textLength="24.4" clip-path="url(#terminal-2737987125-line-12)">│ </text><text class="terminal-2737987125-r2" x="36.6" y="312.8" textLength="939.4" clip-path="url(#terminal-2737987125-line-12)">def test_something():                                                       │</text><text class="terminal-2737987125-r2" x="976" y="312.8" textLength="12.2" clip-path="url(#terminal-2737987125-line-12)">
183
+ </text><text class="terminal-2737987125-r2" x="0" y="337.2" textLength="24.4" clip-path="url(#terminal-2737987125-line-13)">│ </text><text class="terminal-2737987125-r2" x="36.6" y="337.2" textLength="939.4" clip-path="url(#terminal-2737987125-line-13)">    assert "first line\nsecond line" == snapshot(                           │</text><text class="terminal-2737987125-r2" x="976" y="337.2" textLength="12.2" clip-path="url(#terminal-2737987125-line-13)">
184
+ </text><text class="terminal-2737987125-r2" x="0" y="361.6" textLength="24.4" clip-path="url(#terminal-2737987125-line-14)">│ </text><text class="terminal-2737987125-r9" x="24.4" y="361.6" textLength="268.4" clip-path="url(#terminal-2737987125-line-14)">-        """first line</text><text class="terminal-2737987125-r2" x="292.8" y="361.6" textLength="683.2" clip-path="url(#terminal-2737987125-line-14)">                                                       │</text><text class="terminal-2737987125-r2" x="976" y="361.6" textLength="12.2" clip-path="url(#terminal-2737987125-line-14)">
185
+ </text><text class="terminal-2737987125-r2" x="0" y="386" textLength="24.4" clip-path="url(#terminal-2737987125-line-15)">│ </text><text class="terminal-2737987125-r9" x="24.4" y="386" textLength="183" clip-path="url(#terminal-2737987125-line-15)">-second line"""</text><text class="terminal-2737987125-r2" x="207.4" y="386" textLength="768.6" clip-path="url(#terminal-2737987125-line-15)">                                                              │</text><text class="terminal-2737987125-r2" x="976" y="386" textLength="12.2" clip-path="url(#terminal-2737987125-line-15)">
186
+ </text><text class="terminal-2737987125-r2" x="0" y="410.4" textLength="24.4" clip-path="url(#terminal-2737987125-line-16)">│ </text><text class="terminal-2737987125-r4" x="24.4" y="410.4" textLength="158.6" clip-path="url(#terminal-2737987125-line-16)">+        """\</text><text class="terminal-2737987125-r2" x="183" y="410.4" textLength="793" clip-path="url(#terminal-2737987125-line-16)">                                                                │</text><text class="terminal-2737987125-r2" x="976" y="410.4" textLength="12.2" clip-path="url(#terminal-2737987125-line-16)">
187
+ </text><text class="terminal-2737987125-r2" x="0" y="434.8" textLength="24.4" clip-path="url(#terminal-2737987125-line-17)">│ </text><text class="terminal-2737987125-r4" x="24.4" y="434.8" textLength="134.2" clip-path="url(#terminal-2737987125-line-17)">+first line</text><text class="terminal-2737987125-r2" x="158.6" y="434.8" textLength="817.4" clip-path="url(#terminal-2737987125-line-17)">                                                                  │</text><text class="terminal-2737987125-r2" x="976" y="434.8" textLength="12.2" clip-path="url(#terminal-2737987125-line-17)">
188
+ </text><text class="terminal-2737987125-r2" x="0" y="459.2" textLength="24.4" clip-path="url(#terminal-2737987125-line-18)">│ </text><text class="terminal-2737987125-r4" x="24.4" y="459.2" textLength="158.6" clip-path="url(#terminal-2737987125-line-18)">+second line\</text><text class="terminal-2737987125-r2" x="183" y="459.2" textLength="793" clip-path="url(#terminal-2737987125-line-18)">                                                                │</text><text class="terminal-2737987125-r2" x="976" y="459.2" textLength="12.2" clip-path="url(#terminal-2737987125-line-18)">
189
+ </text><text class="terminal-2737987125-r2" x="0" y="483.6" textLength="24.4" clip-path="url(#terminal-2737987125-line-19)">│ </text><text class="terminal-2737987125-r4" x="24.4" y="483.6" textLength="48.8" clip-path="url(#terminal-2737987125-line-19)">+"""</text><text class="terminal-2737987125-r2" x="73.2" y="483.6" textLength="902.8" clip-path="url(#terminal-2737987125-line-19)">                                                                         │</text><text class="terminal-2737987125-r2" x="976" y="483.6" textLength="12.2" clip-path="url(#terminal-2737987125-line-19)">
190
+ </text><text class="terminal-2737987125-r2" x="0" y="508" textLength="24.4" clip-path="url(#terminal-2737987125-line-20)">│ </text><text class="terminal-2737987125-r2" x="36.6" y="508" textLength="939.4" clip-path="url(#terminal-2737987125-line-20)">    )                                                                       │</text><text class="terminal-2737987125-r2" x="976" y="508" textLength="12.2" clip-path="url(#terminal-2737987125-line-20)">
191
+ </text><text class="terminal-2737987125-r2" x="0" y="532.4" textLength="976" clip-path="url(#terminal-2737987125-line-21)">╰──────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-2737987125-r2" x="976" y="532.4" textLength="12.2" clip-path="url(#terminal-2737987125-line-21)">
192
+ </text><text class="terminal-2737987125-r2" x="0" y="556.8" textLength="585.6" clip-path="url(#terminal-2737987125-line-22)">These changes will be applied, because you used </text><text class="terminal-2737987125-r10" x="585.6" y="556.8" textLength="73.2" clip-path="url(#terminal-2737987125-line-22)">update</text><text class="terminal-2737987125-r2" x="976" y="556.8" textLength="12.2" clip-path="url(#terminal-2737987125-line-22)">
193
+ </text><text class="terminal-2737987125-r2" x="976" y="581.2" textLength="12.2" clip-path="url(#terminal-2737987125-line-23)">
194
+ </text><text class="terminal-2737987125-r2" x="976" y="605.6" textLength="12.2" clip-path="url(#terminal-2737987125-line-24)">
195
+ </text><text class="terminal-2737987125-r2" x="976" y="630" textLength="12.2" clip-path="url(#terminal-2737987125-line-25)">
196
+ </text><text class="terminal-2737987125-r4" x="0" y="654.4" textLength="378.2" clip-path="url(#terminal-2737987125-line-26)">============================== </text><text class="terminal-2737987125-r11" x="378.2" y="654.4" textLength="97.6" clip-path="url(#terminal-2737987125-line-26)">1 passed</text><text class="terminal-2737987125-r4" x="475.8" y="654.4" textLength="109.8" clip-path="url(#terminal-2737987125-line-26)"> in 0.00s</text><text class="terminal-2737987125-r4" x="585.6" y="654.4" textLength="390.4" clip-path="url(#terminal-2737987125-line-26)"> ===============================</text><text class="terminal-2737987125-r2" x="976" y="654.4" textLength="12.2" clip-path="url(#terminal-2737987125-line-26)">
197
+ </text>
198
+ </g>
199
+ </g>
200
+ </svg>