tensor-network-visualization 2.0.0__tar.gz → 2.0.2__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 (172) hide show
  1. {tensor_network_visualization-2.0.0/src/tensor_network_visualization.egg-info → tensor_network_visualization-2.0.2}/PKG-INFO +19 -4
  2. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/README.md +33 -18
  3. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/pyproject.toml +18 -18
  4. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2/src/tensor_network_visualization.egg-info}/PKG-INFO +19 -4
  5. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_visualization.egg-info/SOURCES.txt +4 -0
  6. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/__init__.py +30 -1
  7. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_engine_specs.py +1 -0
  8. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_interaction/controller.py +1 -0
  9. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_interaction/tensor_inspector.py +35 -1
  10. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_tensor_elements_controller.py +192 -7
  11. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_tensor_elements_rendering.py +32 -17
  12. tensor_network_visualization-2.0.2/src/tensor_network_viz/_translation_codegen.py +322 -0
  13. tensor_network_visualization-2.0.2/src/tensor_network_viz/_translation_models.py +41 -0
  14. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/config.py +7 -1
  15. tensor_network_visualization-2.0.2/src/tensor_network_viz/tensor_elements_config.py +308 -0
  16. tensor_network_visualization-2.0.2/src/tensor_network_viz/translation.py +262 -0
  17. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_examples.py +307 -2
  18. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_examples_structure.py +10 -0
  19. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_plotting.py +21 -0
  20. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_public_api.py +184 -0
  21. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_tensor_elements.py +329 -1
  22. tensor_network_visualization-2.0.2/tests/test_translation_api.py +300 -0
  23. tensor_network_visualization-2.0.0/src/tensor_network_viz/tensor_elements_config.py +0 -148
  24. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/LICENSE +0 -0
  25. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/setup.cfg +0 -0
  26. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_visualization.egg-info/dependency_links.txt +0 -0
  27. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_visualization.egg-info/requires.txt +0 -0
  28. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_visualization.egg-info/top_level.txt +0 -0
  29. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_auto_display.py +0 -0
  30. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_contraction_viewer_style.py +0 -0
  31. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_contraction_viewer_ui.py +0 -0
  32. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/__init__.py +0 -0
  33. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/_draw_common.py +0 -0
  34. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/_label_format.py +0 -0
  35. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/_nodes_edges_common.py +0 -0
  36. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/axis_directions.py +0 -0
  37. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/contractions.py +0 -0
  38. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/curves.py +0 -0
  39. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/__init__.py +0 -0
  40. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/constants.py +0 -0
  41. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/contraction_edges.py +0 -0
  42. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/contraction_scheme.py +0 -0
  43. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/dangling_self_edges.py +0 -0
  44. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/disk_metrics.py +0 -0
  45. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/edge_labels.py +0 -0
  46. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/edge_orchestration.py +0 -0
  47. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/edges.py +0 -0
  48. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/fonts_and_scale.py +0 -0
  49. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/graph_pipeline.py +0 -0
  50. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/hover.py +0 -0
  51. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/label_descriptors.py +0 -0
  52. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/labels_misc.py +0 -0
  53. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/pick_distance.py +0 -0
  54. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/plotter.py +0 -0
  55. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/plotter_2d.py +0 -0
  56. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/plotter_3d.py +0 -0
  57. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/plotter_common.py +0 -0
  58. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/render_prep.py +0 -0
  59. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/scene_state.py +0 -0
  60. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/tensors.py +0 -0
  61. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/vectors.py +0 -0
  62. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/draw/viewport_geometry.py +0 -0
  63. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/focus.py +0 -0
  64. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/graph.py +0 -0
  65. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/graph_cache.py +0 -0
  66. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/graph_utils.py +0 -0
  67. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/layout/__init__.py +0 -0
  68. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/layout/body.py +0 -0
  69. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/layout/direction_common.py +0 -0
  70. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/layout/force_directed.py +0 -0
  71. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/layout/free_directions_2d.py +0 -0
  72. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/layout/free_directions_3d.py +0 -0
  73. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/layout/generic_coarsening.py +0 -0
  74. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/layout/geometry.py +0 -0
  75. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/layout/parameters.py +0 -0
  76. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/layout/positions.py +0 -0
  77. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/layout/types.py +0 -0
  78. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/layout_structure.py +0 -0
  79. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/layout_structure_coordinates.py +0 -0
  80. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/layout_structure_sparse_grid.py +0 -0
  81. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_core/renderer.py +0 -0
  82. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_import_state.py +0 -0
  83. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_input_inspection.py +0 -0
  84. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_interaction/__init__.py +0 -0
  85. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_interaction/bridge.py +0 -0
  86. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_interaction/controls.py +0 -0
  87. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_interaction/scheme.py +0 -0
  88. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_interaction/state.py +0 -0
  89. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_interaction/views.py +0 -0
  90. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_interactive_scene.py +0 -0
  91. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_logging.py +0 -0
  92. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_matplotlib_state.py +0 -0
  93. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_registry.py +0 -0
  94. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_tensor_comparison_support.py +0 -0
  95. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_tensor_elements_data.py +0 -0
  96. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_tensor_elements_inputs.py +0 -0
  97. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_tensor_elements_models.py +0 -0
  98. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_tensor_elements_payloads.py +0 -0
  99. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_tensor_elements_support.py +0 -0
  100. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_typing.py +0 -0
  101. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_ui_utils.py +0 -0
  102. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/_widgets.py +0 -0
  103. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/contraction_viewer.py +0 -0
  104. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/einsum_module/__init__.py +0 -0
  105. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/einsum_module/_backend.py +0 -0
  106. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/einsum_module/_equation.py +0 -0
  107. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/einsum_module/_trace_state.py +0 -0
  108. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/einsum_module/_trace_types.py +0 -0
  109. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/einsum_module/contraction_cost.py +0 -0
  110. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/einsum_module/graph.py +0 -0
  111. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/einsum_module/renderer.py +0 -0
  112. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/einsum_module/trace.py +0 -0
  113. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/exceptions.py +0 -0
  114. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/interactive_viewer.py +0 -0
  115. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/py.typed +0 -0
  116. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/quimb/__init__.py +0 -0
  117. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/quimb/graph.py +0 -0
  118. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/quimb/renderer.py +0 -0
  119. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/snapshot.py +0 -0
  120. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/tenpy/__init__.py +0 -0
  121. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/tenpy/explicit.py +0 -0
  122. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/tenpy/graph.py +0 -0
  123. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/tenpy/renderer.py +0 -0
  124. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/tensor_comparison.py +0 -0
  125. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/tensor_comparison_config.py +0 -0
  126. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/tensor_elements.py +0 -0
  127. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/tensorkrowch/__init__.py +0 -0
  128. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/tensorkrowch/_history.py +0 -0
  129. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/tensorkrowch/graph.py +0 -0
  130. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/tensorkrowch/renderer.py +0 -0
  131. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/tensornetwork/__init__.py +0 -0
  132. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/tensornetwork/graph.py +0 -0
  133. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/tensornetwork/renderer.py +0 -0
  134. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/src/tensor_network_viz/viewer.py +0 -0
  135. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_bench_user_workflows.py +0 -0
  136. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_ci_workflow.py +0 -0
  137. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_contraction_cost.py +0 -0
  138. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_contraction_groups_once.py +0 -0
  139. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_contraction_scheme.py +0 -0
  140. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_contraction_scheme_api.py +0 -0
  141. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_contraction_viewer.py +0 -0
  142. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_demo_cli_scheme.py +0 -0
  143. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_documentation_gallery.py +0 -0
  144. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_draw_performance.py +0 -0
  145. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_edge_index_label_2d.py +0 -0
  146. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_edge_index_label_3d.py +0 -0
  147. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_einsum_autotrace.py +0 -0
  148. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_einsum_backend.py +0 -0
  149. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_engine_detection.py +0 -0
  150. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_engineering_baseline.py +0 -0
  151. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_graph_cache.py +0 -0
  152. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_integration_einsum.py +0 -0
  153. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_integration_tensorkrowch.py +0 -0
  154. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_integration_tensornetwork.py +0 -0
  155. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_interaction_controls.py +0 -0
  156. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_interaction_state.py +0 -0
  157. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_label_draw_metrics_perf.py +0 -0
  158. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_label_format.py +0 -0
  159. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_layout_core.py +0 -0
  160. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_lazy_imports.py +0 -0
  161. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_logging_and_exceptions.py +0 -0
  162. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_matplotlib_state.py +0 -0
  163. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_node_degrees_perf.py +0 -0
  164. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_packaging_metadata.py +0 -0
  165. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_quimb_backend.py +0 -0
  166. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_render_performance_controls.py +0 -0
  167. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_show_tensor_network_throughput.py +0 -0
  168. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_snapshot_api.py +0 -0
  169. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_tenpy_backend.py +0 -0
  170. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_tensor_comparison.py +0 -0
  171. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_tensor_elements_perf.py +0 -0
  172. {tensor_network_visualization-2.0.0 → tensor_network_visualization-2.0.2}/tests/test_verify_script.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tensor-network-visualization
3
- Version: 2.0.0
3
+ Version: 2.0.2
4
4
  Summary: Minimal Matplotlib visualizations for TensorKrowch, TensorNetwork, Quimb, TeNPy, and traced PyTorch/NumPy einsum tensor networks.
5
5
  Author: Alejandro Mata Ali
6
6
  License-Expression: MIT
@@ -73,8 +73,7 @@ PyTorch/NumPy `einsum` tensor networks.
73
73
 
74
74
  ## Gallery
75
75
 
76
- These are exports generated with the library and the repository demos. The clean renders use
77
- transparent PNGs; the controls example keeps its background so the menu stays readable.
76
+ These are exports generated with the library and the repository demos.
78
77
 
79
78
  <p align="center">
80
79
  <img
@@ -124,10 +123,15 @@ The common entry points are:
124
123
  show_tensor_network(...)
125
124
  show_tensor_elements(...)
126
125
  show_tensor_comparison(...)
126
+ translate_tensor_network(...)
127
127
  normalize_tensor_network(...)
128
128
  export_tensor_network_snapshot(...)
129
129
  ```
130
130
 
131
+ If you want code for another backend rather than a figure, `translate_tensor_network(...)` can turn
132
+ supported TensorKrowch, TensorNetwork, Quimb, TeNPy, and traced `einsum` inputs into executable
133
+ Python for `tensornetwork`, `quimb`, `einsum`, or `tensorkrowch`.
134
+
131
135
  ## Install
132
136
 
133
137
  - PyPI package name: `tensor-network-visualization`
@@ -259,12 +263,23 @@ python examples/run_demo.py <group> <demo>
259
263
  The gallery includes backend demos for TensorKrowch, TensorNetwork, Quimb, TeNPy, and `einsum`,
260
264
  plus three focused groups:
261
265
 
262
- - `themes overview`: compares `default`, `paper`, and `colorblind` visual modes.
266
+ - `themes overview`: compares the `PlotConfig` visual presets for tensor-network figures.
267
+ - `themes tensor_elements`: compares the `TensorElementsConfig` presets for `show_tensor_elements(...)`
268
+ and the linked tensor inspector.
263
269
  - `placements`: shows object, list, 2D grid, 3D grid, manual positions, manual schemes, and named
264
270
  index inputs.
265
271
  - `geometry`: renders larger irregular, incomplete, triangular, pyramidal, circular, and
266
272
  disconnected networks.
267
273
 
274
+ There is also a dedicated translation demo:
275
+
276
+ ```bash
277
+ python examples/translate_demo.py --source-engine tensornetwork --target-engine quimb --example mps
278
+ ```
279
+
280
+ It generates Python code for the translated tensor network and can render the original and
281
+ translated versions side by side for comparison.
282
+
268
283
  For batch checks, use:
269
284
 
270
285
  ```bash
@@ -18,8 +18,7 @@ PyTorch/NumPy `einsum` tensor networks.
18
18
 
19
19
  ## Gallery
20
20
 
21
- These are exports generated with the library and the repository demos. The clean renders use
22
- transparent PNGs; the controls example keeps its background so the menu stays readable.
21
+ These are exports generated with the library and the repository demos.
23
22
 
24
23
  <p align="center">
25
24
  <img
@@ -63,15 +62,20 @@ Tensor-network libraries expose different Python objects. This package gives the
63
62
  visualization API so you can inspect structure, tensor values, contraction playback, and normalized
64
63
  graph exports without rewriting plotting code for every backend.
65
64
 
66
- The common entry points are:
67
-
68
- ```python
69
- show_tensor_network(...)
70
- show_tensor_elements(...)
71
- show_tensor_comparison(...)
72
- normalize_tensor_network(...)
73
- export_tensor_network_snapshot(...)
74
- ```
65
+ The common entry points are:
66
+
67
+ ```python
68
+ show_tensor_network(...)
69
+ show_tensor_elements(...)
70
+ show_tensor_comparison(...)
71
+ translate_tensor_network(...)
72
+ normalize_tensor_network(...)
73
+ export_tensor_network_snapshot(...)
74
+ ```
75
+
76
+ If you want code for another backend rather than a figure, `translate_tensor_network(...)` can turn
77
+ supported TensorKrowch, TensorNetwork, Quimb, TeNPy, and traced `einsum` inputs into executable
78
+ Python for `tensornetwork`, `quimb`, `einsum`, or `tensorkrowch`.
75
79
 
76
80
  ## Install
77
81
 
@@ -201,16 +205,27 @@ The repository examples are organized around the same launcher:
201
205
  python examples/run_demo.py <group> <demo>
202
206
  ```
203
207
 
204
- The gallery includes backend demos for TensorKrowch, TensorNetwork, Quimb, TeNPy, and `einsum`,
205
- plus three focused groups:
208
+ The gallery includes backend demos for TensorKrowch, TensorNetwork, Quimb, TeNPy, and `einsum`,
209
+ plus three focused groups:
206
210
 
207
- - `themes overview`: compares `default`, `paper`, and `colorblind` visual modes.
211
+ - `themes overview`: compares the `PlotConfig` visual presets for tensor-network figures.
212
+ - `themes tensor_elements`: compares the `TensorElementsConfig` presets for `show_tensor_elements(...)`
213
+ and the linked tensor inspector.
208
214
  - `placements`: shows object, list, 2D grid, 3D grid, manual positions, manual schemes, and named
209
215
  index inputs.
210
- - `geometry`: renders larger irregular, incomplete, triangular, pyramidal, circular, and
211
- disconnected networks.
212
-
213
- For batch checks, use:
216
+ - `geometry`: renders larger irregular, incomplete, triangular, pyramidal, circular, and
217
+ disconnected networks.
218
+
219
+ There is also a dedicated translation demo:
220
+
221
+ ```bash
222
+ python examples/translate_demo.py --source-engine tensornetwork --target-engine quimb --example mps
223
+ ```
224
+
225
+ It generates Python code for the translated tensor network and can render the original and
226
+ translated versions side by side for comparison.
227
+
228
+ For batch checks, use:
214
229
 
215
230
  ```bash
216
231
  python examples/run_all_examples.py --group engines --views 2d --list
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "tensor-network-visualization"
7
- version = "2.0.0"
7
+ version = "2.0.2"
8
8
  description = "Minimal Matplotlib visualizations for TensorKrowch, TensorNetwork, Quimb, TeNPy, and traced PyTorch/NumPy einsum tensor networks."
9
9
  authors = [{ name = "Alejandro Mata Ali" }]
10
10
  readme = "README.md"
@@ -12,23 +12,23 @@ license = "MIT"
12
12
  license-files = ["LICENSE"]
13
13
  requires-python = ">=3.11"
14
14
  keywords = ["tensor-network", "visualization", "pytorch", "numpy", "tensorkrowch", "tensornetwork", "quimb", "tenpy", "einsum", "quantum-inspired", "matplotlib"]
15
- dependencies = [
16
- "matplotlib>=3.7",
17
- "networkx>=3.0",
18
- "numpy>=2.0",
19
- ]
20
- classifiers = [
21
- "Development Status :: 5 - Production/Stable",
22
- "Intended Audience :: Science/Research",
23
- "Operating System :: OS Independent",
24
- "Programming Language :: Python :: 3",
25
- "Programming Language :: Python :: 3 :: Only",
26
- "Programming Language :: Python :: 3.11",
27
- "Programming Language :: Python :: 3.12",
28
- "Programming Language :: Python :: 3.13",
29
- "Topic :: Scientific/Engineering :: Visualization",
30
- "Typing :: Typed",
31
- ]
15
+ dependencies = [
16
+ "matplotlib>=3.7",
17
+ "networkx>=3.0",
18
+ "numpy>=2.0",
19
+ ]
20
+ classifiers = [
21
+ "Development Status :: 5 - Production/Stable",
22
+ "Intended Audience :: Science/Research",
23
+ "Operating System :: OS Independent",
24
+ "Programming Language :: Python :: 3",
25
+ "Programming Language :: Python :: 3 :: Only",
26
+ "Programming Language :: Python :: 3.11",
27
+ "Programming Language :: Python :: 3.12",
28
+ "Programming Language :: Python :: 3.13",
29
+ "Topic :: Scientific/Engineering :: Visualization",
30
+ "Typing :: Typed",
31
+ ]
32
32
 
33
33
  [project.urls]
34
34
  Homepage = "https://github.com/DOKOS-TAYOS/Tensor-Network-Visualization"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tensor-network-visualization
3
- Version: 2.0.0
3
+ Version: 2.0.2
4
4
  Summary: Minimal Matplotlib visualizations for TensorKrowch, TensorNetwork, Quimb, TeNPy, and traced PyTorch/NumPy einsum tensor networks.
5
5
  Author: Alejandro Mata Ali
6
6
  License-Expression: MIT
@@ -73,8 +73,7 @@ PyTorch/NumPy `einsum` tensor networks.
73
73
 
74
74
  ## Gallery
75
75
 
76
- These are exports generated with the library and the repository demos. The clean renders use
77
- transparent PNGs; the controls example keeps its background so the menu stays readable.
76
+ These are exports generated with the library and the repository demos.
78
77
 
79
78
  <p align="center">
80
79
  <img
@@ -124,10 +123,15 @@ The common entry points are:
124
123
  show_tensor_network(...)
125
124
  show_tensor_elements(...)
126
125
  show_tensor_comparison(...)
126
+ translate_tensor_network(...)
127
127
  normalize_tensor_network(...)
128
128
  export_tensor_network_snapshot(...)
129
129
  ```
130
130
 
131
+ If you want code for another backend rather than a figure, `translate_tensor_network(...)` can turn
132
+ supported TensorKrowch, TensorNetwork, Quimb, TeNPy, and traced `einsum` inputs into executable
133
+ Python for `tensornetwork`, `quimb`, `einsum`, or `tensorkrowch`.
134
+
131
135
  ## Install
132
136
 
133
137
  - PyPI package name: `tensor-network-visualization`
@@ -259,12 +263,23 @@ python examples/run_demo.py <group> <demo>
259
263
  The gallery includes backend demos for TensorKrowch, TensorNetwork, Quimb, TeNPy, and `einsum`,
260
264
  plus three focused groups:
261
265
 
262
- - `themes overview`: compares `default`, `paper`, and `colorblind` visual modes.
266
+ - `themes overview`: compares the `PlotConfig` visual presets for tensor-network figures.
267
+ - `themes tensor_elements`: compares the `TensorElementsConfig` presets for `show_tensor_elements(...)`
268
+ and the linked tensor inspector.
263
269
  - `placements`: shows object, list, 2D grid, 3D grid, manual positions, manual schemes, and named
264
270
  index inputs.
265
271
  - `geometry`: renders larger irregular, incomplete, triangular, pyramidal, circular, and
266
272
  disconnected networks.
267
273
 
274
+ There is also a dedicated translation demo:
275
+
276
+ ```bash
277
+ python examples/translate_demo.py --source-engine tensornetwork --target-engine quimb --example mps
278
+ ```
279
+
280
+ It generates Python code for the translated tensor network and can render the original and
281
+ translated versions side by side for comparison.
282
+
268
283
  For batch checks, use:
269
284
 
270
285
  ```bash
@@ -25,6 +25,8 @@ src/tensor_network_viz/_tensor_elements_models.py
25
25
  src/tensor_network_viz/_tensor_elements_payloads.py
26
26
  src/tensor_network_viz/_tensor_elements_rendering.py
27
27
  src/tensor_network_viz/_tensor_elements_support.py
28
+ src/tensor_network_viz/_translation_codegen.py
29
+ src/tensor_network_viz/_translation_models.py
28
30
  src/tensor_network_viz/_typing.py
29
31
  src/tensor_network_viz/_ui_utils.py
30
32
  src/tensor_network_viz/_widgets.py
@@ -38,6 +40,7 @@ src/tensor_network_viz/tensor_comparison.py
38
40
  src/tensor_network_viz/tensor_comparison_config.py
39
41
  src/tensor_network_viz/tensor_elements.py
40
42
  src/tensor_network_viz/tensor_elements_config.py
43
+ src/tensor_network_viz/translation.py
41
44
  src/tensor_network_viz/viewer.py
42
45
  src/tensor_network_viz/_core/__init__.py
43
46
  src/tensor_network_viz/_core/_draw_common.py
@@ -162,4 +165,5 @@ tests/test_tenpy_backend.py
162
165
  tests/test_tensor_comparison.py
163
166
  tests/test_tensor_elements.py
164
167
  tests/test_tensor_elements_perf.py
168
+ tests/test_translation_api.py
165
169
  tests/test_verify_script.py
@@ -3,6 +3,7 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  from importlib import import_module
6
+ from os import PathLike
6
7
  from typing import TYPE_CHECKING, Any
7
8
 
8
9
  from . import _logging as _package_logging
@@ -19,6 +20,7 @@ if TYPE_CHECKING:
19
20
  PlotTheme,
20
21
  TensorNetworkDiagnosticsConfig,
21
22
  TensorNetworkFocus,
23
+ TranslationTargetName,
22
24
  ViewName,
23
25
  )
24
26
  from .contraction_viewer import ContractionViewer2D, ContractionViewer3D
@@ -48,7 +50,12 @@ if TYPE_CHECKING:
48
50
  from .tensor_comparison import show_tensor_comparison
49
51
  from .tensor_comparison_config import TensorComparisonConfig
50
52
  from .tensor_elements import show_tensor_elements
51
- from .tensor_elements_config import TensorAnalysisConfig, TensorElementsConfig
53
+ from .tensor_elements_config import (
54
+ TensorAnalysisConfig,
55
+ TensorElementsConfig,
56
+ TensorElementsTheme,
57
+ )
58
+ from .translation import translate_tensor_network
52
59
  from .viewer import show_tensor_network
53
60
  else:
54
61
 
@@ -148,6 +155,23 @@ else:
148
155
  show=show,
149
156
  )
150
157
 
158
+ def translate_tensor_network(
159
+ network: Any,
160
+ *,
161
+ engine: EngineName | None = None,
162
+ target_engine: TranslationTargetName,
163
+ path: str | PathLike[str] | None = None,
164
+ ) -> str:
165
+ """Lazily dispatch to :func:`tensor_network_viz.translation.translate_tensor_network`."""
166
+ from .translation import translate_tensor_network as _translate_tensor_network
167
+
168
+ return _translate_tensor_network(
169
+ network,
170
+ engine=engine,
171
+ target_engine=target_engine,
172
+ path=path,
173
+ )
174
+
151
175
 
152
176
  _LAZY_EXPORTS: dict[str, tuple[str, str]] = {
153
177
  "AxisConfigurationError": (".exceptions", "AxisConfigurationError"),
@@ -163,12 +187,14 @@ _LAZY_EXPORTS: dict[str, tuple[str, str]] = {
163
187
  "NormalizedTensorNode": (".snapshot", "NormalizedTensorNode"),
164
188
  "PlotConfig": (".config", "PlotConfig"),
165
189
  "PlotTheme": (".config", "PlotTheme"),
190
+ "TranslationTargetName": ("._engine_specs", "TranslationTargetName"),
166
191
  "TenPyTensorNetwork": (".tenpy.explicit", "TenPyTensorNetwork"),
167
192
  "TensorComparisonConfig": (".tensor_comparison_config", "TensorComparisonConfig"),
168
193
  "TensorAnalysisConfig": (".tensor_elements_config", "TensorAnalysisConfig"),
169
194
  "TensorDataError": (".exceptions", "TensorDataError"),
170
195
  "TensorDataTypeError": (".exceptions", "TensorDataTypeError"),
171
196
  "TensorElementsConfig": (".tensor_elements_config", "TensorElementsConfig"),
197
+ "TensorElementsTheme": (".tensor_elements_config", "TensorElementsTheme"),
172
198
  "TensorNetworkDiagnosticsConfig": (".config", "TensorNetworkDiagnosticsConfig"),
173
199
  "TensorNetworkFocus": (".config", "TensorNetworkFocus"),
174
200
  "TensorNetworkLayoutSnapshot": (".snapshot", "TensorNetworkLayoutSnapshot"),
@@ -217,11 +243,13 @@ __all__ = [
217
243
  "NormalizedTensorNode",
218
244
  "PlotConfig",
219
245
  "PlotTheme",
246
+ "TranslationTargetName",
220
247
  "TensorComparisonConfig",
221
248
  "TensorAnalysisConfig",
222
249
  "TensorDataError",
223
250
  "TensorDataTypeError",
224
251
  "TensorElementsConfig",
252
+ "TensorElementsTheme",
225
253
  "TensorNetworkDiagnosticsConfig",
226
254
  "TensorNetworkFocus",
227
255
  "TensorNetworkLayoutSnapshot",
@@ -242,6 +270,7 @@ __all__ = [
242
270
  "show_tensor_comparison",
243
271
  "show_tensor_elements",
244
272
  "show_tensor_network",
273
+ "translate_tensor_network",
245
274
  ]
246
275
 
247
276
  _ = _package_logging
@@ -5,6 +5,7 @@ from __future__ import annotations
5
5
  from typing import Literal, TypeAlias
6
6
 
7
7
  EngineName: TypeAlias = Literal["tensorkrowch", "tensornetwork", "quimb", "tenpy", "einsum"]
8
+ TranslationTargetName: TypeAlias = Literal["tensorkrowch", "tensornetwork", "quimb", "einsum"]
8
9
 
9
10
  ENGINE_MODULE_MAP: dict[EngineName, tuple[str, str, str]] = {
10
11
  "tensorkrowch": (
@@ -298,6 +298,7 @@ class _InteractiveTensorFigureController:
298
298
  ),
299
299
  node_records_by_name=self._node_records_by_name,
300
300
  placeholder_engine=engine,
301
+ inspector_config=config.tensor_inspector_config,
301
302
  on_closed=self._on_tensor_inspector_closed,
302
303
  )
303
304
 
@@ -191,6 +191,7 @@ class _LinkedTensorInspectorController:
191
191
  step_records: tuple[_PlaybackStepRecord, ...] | None,
192
192
  node_records_by_name: dict[str, _TensorRecord] | None,
193
193
  placeholder_engine: EngineName,
194
+ inspector_config: TensorElementsConfig | None,
194
195
  on_closed: Callable[[], None],
195
196
  ) -> None:
196
197
  self._step_records = tuple(step_records or ())
@@ -199,7 +200,40 @@ class _LinkedTensorInspectorController:
199
200
  )
200
201
  self._placeholder_engine: EngineName = placeholder_engine
201
202
  self._on_closed = on_closed
202
- self._config = TensorElementsConfig(figsize=_INSPECTOR_FIGSIZE)
203
+ base_config = TensorElementsConfig() if inspector_config is None else inspector_config
204
+ self._config = TensorElementsConfig(
205
+ mode=base_config.mode,
206
+ row_axes=base_config.row_axes,
207
+ col_axes=base_config.col_axes,
208
+ analysis=base_config.analysis,
209
+ theme=base_config.theme,
210
+ continuous_cmap=base_config.continuous_cmap,
211
+ log_magnitude_cmap=base_config.log_magnitude_cmap,
212
+ phase_cmap=base_config.phase_cmap,
213
+ diverging_cmap=base_config.diverging_cmap,
214
+ sign_colors=base_config.sign_colors,
215
+ sparsity_colors=base_config.sparsity_colors,
216
+ nan_inf_colors=base_config.nan_inf_colors,
217
+ series_color=base_config.series_color,
218
+ histogram_color=base_config.histogram_color,
219
+ histogram_edge_color=base_config.histogram_edge_color,
220
+ zero_marker_color=base_config.zero_marker_color,
221
+ hover_facecolor=base_config.hover_facecolor,
222
+ hover_edgecolor=base_config.hover_edgecolor,
223
+ summary_facecolor=base_config.summary_facecolor,
224
+ summary_edgecolor=base_config.summary_edgecolor,
225
+ figsize=_INSPECTOR_FIGSIZE,
226
+ max_matrix_shape=base_config.max_matrix_shape,
227
+ shared_color_scale=base_config.shared_color_scale,
228
+ robust_percentiles=base_config.robust_percentiles,
229
+ highlight_outliers=base_config.highlight_outliers,
230
+ outlier_zscore=base_config.outlier_zscore,
231
+ zero_threshold=base_config.zero_threshold,
232
+ log_magnitude_floor=base_config.log_magnitude_floor,
233
+ histogram_bins=base_config.histogram_bins,
234
+ histogram_max_samples=base_config.histogram_max_samples,
235
+ topk_count=base_config.topk_count,
236
+ )
203
237
  self._enabled: bool = False
204
238
  self._viewer: _StepPlaybackViewer | None = None
205
239
  self._figure: Figure | None = None