memory-graph 0.3.50__tar.gz → 0.3.52__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 (323) hide show
  1. {memory_graph-0.3.50/memory_graph.egg-info → memory_graph-0.3.52}/PKG-INFO +13 -8
  2. {memory_graph-0.3.50 → memory_graph-0.3.52}/README.md +12 -7
  3. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/create_gif.sh +8 -1
  4. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/create_images.sh +8 -4
  5. memory_graph-0.3.52/images/extension_pandas.png +0 -0
  6. memory_graph-0.3.52/images/hidden_edges.png +0 -0
  7. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/hidden_edges.py +1 -1
  8. memory_graph-0.3.52/images/hidden_edges2.png +0 -0
  9. memory_graph-0.3.52/images/many_types.png +0 -0
  10. memory_graph-0.3.52/images/memory_graph_web_debugger.png +0 -0
  11. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/__init__.py +5 -1
  12. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/config.py +2 -0
  13. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/config_default.py +8 -5
  14. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/memory_to_nodes.py +5 -1
  15. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/node_linear.py +7 -2
  16. {memory_graph-0.3.50 → memory_graph-0.3.52/memory_graph.egg-info}/PKG-INFO +13 -8
  17. memory_graph-0.3.52/memory_graph.egg-info/SOURCES.txt +117 -0
  18. {memory_graph-0.3.50 → memory_graph-0.3.52}/pyproject.toml +1 -1
  19. memory_graph-0.3.50/images/-0 +0 -0
  20. memory_graph-0.3.50/images/.gif +0 -0
  21. memory_graph-0.3.50/images/.idea/.gitignore +0 -8
  22. memory_graph-0.3.50/images/.idea/images.iml +0 -12
  23. memory_graph-0.3.50/images/.idea/inspectionProfiles/profiles_settings.xml +0 -6
  24. memory_graph-0.3.50/images/.idea/misc.xml +0 -7
  25. memory_graph-0.3.50/images/.idea/modules.xml +0 -8
  26. memory_graph-0.3.50/images/.idea/vcs.xml +0 -6
  27. memory_graph-0.3.50/images/.idea/workspace.xml +0 -83
  28. memory_graph-0.3.50/images/add_one.gv +0 -69
  29. memory_graph-0.3.50/images/avltree.py~ +0 -41
  30. memory_graph-0.3.50/images/avltree_dir.gv +0 -57
  31. memory_graph-0.3.50/images/avltree_fail.gv +0 -22
  32. memory_graph-0.3.50/images/avltree_key_value.gv +0 -49
  33. memory_graph-0.3.50/images/avltree_leaf.gv +0 -22
  34. memory_graph-0.3.50/images/avltree_linear.gv +0 -57
  35. memory_graph-0.3.50/images/avltree_table.gv +0 -49
  36. memory_graph-0.3.50/images/bin_search.gv +0 -119
  37. memory_graph-0.3.50/images/bin_search.py~ +0 -42
  38. memory_graph-0.3.50/images/bin_search_linear.gv +0 -133
  39. memory_graph-0.3.50/images/bin_search_linear.py~ +0 -42
  40. memory_graph-0.3.50/images/bin_tree.gv +0 -110
  41. memory_graph-0.3.50/images/bin_tree2.py +0 -31
  42. memory_graph-0.3.50/images/bin_tree2.py~ +0 -31
  43. memory_graph-0.3.50/images/binary0.gv +0 -22
  44. memory_graph-0.3.50/images/binary0.png +0 -0
  45. memory_graph-0.3.50/images/binary1.gv +0 -30
  46. memory_graph-0.3.50/images/binary1.png +0 -0
  47. memory_graph-0.3.50/images/binary10.gv +0 -62
  48. memory_graph-0.3.50/images/binary10.png +0 -0
  49. memory_graph-0.3.50/images/binary11.gv +0 -54
  50. memory_graph-0.3.50/images/binary11.png +0 -0
  51. memory_graph-0.3.50/images/binary12.gv +0 -46
  52. memory_graph-0.3.50/images/binary12.png +0 -0
  53. memory_graph-0.3.50/images/binary13.gv +0 -38
  54. memory_graph-0.3.50/images/binary13.png +0 -0
  55. memory_graph-0.3.50/images/binary14.gv +0 -30
  56. memory_graph-0.3.50/images/binary14.png +0 -0
  57. memory_graph-0.3.50/images/binary2.gv +0 -38
  58. memory_graph-0.3.50/images/binary2.png +0 -0
  59. memory_graph-0.3.50/images/binary3.gv +0 -46
  60. memory_graph-0.3.50/images/binary3.png +0 -0
  61. memory_graph-0.3.50/images/binary4.gv +0 -54
  62. memory_graph-0.3.50/images/binary4.png +0 -0
  63. memory_graph-0.3.50/images/binary5.gv +0 -62
  64. memory_graph-0.3.50/images/binary5.png +0 -0
  65. memory_graph-0.3.50/images/binary6.gv +0 -70
  66. memory_graph-0.3.50/images/binary6.png +0 -0
  67. memory_graph-0.3.50/images/binary7.gv +0 -78
  68. memory_graph-0.3.50/images/binary7.png +0 -0
  69. memory_graph-0.3.50/images/binary8.gv +0 -78
  70. memory_graph-0.3.50/images/binary8.png +0 -0
  71. memory_graph-0.3.50/images/binary9.gv +0 -70
  72. memory_graph-0.3.50/images/binary9.png +0 -0
  73. memory_graph-0.3.50/images/call_stack.txt +0 -24
  74. memory_graph-0.3.50/images/copies.gv +0 -63
  75. memory_graph-0.3.50/images/copies_immutable.gv +0 -34
  76. memory_graph-0.3.50/images/copies_mix.gv +0 -49
  77. memory_graph-0.3.50/images/copy_immutable.gv +0 -34
  78. memory_graph-0.3.50/images/copy_immutable.py~ +0 -15
  79. memory_graph-0.3.50/images/copy_method.gv +0 -53
  80. memory_graph-0.3.50/images/copy_mix.gv +0 -49
  81. memory_graph-0.3.50/images/copy_mix.py~ +0 -15
  82. memory_graph-0.3.50/images/debug.gv +0 -15
  83. memory_graph-0.3.50/images/debug.pdf +0 -0
  84. memory_graph-0.3.50/images/debugging0.gv +0 -29
  85. memory_graph-0.3.50/images/debugging0.png +0 -0
  86. memory_graph-0.3.50/images/debugging01.gv +0 -29
  87. memory_graph-0.3.50/images/debugging02.gv +0 -38
  88. memory_graph-0.3.50/images/debugging03.gv +0 -47
  89. memory_graph-0.3.50/images/debugging04.gv +0 -57
  90. memory_graph-0.3.50/images/debugging05.gv +0 -68
  91. memory_graph-0.3.50/images/debugging06.gv +0 -68
  92. memory_graph-0.3.50/images/debugging1.gv +0 -38
  93. memory_graph-0.3.50/images/debugging1.png +0 -0
  94. memory_graph-0.3.50/images/debugging2.gv +0 -47
  95. memory_graph-0.3.50/images/debugging2.png +0 -0
  96. memory_graph-0.3.50/images/debugging3.gv +0 -57
  97. memory_graph-0.3.50/images/debugging3.png +0 -0
  98. memory_graph-0.3.50/images/debugging4.gv +0 -68
  99. memory_graph-0.3.50/images/debugging4.png +0 -0
  100. memory_graph-0.3.50/images/debugging5.gv +0 -68
  101. memory_graph-0.3.50/images/debugging5.png +0 -0
  102. memory_graph-0.3.50/images/depth.gv +0 -178
  103. memory_graph-0.3.50/images/embedded1.gv +0 -26
  104. memory_graph-0.3.50/images/embedded2.gv +0 -46
  105. memory_graph-0.3.50/images/extension_numpy.gv +0 -64
  106. memory_graph-0.3.50/images/extension_pandas.gv +0 -49
  107. memory_graph-0.3.50/images/extension_pandas.png +0 -0
  108. memory_graph-0.3.50/images/extension_torch.gv +0 -51
  109. memory_graph-0.3.50/images/extension_torch.py~ +0 -10
  110. memory_graph-0.3.50/images/factorial0.gv +0 -15
  111. memory_graph-0.3.50/images/factorial0.png +0 -0
  112. memory_graph-0.3.50/images/factorial01.gv +0 -15
  113. memory_graph-0.3.50/images/factorial02.gv +0 -22
  114. memory_graph-0.3.50/images/factorial03.gv +0 -28
  115. memory_graph-0.3.50/images/factorial04.gv +0 -34
  116. memory_graph-0.3.50/images/factorial05.gv +0 -35
  117. memory_graph-0.3.50/images/factorial06.gv +0 -29
  118. memory_graph-0.3.50/images/factorial07.gv +0 -23
  119. memory_graph-0.3.50/images/factorial1.gv +0 -22
  120. memory_graph-0.3.50/images/factorial1.png +0 -0
  121. memory_graph-0.3.50/images/factorial2.gv +0 -28
  122. memory_graph-0.3.50/images/factorial2.png +0 -0
  123. memory_graph-0.3.50/images/factorial3.gv +0 -34
  124. memory_graph-0.3.50/images/factorial3.png +0 -0
  125. memory_graph-0.3.50/images/factorial4.gv +0 -40
  126. memory_graph-0.3.50/images/factorial4.png +0 -0
  127. memory_graph-0.3.50/images/factorial5.gv +0 -46
  128. memory_graph-0.3.50/images/factorial5.png +0 -0
  129. memory_graph-0.3.50/images/factorial6.gv +0 -41
  130. memory_graph-0.3.50/images/factorial6.png +0 -0
  131. memory_graph-0.3.50/images/factorial7.gv +0 -35
  132. memory_graph-0.3.50/images/factorial7.png +0 -0
  133. memory_graph-0.3.50/images/factorial8.gv +0 -29
  134. memory_graph-0.3.50/images/factorial8.png +0 -0
  135. memory_graph-0.3.50/images/factorial9.gv +0 -23
  136. memory_graph-0.3.50/images/factorial9.png +0 -0
  137. memory_graph-0.3.50/images/hash_set.gv +0 -96
  138. memory_graph-0.3.50/images/hidden_edges.gv +0 -37
  139. memory_graph-0.3.50/images/hidden_edges.png +0 -0
  140. memory_graph-0.3.50/images/hidden_edges.py~ +0 -9
  141. memory_graph-0.3.50/images/highlight.gv +0 -92
  142. memory_graph-0.3.50/images/immutable1.gv +0 -18
  143. memory_graph-0.3.50/images/immutable2.gv +0 -27
  144. memory_graph-0.3.50/images/introspect_depth.gv +0 -178
  145. memory_graph-0.3.50/images/introspect_depth.py~ +0 -26
  146. memory_graph-0.3.50/images/linked_list.gv +0 -57
  147. memory_graph-0.3.50/images/log.txt +0 -186
  148. memory_graph-0.3.50/images/many_types.gv +0 -46
  149. memory_graph-0.3.50/images/many_types.png +0 -0
  150. memory_graph-0.3.50/images/memory_graph.gv +0 -72
  151. memory_graph-0.3.50/images/memory_graph.pdf +0 -0
  152. memory_graph-0.3.50/images/mutable1.gv +0 -18
  153. memory_graph-0.3.50/images/mutable2.gv +0 -19
  154. memory_graph-0.3.50/images/my_graph.gv +0 -31
  155. memory_graph-0.3.50/images/my_graph.pdf +0 -0
  156. memory_graph-0.3.50/images/not_node_types.py~ +0 -9
  157. memory_graph-0.3.50/images/not_node_types1.gv +0 -26
  158. memory_graph-0.3.50/images/not_node_types2.gv +0 -46
  159. memory_graph-0.3.50/images/power_set0.gv +0 -38
  160. memory_graph-0.3.50/images/power_set0.png +0 -0
  161. memory_graph-0.3.50/images/power_set1.gv +0 -53
  162. memory_graph-0.3.50/images/power_set1.png +0 -0
  163. memory_graph-0.3.50/images/power_set10.gv +0 -103
  164. memory_graph-0.3.50/images/power_set10.png +0 -0
  165. memory_graph-0.3.50/images/power_set11.gv +0 -93
  166. memory_graph-0.3.50/images/power_set11.png +0 -0
  167. memory_graph-0.3.50/images/power_set12.gv +0 -93
  168. memory_graph-0.3.50/images/power_set12.png +0 -0
  169. memory_graph-0.3.50/images/power_set13.gv +0 -103
  170. memory_graph-0.3.50/images/power_set13.png +0 -0
  171. memory_graph-0.3.50/images/power_set14.gv +0 -114
  172. memory_graph-0.3.50/images/power_set14.png +0 -0
  173. memory_graph-0.3.50/images/power_set15.gv +0 -120
  174. memory_graph-0.3.50/images/power_set15.png +0 -0
  175. memory_graph-0.3.50/images/power_set16.gv +0 -116
  176. memory_graph-0.3.50/images/power_set16.png +0 -0
  177. memory_graph-0.3.50/images/power_set17.gv +0 -116
  178. memory_graph-0.3.50/images/power_set17.png +0 -0
  179. memory_graph-0.3.50/images/power_set18.gv +0 -126
  180. memory_graph-0.3.50/images/power_set18.png +0 -0
  181. memory_graph-0.3.50/images/power_set19.gv +0 -132
  182. memory_graph-0.3.50/images/power_set19.png +0 -0
  183. memory_graph-0.3.50/images/power_set19.png~ +0 -0
  184. memory_graph-0.3.50/images/power_set2.gv +0 -63
  185. memory_graph-0.3.50/images/power_set2.png +0 -0
  186. memory_graph-0.3.50/images/power_set20.gv +0 -128
  187. memory_graph-0.3.50/images/power_set20.png +0 -0
  188. memory_graph-0.3.50/images/power_set21.gv +0 -118
  189. memory_graph-0.3.50/images/power_set21.png +0 -0
  190. memory_graph-0.3.50/images/power_set22.gv +0 -108
  191. memory_graph-0.3.50/images/power_set22.png +0 -0
  192. memory_graph-0.3.50/images/power_set23.gv +0 -93
  193. memory_graph-0.3.50/images/power_set23.png +0 -0
  194. memory_graph-0.3.50/images/power_set3.gv +0 -74
  195. memory_graph-0.3.50/images/power_set3.png +0 -0
  196. memory_graph-0.3.50/images/power_set4.gv +0 -85
  197. memory_graph-0.3.50/images/power_set4.png +0 -0
  198. memory_graph-0.3.50/images/power_set5.gv +0 -93
  199. memory_graph-0.3.50/images/power_set5.png +0 -0
  200. memory_graph-0.3.50/images/power_set6.gv +0 -91
  201. memory_graph-0.3.50/images/power_set6.png +0 -0
  202. memory_graph-0.3.50/images/power_set7.gv +0 -90
  203. memory_graph-0.3.50/images/power_set7.png +0 -0
  204. memory_graph-0.3.50/images/power_set8.gv +0 -101
  205. memory_graph-0.3.50/images/power_set8.png +0 -0
  206. memory_graph-0.3.50/images/power_set8.png~ +0 -0
  207. memory_graph-0.3.50/images/power_set9.gv +0 -107
  208. memory_graph-0.3.50/images/power_set9.png +0 -0
  209. memory_graph-0.3.50/images/pyodide.png +0 -0
  210. memory_graph-0.3.50/images/rebinding1.gv +0 -18
  211. memory_graph-0.3.50/images/rebinding2.gv +0 -26
  212. memory_graph-0.3.50/images/s1.txt +0 -8
  213. memory_graph-0.3.50/images/stack.txt +0 -24
  214. memory_graph-0.3.50/images/test.py +0 -20
  215. memory_graph-0.3.50/images/test.py~ +0 -18
  216. memory_graph-0.3.50/images/test_insp.py +0 -14
  217. memory_graph-0.3.50/images/test_insp.py~ +0 -2
  218. memory_graph-0.3.50/images/vsc.py +0 -42
  219. memory_graph-0.3.50/memory_graph/extension_pytorch.py +0 -30
  220. memory_graph-0.3.50/memory_graph/pytorch_test.py +0 -10
  221. memory_graph-0.3.50/memory_graph/t.py +0 -8
  222. memory_graph-0.3.50/memory_graph.egg-info/SOURCES.txt +0 -315
  223. {memory_graph-0.3.50 → memory_graph-0.3.52}/LICENSE.txt +0 -0
  224. {memory_graph-0.3.50 → memory_graph-0.3.52}/MANIFEST.in +0 -0
  225. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/add_one.png +0 -0
  226. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/add_one.py +0 -0
  227. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/avltree.py +0 -0
  228. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/avltree_dir.png +0 -0
  229. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/avltree_fail.png +0 -0
  230. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/avltree_key_value.png +0 -0
  231. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/avltree_leaf.png +0 -0
  232. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/avltree_linear.png +0 -0
  233. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/avltree_table.png +0 -0
  234. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/bin_search.png +0 -0
  235. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/bin_search.py +0 -0
  236. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/bin_search_linear.png +0 -0
  237. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/bin_tree.gif +0 -0
  238. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/bin_tree.png +0 -0
  239. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/bin_tree.py +0 -0
  240. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/binary.gif +0 -0
  241. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/binary.py +0 -0
  242. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/colab_example.png +0 -0
  243. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copies.png +0 -0
  244. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copies_immutable.png +0 -0
  245. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copies_mix.png +0 -0
  246. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copy_immutable.png +0 -0
  247. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copy_immutable.py +0 -0
  248. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copy_method.png +0 -0
  249. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copy_method.py +0 -0
  250. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copy_mix.png +0 -0
  251. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copy_mix.py +0 -0
  252. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copy_mutable.png +0 -0
  253. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copy_mutable.py +0 -0
  254. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/debug_vscode.png +0 -0
  255. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/debugging.gif +0 -0
  256. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/debugging.py +0 -0
  257. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/depth.png +0 -0
  258. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/embedded1.png +0 -0
  259. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/embedded2.png +0 -0
  260. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/extension_numpy.png +0 -0
  261. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/extension_numpy.py +0 -0
  262. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/extension_pandas.py +0 -0
  263. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/extension_torch.png +0 -0
  264. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/extension_torch.py +0 -0
  265. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/factorial.gif +0 -0
  266. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/factorial.py +0 -0
  267. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/hash_set.gif +0 -0
  268. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/hash_set.png +0 -0
  269. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/hash_set.py +0 -0
  270. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/immutable.py +0 -0
  271. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/immutable1.png +0 -0
  272. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/immutable2.png +0 -0
  273. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/introspect_depth.png +0 -0
  274. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/introspect_depth.py +0 -0
  275. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/ipython.png +0 -0
  276. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/jupyter_example.png +0 -0
  277. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/linked_list.gif +0 -0
  278. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/linked_list.png +0 -0
  279. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/linked_list.py +0 -0
  280. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/many_types.py +0 -0
  281. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/marimo_example.png +0 -0
  282. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/memory_graph.gv.pdf +0 -0
  283. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/mutable.py +0 -0
  284. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/mutable1.png +0 -0
  285. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/mutable2.png +0 -0
  286. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/name_rebinding.py +0 -0
  287. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/not_node_types.py +0 -0
  288. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/power_set.gif +0 -0
  289. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/power_set.py +0 -0
  290. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/rebinding1.png +0 -0
  291. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/rebinding2.png +0 -0
  292. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/uva.png +0 -0
  293. {memory_graph-0.3.50 → memory_graph-0.3.52}/images/vscode_copying.gif +0 -0
  294. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/call_stack.py +0 -0
  295. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/config_helpers.py +0 -0
  296. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/extension_numpy.py +0 -0
  297. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/extension_pandas.py +0 -0
  298. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/extension_torch.py +0 -0
  299. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/html_table.py +0 -0
  300. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/list_view.py +0 -0
  301. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/node_base.py +0 -0
  302. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/node_key_value.py +0 -0
  303. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/node_leaf.py +0 -0
  304. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/node_table.py +0 -0
  305. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/sequence.py +0 -0
  306. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/slicer.py +0 -0
  307. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/slices.py +0 -0
  308. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/slices_iterator.py +0 -0
  309. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/slices_table_iterator.py +0 -0
  310. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/test.py +0 -0
  311. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/test_max_graph_depth.py +0 -0
  312. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/test_memory_graph.py +0 -0
  313. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/test_memory_to_nodes.py +0 -0
  314. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/test_sequence.py +0 -0
  315. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/test_slicer.py +0 -0
  316. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/test_slices.py +0 -0
  317. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/test_slices_iterator.py +0 -0
  318. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/utils.py +0 -0
  319. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph.egg-info/dependency_links.txt +0 -0
  320. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph.egg-info/requires.txt +0 -0
  321. {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph.egg-info/top_level.txt +0 -0
  322. {memory_graph-0.3.50 → memory_graph-0.3.52}/setup.cfg +0 -0
  323. {memory_graph-0.3.50 → memory_graph-0.3.52}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: memory_graph
3
- Version: 0.3.50
3
+ Version: 0.3.52
4
4
  Summary: Teaching tool and debugging aid in context of references, mutable data types, and shallow and deep copy.
5
5
  Author-email: Bas Terwijn <bterwijn@gmail.com>
6
6
  License: BSD 2-Clause License
@@ -52,6 +52,8 @@ Additionally [Graphviz](https://graphviz.org/download/) needs to be installed.
52
52
 
53
53
  # Highlights #
54
54
  ![vscode_copying.gif](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/vscode_copying.gif)
55
+ Run a live demo in the 👉 [**Memory Graph Web Debugger**](https://memory-graph.com/#play) 👈 now, no installation required!
56
+
55
57
  - learn the right **mental model** to think about Python data (references, mutability, shallow vs deep copy)
56
58
  - **visualize the structure of your data** to easily understand and debug any data structure
57
59
  - understand function calls, variable scope, and the **complete program state** through call stack visualization
@@ -148,6 +150,8 @@ A better way to understand what values are shared is to draw a graph using [memo
148
150
 
149
151
  [Extensions](#extensions)
150
152
 
153
+ [Memory Graph Web Debugger](#memory-graph-web-debugger)
154
+
151
155
  [Jupyter Notebook](#jupyter-notebook)
152
156
 
153
157
  [ipython](#ipython)
@@ -156,8 +160,6 @@ A better way to understand what values are shared is to draw a graph using [memo
156
160
 
157
161
  [Marimo](#marimo)
158
162
 
159
- [In the Browser](#in-the-browser)
160
-
161
163
  [Animated GIF](#animated-gif)
162
164
 
163
165
  [Troubleshooting](#troubleshooting)
@@ -661,6 +663,9 @@ Different aspects of memory_graph can be configured. The default configuration c
661
663
  - ***mg.config.embedding_types*** : set[type]
662
664
  - Holds all dictionary types that embed their key-value tuple children.
663
665
 
666
+ - ***mg.config.no_index_types*** : set[type]
667
+ - Holds all types like 'set' and 'frozenset' that should not have indices as Node_Linear.
668
+
664
669
  - ***mg.config.type_to_node*** : dict[type, fun(data) -> Node]
665
670
  - Determines how a data type is converted to a Node subclass for visualization in the graph.
666
671
 
@@ -674,7 +679,7 @@ Different aspects of memory_graph can be configured. The default configuration c
674
679
  - Maps a type to a Slicer. A slicer determines how many elements of a data type are shown in the graph to prevent the graph from getting too big. 'Slicer()' does no slicing, 'Slicer(1,2,3)' shows just 1 element at the beginning, 2 in the middle, and 3 at the end.
675
680
 
676
681
  - ***mg.config.max_graph_depth*** : int
677
- - The maxium depth of the graph with default value 12.
682
+ - The maxium depth of the graph with default value 1000.
678
683
 
679
684
  - ***mg.config.graph_cut_symbol*** : str
680
685
  - The symbol indicating where the graph is cut short with default `✂`.
@@ -1020,6 +1025,10 @@ mg.show(locals())
1020
1025
  ```
1021
1026
  ![extension_torch.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/extension_torch.png)
1022
1027
 
1028
+ # Memory Graph Web Debugger #
1029
+ The <a href="https://memory-graph.com/#play" target="_blank">Memory Graph Web Debugger</a> lets us use memory_graph without any installation.
1030
+ ![memory_graph_web_debugger.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/memory_graph_web_debugger.png)
1031
+
1023
1032
  # Jupyter Notebook #
1024
1033
  In Jupyter Notebook `locals()` has additional variables that cause problems in the graph, use `mg.locals_jupyter()` to get the local variables with these problematic variables filtered out. Use `mg.stack_jupyter()` to get the whole call stack with these variables filtered out.
1025
1034
 
@@ -1055,10 +1064,6 @@ In Marimo `locals()` has additional variables that cause problems in the graph,
1055
1064
  See for example [marimo_example.py](https://raw.githubusercontent.com/bterwijn/memory_graph/main/src/marimo_example.py).
1056
1065
  ![marimo_example.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/marimo_example.png)
1057
1066
 
1058
- # In the Browser #
1059
- We can also use memory_graph in the browser: <a href="https://bterwijn.github.io/memory_graph/src/pyodide.html" target="_blank">Pyodide Example</a>
1060
- ![pyodide.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/pyodide.png)
1061
-
1062
1067
 
1063
1068
  # Animated GIF #
1064
1069
  To make an animated GIF use for example `mg.show` or `mg.render` like this:
@@ -7,6 +7,8 @@ Additionally [Graphviz](https://graphviz.org/download/) needs to be installed.
7
7
 
8
8
  # Highlights #
9
9
  ![vscode_copying.gif](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/vscode_copying.gif)
10
+ Run a live demo in the 👉 [**Memory Graph Web Debugger**](https://memory-graph.com/#play) 👈 now, no installation required!
11
+
10
12
  - learn the right **mental model** to think about Python data (references, mutability, shallow vs deep copy)
11
13
  - **visualize the structure of your data** to easily understand and debug any data structure
12
14
  - understand function calls, variable scope, and the **complete program state** through call stack visualization
@@ -103,6 +105,8 @@ A better way to understand what values are shared is to draw a graph using [memo
103
105
 
104
106
  [Extensions](#extensions)
105
107
 
108
+ [Memory Graph Web Debugger](#memory-graph-web-debugger)
109
+
106
110
  [Jupyter Notebook](#jupyter-notebook)
107
111
 
108
112
  [ipython](#ipython)
@@ -111,8 +115,6 @@ A better way to understand what values are shared is to draw a graph using [memo
111
115
 
112
116
  [Marimo](#marimo)
113
117
 
114
- [In the Browser](#in-the-browser)
115
-
116
118
  [Animated GIF](#animated-gif)
117
119
 
118
120
  [Troubleshooting](#troubleshooting)
@@ -616,6 +618,9 @@ Different aspects of memory_graph can be configured. The default configuration c
616
618
  - ***mg.config.embedding_types*** : set[type]
617
619
  - Holds all dictionary types that embed their key-value tuple children.
618
620
 
621
+ - ***mg.config.no_index_types*** : set[type]
622
+ - Holds all types like 'set' and 'frozenset' that should not have indices as Node_Linear.
623
+
619
624
  - ***mg.config.type_to_node*** : dict[type, fun(data) -> Node]
620
625
  - Determines how a data type is converted to a Node subclass for visualization in the graph.
621
626
 
@@ -629,7 +634,7 @@ Different aspects of memory_graph can be configured. The default configuration c
629
634
  - Maps a type to a Slicer. A slicer determines how many elements of a data type are shown in the graph to prevent the graph from getting too big. 'Slicer()' does no slicing, 'Slicer(1,2,3)' shows just 1 element at the beginning, 2 in the middle, and 3 at the end.
630
635
 
631
636
  - ***mg.config.max_graph_depth*** : int
632
- - The maxium depth of the graph with default value 12.
637
+ - The maxium depth of the graph with default value 1000.
633
638
 
634
639
  - ***mg.config.graph_cut_symbol*** : str
635
640
  - The symbol indicating where the graph is cut short with default `✂`.
@@ -975,6 +980,10 @@ mg.show(locals())
975
980
  ```
976
981
  ![extension_torch.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/extension_torch.png)
977
982
 
983
+ # Memory Graph Web Debugger #
984
+ The <a href="https://memory-graph.com/#play" target="_blank">Memory Graph Web Debugger</a> lets us use memory_graph without any installation.
985
+ ![memory_graph_web_debugger.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/memory_graph_web_debugger.png)
986
+
978
987
  # Jupyter Notebook #
979
988
  In Jupyter Notebook `locals()` has additional variables that cause problems in the graph, use `mg.locals_jupyter()` to get the local variables with these problematic variables filtered out. Use `mg.stack_jupyter()` to get the whole call stack with these variables filtered out.
980
989
 
@@ -1010,10 +1019,6 @@ In Marimo `locals()` has additional variables that cause problems in the graph,
1010
1019
  See for example [marimo_example.py](https://raw.githubusercontent.com/bterwijn/memory_graph/main/src/marimo_example.py).
1011
1020
  ![marimo_example.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/marimo_example.png)
1012
1021
 
1013
- # In the Browser #
1014
- We can also use memory_graph in the browser: <a href="https://bterwijn.github.io/memory_graph/src/pyodide.html" target="_blank">Pyodide Example</a>
1015
- ![pyodide.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/pyodide.png)
1016
-
1017
1022
 
1018
1023
  # Animated GIF #
1019
1024
  To make an animated GIF use for example `mg.show` or `mg.render` like this:
@@ -5,7 +5,8 @@
5
5
  # sudo apt install imagemagick
6
6
 
7
7
  name="$1"
8
- files=$(ls -v $name*.png)
8
+ files=$(ls -v $name*.png | tr '\n' ' ')
9
+ files_gv=$(ls -v $name*.gv | tr '\n' ' ')
9
10
  echo "creating gif with:"
10
11
  echo "$files"
11
12
 
@@ -17,4 +18,10 @@ mogrify -resize $largest_size -background white -gravity center -extent $largest
17
18
 
18
19
  echo "creating file: $name.gif"
19
20
  convert -delay 150 -dither None -loop 0 $files $name.gif
21
+
22
+ if [ "$2" = "-d" ]; then
23
+ echo "deleting: $files $files_gv"
24
+ rm $files $files_gv
25
+ fi
26
+
20
27
  echo "done"
@@ -3,7 +3,7 @@ python many_types.py
3
3
 
4
4
  # debugging
5
5
  python debugging.py
6
- bash create_gif.sh debugging
6
+ bash create_gif.sh debugging -d
7
7
 
8
8
  # data model
9
9
  python immutable.py
@@ -17,11 +17,11 @@ python name_rebinding.py
17
17
  # call stack
18
18
  python add_one.py
19
19
  python factorial.py
20
- bash create_gif.sh factorial
20
+ bash create_gif.sh factorial -d
21
21
  python binary.py
22
- bash create_gif.sh binary
22
+ bash create_gif.sh binary -d
23
23
  python power_set.py
24
- bash create_gif.sh power_set
24
+ bash create_gif.sh power_set -d
25
25
 
26
26
  # datastructures
27
27
  python linked_list.py
@@ -35,7 +35,11 @@ python not_node_types.py
35
35
  python avltree.py
36
36
  python bin_search.py
37
37
  python introspect_depth.py
38
+ python hidden_edges.py
38
39
 
39
40
  # extensions
40
41
  python extension_numpy.py
41
42
  python extension_pandas.py
43
+
44
+ # clean up the graphviz files
45
+ rm *.gv
@@ -2,7 +2,7 @@ import memory_graph as mg
2
2
 
3
3
  data = []
4
4
  x = ['x']
5
- for i in range(20):
5
+ for i in range(35):
6
6
  data.append(x)
7
7
 
8
8
  mg.render(locals(), 'hidden_edges.png')
@@ -21,7 +21,7 @@ import builtins
21
21
  if not hasattr(builtins, "mg"):
22
22
  builtins.mg = mg
23
23
 
24
- __version__ = "0.3.50"
24
+ __version__ = "0.3.52"
25
25
  __author__ = 'Bas Terwijn'
26
26
 
27
27
  last_show_filename = None
@@ -302,6 +302,10 @@ def wing(filename=None, data=None):
302
302
  data = stack_wing()
303
303
  render(data, filename)
304
304
 
305
+ def locals_filter(locals, keys):
306
+ """ Filter out the jupyter specific keys that polute the graph. """
307
+ return {k:v for k,v in utils.filter_dict(jupyter_locals)
308
+ if k not in jupyter_filter_keys}
305
309
 
306
310
  # ------------ jupyter filtering
307
311
 
@@ -21,6 +21,8 @@ embedded_key_types = {}
21
21
  embedding_types = set()
22
22
  no_child_references_types = embedding_types # deprecated
23
23
 
24
+ no_index_types = {}
25
+
24
26
  type_to_string = { }
25
27
 
26
28
  def to_string(data):
@@ -52,7 +52,10 @@ def reset():
52
52
  """ Types that will embed their children. """
53
53
  config.embedding_types = {dict, types.MappingProxyType}
54
54
 
55
- """ Types that need an special conversion """
55
+ """ Types that should not show an index """
56
+ config.no_index_types = {set, frozenset}
57
+
58
+ """ Types that need a special conversion """
56
59
  config.type_to_string = {
57
60
  types.FunctionType: lambda data: data.__qualname__,
58
61
  types.MethodType: lambda data: data.__qualname__,
@@ -107,13 +110,13 @@ def reset():
107
110
 
108
111
  """ Slicer objects for different types. """
109
112
  config.type_to_slicer = {
110
- Node_Linear: Slicer(5,3,5),
111
- Node_Key_Value: Slicer(5,3,5),
112
- Node_Table: (Slicer(3,2,3), Slicer(3,2,3)),
113
+ Node_Linear: Slicer(10, 5, 10),
114
+ Node_Key_Value: Slicer(10, 5, 10),
115
+ Node_Table: (Slicer(3, 2, 3), Slicer(3, 2, 3)),
113
116
  }
114
117
 
115
118
  """ The maximum depth of nodes in the graph. When the graph gets too big set this to a small positive number. A `✂` symbol indictes where the graph is cut short. """
116
- config.max_graph_depth = 12
119
+ config.max_graph_depth = 1000
117
120
  config.graph_cut_symbol = '✂'
118
121
 
119
122
 
@@ -149,8 +149,12 @@ def add_missing_edges(nodes, id_to_slices, max_missing_edges=3):
149
149
  for index in indices:
150
150
  if parent_slices is None or not parent_slices.has_index(index):
151
151
  type_to_parent_indices.setdefault(parent_type, [])
152
+ #if not parent_type in type_to_parent_indices:
153
+ # type_to_parent_indices[parent_type] = []
152
154
  parent_indices = type_to_parent_indices[parent_type]
153
- if len(parent_indices) < max_missing_edges:
155
+ if len(parent_indices) > max_missing_edges:
156
+ break
157
+ else:
154
158
  parent_indices.append((parent, index))
155
159
  add_parent_indices(nodes, type_to_parent_indices, id_to_slices, max_missing_edges)
156
160
 
@@ -6,6 +6,7 @@ from memory_graph.node_base import Node_Base
6
6
  from memory_graph.sequence import Sequence1D
7
7
 
8
8
  import memory_graph.config_helpers as config_helpers
9
+ import memory_graph.config as config
9
10
 
10
11
  class Node_Linear(Node_Base):
11
12
  """
@@ -56,9 +57,11 @@ class Node_Linear(Node_Base):
56
57
  """
57
58
  Helper function to fill the html_table with the children of the Node_Base in vertical orientation.
58
59
  """
60
+ show_index = not self.get_type() in config.no_index_types
59
61
  for index in slices.table_iter(self.children.size()):
60
62
  if index>=0:
61
- html_table.add_index(index)
63
+ if show_index:
64
+ html_table.add_index(index)
62
65
  child = self.children[index]
63
66
  html_table.add_entry(self, nodes, child, id_to_slices, dashed=slices.is_dashed(index))
64
67
  html_table.add_new_line()
@@ -71,9 +74,11 @@ class Node_Linear(Node_Base):
71
74
  """
72
75
  Helper function to fill the html_table with the children of the Node_Base in horizontal orientation.
73
76
  """
77
+ show_index = not self.get_type() in config.no_index_types
74
78
  for index in slices.table_iter(self.children.size()):
75
79
  if index>=0:
76
- html_table.add_index(index)
80
+ if show_index:
81
+ html_table.add_index(index)
77
82
  else:
78
83
  html_table.add_value('', border=0)
79
84
  html_table.add_new_line()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: memory_graph
3
- Version: 0.3.50
3
+ Version: 0.3.52
4
4
  Summary: Teaching tool and debugging aid in context of references, mutable data types, and shallow and deep copy.
5
5
  Author-email: Bas Terwijn <bterwijn@gmail.com>
6
6
  License: BSD 2-Clause License
@@ -52,6 +52,8 @@ Additionally [Graphviz](https://graphviz.org/download/) needs to be installed.
52
52
 
53
53
  # Highlights #
54
54
  ![vscode_copying.gif](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/vscode_copying.gif)
55
+ Run a live demo in the 👉 [**Memory Graph Web Debugger**](https://memory-graph.com/#play) 👈 now, no installation required!
56
+
55
57
  - learn the right **mental model** to think about Python data (references, mutability, shallow vs deep copy)
56
58
  - **visualize the structure of your data** to easily understand and debug any data structure
57
59
  - understand function calls, variable scope, and the **complete program state** through call stack visualization
@@ -148,6 +150,8 @@ A better way to understand what values are shared is to draw a graph using [memo
148
150
 
149
151
  [Extensions](#extensions)
150
152
 
153
+ [Memory Graph Web Debugger](#memory-graph-web-debugger)
154
+
151
155
  [Jupyter Notebook](#jupyter-notebook)
152
156
 
153
157
  [ipython](#ipython)
@@ -156,8 +160,6 @@ A better way to understand what values are shared is to draw a graph using [memo
156
160
 
157
161
  [Marimo](#marimo)
158
162
 
159
- [In the Browser](#in-the-browser)
160
-
161
163
  [Animated GIF](#animated-gif)
162
164
 
163
165
  [Troubleshooting](#troubleshooting)
@@ -661,6 +663,9 @@ Different aspects of memory_graph can be configured. The default configuration c
661
663
  - ***mg.config.embedding_types*** : set[type]
662
664
  - Holds all dictionary types that embed their key-value tuple children.
663
665
 
666
+ - ***mg.config.no_index_types*** : set[type]
667
+ - Holds all types like 'set' and 'frozenset' that should not have indices as Node_Linear.
668
+
664
669
  - ***mg.config.type_to_node*** : dict[type, fun(data) -> Node]
665
670
  - Determines how a data type is converted to a Node subclass for visualization in the graph.
666
671
 
@@ -674,7 +679,7 @@ Different aspects of memory_graph can be configured. The default configuration c
674
679
  - Maps a type to a Slicer. A slicer determines how many elements of a data type are shown in the graph to prevent the graph from getting too big. 'Slicer()' does no slicing, 'Slicer(1,2,3)' shows just 1 element at the beginning, 2 in the middle, and 3 at the end.
675
680
 
676
681
  - ***mg.config.max_graph_depth*** : int
677
- - The maxium depth of the graph with default value 12.
682
+ - The maxium depth of the graph with default value 1000.
678
683
 
679
684
  - ***mg.config.graph_cut_symbol*** : str
680
685
  - The symbol indicating where the graph is cut short with default `✂`.
@@ -1020,6 +1025,10 @@ mg.show(locals())
1020
1025
  ```
1021
1026
  ![extension_torch.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/extension_torch.png)
1022
1027
 
1028
+ # Memory Graph Web Debugger #
1029
+ The <a href="https://memory-graph.com/#play" target="_blank">Memory Graph Web Debugger</a> lets us use memory_graph without any installation.
1030
+ ![memory_graph_web_debugger.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/memory_graph_web_debugger.png)
1031
+
1023
1032
  # Jupyter Notebook #
1024
1033
  In Jupyter Notebook `locals()` has additional variables that cause problems in the graph, use `mg.locals_jupyter()` to get the local variables with these problematic variables filtered out. Use `mg.stack_jupyter()` to get the whole call stack with these variables filtered out.
1025
1034
 
@@ -1055,10 +1064,6 @@ In Marimo `locals()` has additional variables that cause problems in the graph,
1055
1064
  See for example [marimo_example.py](https://raw.githubusercontent.com/bterwijn/memory_graph/main/src/marimo_example.py).
1056
1065
  ![marimo_example.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/marimo_example.png)
1057
1066
 
1058
- # In the Browser #
1059
- We can also use memory_graph in the browser: <a href="https://bterwijn.github.io/memory_graph/src/pyodide.html" target="_blank">Pyodide Example</a>
1060
- ![pyodide.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/pyodide.png)
1061
-
1062
1067
 
1063
1068
  # Animated GIF #
1064
1069
  To make an animated GIF use for example `mg.show` or `mg.render` like this:
@@ -0,0 +1,117 @@
1
+ LICENSE.txt
2
+ MANIFEST.in
3
+ README.md
4
+ pyproject.toml
5
+ setup.py
6
+ images/add_one.png
7
+ images/add_one.py
8
+ images/avltree.py
9
+ images/avltree_dir.png
10
+ images/avltree_fail.png
11
+ images/avltree_key_value.png
12
+ images/avltree_leaf.png
13
+ images/avltree_linear.png
14
+ images/avltree_table.png
15
+ images/bin_search.png
16
+ images/bin_search.py
17
+ images/bin_search_linear.png
18
+ images/bin_tree.gif
19
+ images/bin_tree.png
20
+ images/bin_tree.py
21
+ images/binary.gif
22
+ images/binary.py
23
+ images/colab_example.png
24
+ images/copies.png
25
+ images/copies_immutable.png
26
+ images/copies_mix.png
27
+ images/copy_immutable.png
28
+ images/copy_immutable.py
29
+ images/copy_method.png
30
+ images/copy_method.py
31
+ images/copy_mix.png
32
+ images/copy_mix.py
33
+ images/copy_mutable.png
34
+ images/copy_mutable.py
35
+ images/create_gif.sh
36
+ images/create_images.sh
37
+ images/debug_vscode.png
38
+ images/debugging.gif
39
+ images/debugging.py
40
+ images/depth.png
41
+ images/embedded1.png
42
+ images/embedded2.png
43
+ images/extension_numpy.png
44
+ images/extension_numpy.py
45
+ images/extension_pandas.png
46
+ images/extension_pandas.py
47
+ images/extension_torch.png
48
+ images/extension_torch.py
49
+ images/factorial.gif
50
+ images/factorial.py
51
+ images/hash_set.gif
52
+ images/hash_set.png
53
+ images/hash_set.py
54
+ images/hidden_edges.png
55
+ images/hidden_edges.py
56
+ images/hidden_edges2.png
57
+ images/immutable.py
58
+ images/immutable1.png
59
+ images/immutable2.png
60
+ images/introspect_depth.png
61
+ images/introspect_depth.py
62
+ images/ipython.png
63
+ images/jupyter_example.png
64
+ images/linked_list.gif
65
+ images/linked_list.png
66
+ images/linked_list.py
67
+ images/many_types.png
68
+ images/many_types.py
69
+ images/marimo_example.png
70
+ images/memory_graph.gv.pdf
71
+ images/memory_graph_web_debugger.png
72
+ images/mutable.py
73
+ images/mutable1.png
74
+ images/mutable2.png
75
+ images/name_rebinding.py
76
+ images/not_node_types.py
77
+ images/power_set.gif
78
+ images/power_set.py
79
+ images/rebinding1.png
80
+ images/rebinding2.png
81
+ images/uva.png
82
+ images/vscode_copying.gif
83
+ memory_graph/__init__.py
84
+ memory_graph/call_stack.py
85
+ memory_graph/config.py
86
+ memory_graph/config_default.py
87
+ memory_graph/config_helpers.py
88
+ memory_graph/extension_numpy.py
89
+ memory_graph/extension_pandas.py
90
+ memory_graph/extension_torch.py
91
+ memory_graph/html_table.py
92
+ memory_graph/list_view.py
93
+ memory_graph/memory_to_nodes.py
94
+ memory_graph/node_base.py
95
+ memory_graph/node_key_value.py
96
+ memory_graph/node_leaf.py
97
+ memory_graph/node_linear.py
98
+ memory_graph/node_table.py
99
+ memory_graph/sequence.py
100
+ memory_graph/slicer.py
101
+ memory_graph/slices.py
102
+ memory_graph/slices_iterator.py
103
+ memory_graph/slices_table_iterator.py
104
+ memory_graph/test.py
105
+ memory_graph/test_max_graph_depth.py
106
+ memory_graph/test_memory_graph.py
107
+ memory_graph/test_memory_to_nodes.py
108
+ memory_graph/test_sequence.py
109
+ memory_graph/test_slicer.py
110
+ memory_graph/test_slices.py
111
+ memory_graph/test_slices_iterator.py
112
+ memory_graph/utils.py
113
+ memory_graph.egg-info/PKG-INFO
114
+ memory_graph.egg-info/SOURCES.txt
115
+ memory_graph.egg-info/dependency_links.txt
116
+ memory_graph.egg-info/requires.txt
117
+ memory_graph.egg-info/top_level.txt
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "memory_graph"
7
- version = "0.3.50"
7
+ version = "0.3.52"
8
8
  description = "Teaching tool and debugging aid in context of references, mutable data types, and shallow and deep copy."
9
9
  authors = [
10
10
  {name = "Bas Terwijn", email = "bterwijn@gmail.com"}
Binary file
File without changes
@@ -1,8 +0,0 @@
1
- # Default ignored files
2
- /shelf/
3
- /workspace.xml
4
- # Editor-based HTTP Client requests
5
- /httpRequests/
6
- # Datasource local storage ignored files
7
- /dataSources/
8
- /dataSources.local.xml
@@ -1,12 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="PYTHON_MODULE" version="4">
3
- <component name="NewModuleRootManager">
4
- <content url="file://$MODULE_DIR$" />
5
- <orderEntry type="jdk" jdkName="Python 3.13 virtualenv at ~/python3.13_env" jdkType="Python SDK" />
6
- <orderEntry type="sourceFolder" forTests="false" />
7
- </component>
8
- <component name="PyDocumentationSettings">
9
- <option name="format" value="PLAIN" />
10
- <option name="myDocStringFormat" value="Plain" />
11
- </component>
12
- </module>
@@ -1,6 +0,0 @@
1
- <component name="InspectionProjectProfileManager">
2
- <settings>
3
- <option name="USE_PROJECT_PROFILE" value="false" />
4
- <version value="1.0" />
5
- </settings>
6
- </component>
@@ -1,7 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="Black">
4
- <option name="sdkName" value="Python 3.13 virtualenv at ~/python3.13_env" />
5
- </component>
6
- <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.13 virtualenv at ~/python3.13_env" project-jdk-type="Python SDK" />
7
- </project>
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/images.iml" filepath="$PROJECT_DIR$/.idea/images.iml" />
6
- </modules>
7
- </component>
8
- </project>
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
5
- </component>
6
- </project>