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.
- {memory_graph-0.3.50/memory_graph.egg-info → memory_graph-0.3.52}/PKG-INFO +13 -8
- {memory_graph-0.3.50 → memory_graph-0.3.52}/README.md +12 -7
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/create_gif.sh +8 -1
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/create_images.sh +8 -4
- memory_graph-0.3.52/images/extension_pandas.png +0 -0
- memory_graph-0.3.52/images/hidden_edges.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/hidden_edges.py +1 -1
- memory_graph-0.3.52/images/hidden_edges2.png +0 -0
- memory_graph-0.3.52/images/many_types.png +0 -0
- memory_graph-0.3.52/images/memory_graph_web_debugger.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/__init__.py +5 -1
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/config.py +2 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/config_default.py +8 -5
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/memory_to_nodes.py +5 -1
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/node_linear.py +7 -2
- {memory_graph-0.3.50 → memory_graph-0.3.52/memory_graph.egg-info}/PKG-INFO +13 -8
- memory_graph-0.3.52/memory_graph.egg-info/SOURCES.txt +117 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/pyproject.toml +1 -1
- memory_graph-0.3.50/images/-0 +0 -0
- memory_graph-0.3.50/images/.gif +0 -0
- memory_graph-0.3.50/images/.idea/.gitignore +0 -8
- memory_graph-0.3.50/images/.idea/images.iml +0 -12
- memory_graph-0.3.50/images/.idea/inspectionProfiles/profiles_settings.xml +0 -6
- memory_graph-0.3.50/images/.idea/misc.xml +0 -7
- memory_graph-0.3.50/images/.idea/modules.xml +0 -8
- memory_graph-0.3.50/images/.idea/vcs.xml +0 -6
- memory_graph-0.3.50/images/.idea/workspace.xml +0 -83
- memory_graph-0.3.50/images/add_one.gv +0 -69
- memory_graph-0.3.50/images/avltree.py~ +0 -41
- memory_graph-0.3.50/images/avltree_dir.gv +0 -57
- memory_graph-0.3.50/images/avltree_fail.gv +0 -22
- memory_graph-0.3.50/images/avltree_key_value.gv +0 -49
- memory_graph-0.3.50/images/avltree_leaf.gv +0 -22
- memory_graph-0.3.50/images/avltree_linear.gv +0 -57
- memory_graph-0.3.50/images/avltree_table.gv +0 -49
- memory_graph-0.3.50/images/bin_search.gv +0 -119
- memory_graph-0.3.50/images/bin_search.py~ +0 -42
- memory_graph-0.3.50/images/bin_search_linear.gv +0 -133
- memory_graph-0.3.50/images/bin_search_linear.py~ +0 -42
- memory_graph-0.3.50/images/bin_tree.gv +0 -110
- memory_graph-0.3.50/images/bin_tree2.py +0 -31
- memory_graph-0.3.50/images/bin_tree2.py~ +0 -31
- memory_graph-0.3.50/images/binary0.gv +0 -22
- memory_graph-0.3.50/images/binary0.png +0 -0
- memory_graph-0.3.50/images/binary1.gv +0 -30
- memory_graph-0.3.50/images/binary1.png +0 -0
- memory_graph-0.3.50/images/binary10.gv +0 -62
- memory_graph-0.3.50/images/binary10.png +0 -0
- memory_graph-0.3.50/images/binary11.gv +0 -54
- memory_graph-0.3.50/images/binary11.png +0 -0
- memory_graph-0.3.50/images/binary12.gv +0 -46
- memory_graph-0.3.50/images/binary12.png +0 -0
- memory_graph-0.3.50/images/binary13.gv +0 -38
- memory_graph-0.3.50/images/binary13.png +0 -0
- memory_graph-0.3.50/images/binary14.gv +0 -30
- memory_graph-0.3.50/images/binary14.png +0 -0
- memory_graph-0.3.50/images/binary2.gv +0 -38
- memory_graph-0.3.50/images/binary2.png +0 -0
- memory_graph-0.3.50/images/binary3.gv +0 -46
- memory_graph-0.3.50/images/binary3.png +0 -0
- memory_graph-0.3.50/images/binary4.gv +0 -54
- memory_graph-0.3.50/images/binary4.png +0 -0
- memory_graph-0.3.50/images/binary5.gv +0 -62
- memory_graph-0.3.50/images/binary5.png +0 -0
- memory_graph-0.3.50/images/binary6.gv +0 -70
- memory_graph-0.3.50/images/binary6.png +0 -0
- memory_graph-0.3.50/images/binary7.gv +0 -78
- memory_graph-0.3.50/images/binary7.png +0 -0
- memory_graph-0.3.50/images/binary8.gv +0 -78
- memory_graph-0.3.50/images/binary8.png +0 -0
- memory_graph-0.3.50/images/binary9.gv +0 -70
- memory_graph-0.3.50/images/binary9.png +0 -0
- memory_graph-0.3.50/images/call_stack.txt +0 -24
- memory_graph-0.3.50/images/copies.gv +0 -63
- memory_graph-0.3.50/images/copies_immutable.gv +0 -34
- memory_graph-0.3.50/images/copies_mix.gv +0 -49
- memory_graph-0.3.50/images/copy_immutable.gv +0 -34
- memory_graph-0.3.50/images/copy_immutable.py~ +0 -15
- memory_graph-0.3.50/images/copy_method.gv +0 -53
- memory_graph-0.3.50/images/copy_mix.gv +0 -49
- memory_graph-0.3.50/images/copy_mix.py~ +0 -15
- memory_graph-0.3.50/images/debug.gv +0 -15
- memory_graph-0.3.50/images/debug.pdf +0 -0
- memory_graph-0.3.50/images/debugging0.gv +0 -29
- memory_graph-0.3.50/images/debugging0.png +0 -0
- memory_graph-0.3.50/images/debugging01.gv +0 -29
- memory_graph-0.3.50/images/debugging02.gv +0 -38
- memory_graph-0.3.50/images/debugging03.gv +0 -47
- memory_graph-0.3.50/images/debugging04.gv +0 -57
- memory_graph-0.3.50/images/debugging05.gv +0 -68
- memory_graph-0.3.50/images/debugging06.gv +0 -68
- memory_graph-0.3.50/images/debugging1.gv +0 -38
- memory_graph-0.3.50/images/debugging1.png +0 -0
- memory_graph-0.3.50/images/debugging2.gv +0 -47
- memory_graph-0.3.50/images/debugging2.png +0 -0
- memory_graph-0.3.50/images/debugging3.gv +0 -57
- memory_graph-0.3.50/images/debugging3.png +0 -0
- memory_graph-0.3.50/images/debugging4.gv +0 -68
- memory_graph-0.3.50/images/debugging4.png +0 -0
- memory_graph-0.3.50/images/debugging5.gv +0 -68
- memory_graph-0.3.50/images/debugging5.png +0 -0
- memory_graph-0.3.50/images/depth.gv +0 -178
- memory_graph-0.3.50/images/embedded1.gv +0 -26
- memory_graph-0.3.50/images/embedded2.gv +0 -46
- memory_graph-0.3.50/images/extension_numpy.gv +0 -64
- memory_graph-0.3.50/images/extension_pandas.gv +0 -49
- memory_graph-0.3.50/images/extension_pandas.png +0 -0
- memory_graph-0.3.50/images/extension_torch.gv +0 -51
- memory_graph-0.3.50/images/extension_torch.py~ +0 -10
- memory_graph-0.3.50/images/factorial0.gv +0 -15
- memory_graph-0.3.50/images/factorial0.png +0 -0
- memory_graph-0.3.50/images/factorial01.gv +0 -15
- memory_graph-0.3.50/images/factorial02.gv +0 -22
- memory_graph-0.3.50/images/factorial03.gv +0 -28
- memory_graph-0.3.50/images/factorial04.gv +0 -34
- memory_graph-0.3.50/images/factorial05.gv +0 -35
- memory_graph-0.3.50/images/factorial06.gv +0 -29
- memory_graph-0.3.50/images/factorial07.gv +0 -23
- memory_graph-0.3.50/images/factorial1.gv +0 -22
- memory_graph-0.3.50/images/factorial1.png +0 -0
- memory_graph-0.3.50/images/factorial2.gv +0 -28
- memory_graph-0.3.50/images/factorial2.png +0 -0
- memory_graph-0.3.50/images/factorial3.gv +0 -34
- memory_graph-0.3.50/images/factorial3.png +0 -0
- memory_graph-0.3.50/images/factorial4.gv +0 -40
- memory_graph-0.3.50/images/factorial4.png +0 -0
- memory_graph-0.3.50/images/factorial5.gv +0 -46
- memory_graph-0.3.50/images/factorial5.png +0 -0
- memory_graph-0.3.50/images/factorial6.gv +0 -41
- memory_graph-0.3.50/images/factorial6.png +0 -0
- memory_graph-0.3.50/images/factorial7.gv +0 -35
- memory_graph-0.3.50/images/factorial7.png +0 -0
- memory_graph-0.3.50/images/factorial8.gv +0 -29
- memory_graph-0.3.50/images/factorial8.png +0 -0
- memory_graph-0.3.50/images/factorial9.gv +0 -23
- memory_graph-0.3.50/images/factorial9.png +0 -0
- memory_graph-0.3.50/images/hash_set.gv +0 -96
- memory_graph-0.3.50/images/hidden_edges.gv +0 -37
- memory_graph-0.3.50/images/hidden_edges.png +0 -0
- memory_graph-0.3.50/images/hidden_edges.py~ +0 -9
- memory_graph-0.3.50/images/highlight.gv +0 -92
- memory_graph-0.3.50/images/immutable1.gv +0 -18
- memory_graph-0.3.50/images/immutable2.gv +0 -27
- memory_graph-0.3.50/images/introspect_depth.gv +0 -178
- memory_graph-0.3.50/images/introspect_depth.py~ +0 -26
- memory_graph-0.3.50/images/linked_list.gv +0 -57
- memory_graph-0.3.50/images/log.txt +0 -186
- memory_graph-0.3.50/images/many_types.gv +0 -46
- memory_graph-0.3.50/images/many_types.png +0 -0
- memory_graph-0.3.50/images/memory_graph.gv +0 -72
- memory_graph-0.3.50/images/memory_graph.pdf +0 -0
- memory_graph-0.3.50/images/mutable1.gv +0 -18
- memory_graph-0.3.50/images/mutable2.gv +0 -19
- memory_graph-0.3.50/images/my_graph.gv +0 -31
- memory_graph-0.3.50/images/my_graph.pdf +0 -0
- memory_graph-0.3.50/images/not_node_types.py~ +0 -9
- memory_graph-0.3.50/images/not_node_types1.gv +0 -26
- memory_graph-0.3.50/images/not_node_types2.gv +0 -46
- memory_graph-0.3.50/images/power_set0.gv +0 -38
- memory_graph-0.3.50/images/power_set0.png +0 -0
- memory_graph-0.3.50/images/power_set1.gv +0 -53
- memory_graph-0.3.50/images/power_set1.png +0 -0
- memory_graph-0.3.50/images/power_set10.gv +0 -103
- memory_graph-0.3.50/images/power_set10.png +0 -0
- memory_graph-0.3.50/images/power_set11.gv +0 -93
- memory_graph-0.3.50/images/power_set11.png +0 -0
- memory_graph-0.3.50/images/power_set12.gv +0 -93
- memory_graph-0.3.50/images/power_set12.png +0 -0
- memory_graph-0.3.50/images/power_set13.gv +0 -103
- memory_graph-0.3.50/images/power_set13.png +0 -0
- memory_graph-0.3.50/images/power_set14.gv +0 -114
- memory_graph-0.3.50/images/power_set14.png +0 -0
- memory_graph-0.3.50/images/power_set15.gv +0 -120
- memory_graph-0.3.50/images/power_set15.png +0 -0
- memory_graph-0.3.50/images/power_set16.gv +0 -116
- memory_graph-0.3.50/images/power_set16.png +0 -0
- memory_graph-0.3.50/images/power_set17.gv +0 -116
- memory_graph-0.3.50/images/power_set17.png +0 -0
- memory_graph-0.3.50/images/power_set18.gv +0 -126
- memory_graph-0.3.50/images/power_set18.png +0 -0
- memory_graph-0.3.50/images/power_set19.gv +0 -132
- memory_graph-0.3.50/images/power_set19.png +0 -0
- memory_graph-0.3.50/images/power_set19.png~ +0 -0
- memory_graph-0.3.50/images/power_set2.gv +0 -63
- memory_graph-0.3.50/images/power_set2.png +0 -0
- memory_graph-0.3.50/images/power_set20.gv +0 -128
- memory_graph-0.3.50/images/power_set20.png +0 -0
- memory_graph-0.3.50/images/power_set21.gv +0 -118
- memory_graph-0.3.50/images/power_set21.png +0 -0
- memory_graph-0.3.50/images/power_set22.gv +0 -108
- memory_graph-0.3.50/images/power_set22.png +0 -0
- memory_graph-0.3.50/images/power_set23.gv +0 -93
- memory_graph-0.3.50/images/power_set23.png +0 -0
- memory_graph-0.3.50/images/power_set3.gv +0 -74
- memory_graph-0.3.50/images/power_set3.png +0 -0
- memory_graph-0.3.50/images/power_set4.gv +0 -85
- memory_graph-0.3.50/images/power_set4.png +0 -0
- memory_graph-0.3.50/images/power_set5.gv +0 -93
- memory_graph-0.3.50/images/power_set5.png +0 -0
- memory_graph-0.3.50/images/power_set6.gv +0 -91
- memory_graph-0.3.50/images/power_set6.png +0 -0
- memory_graph-0.3.50/images/power_set7.gv +0 -90
- memory_graph-0.3.50/images/power_set7.png +0 -0
- memory_graph-0.3.50/images/power_set8.gv +0 -101
- memory_graph-0.3.50/images/power_set8.png +0 -0
- memory_graph-0.3.50/images/power_set8.png~ +0 -0
- memory_graph-0.3.50/images/power_set9.gv +0 -107
- memory_graph-0.3.50/images/power_set9.png +0 -0
- memory_graph-0.3.50/images/pyodide.png +0 -0
- memory_graph-0.3.50/images/rebinding1.gv +0 -18
- memory_graph-0.3.50/images/rebinding2.gv +0 -26
- memory_graph-0.3.50/images/s1.txt +0 -8
- memory_graph-0.3.50/images/stack.txt +0 -24
- memory_graph-0.3.50/images/test.py +0 -20
- memory_graph-0.3.50/images/test.py~ +0 -18
- memory_graph-0.3.50/images/test_insp.py +0 -14
- memory_graph-0.3.50/images/test_insp.py~ +0 -2
- memory_graph-0.3.50/images/vsc.py +0 -42
- memory_graph-0.3.50/memory_graph/extension_pytorch.py +0 -30
- memory_graph-0.3.50/memory_graph/pytorch_test.py +0 -10
- memory_graph-0.3.50/memory_graph/t.py +0 -8
- memory_graph-0.3.50/memory_graph.egg-info/SOURCES.txt +0 -315
- {memory_graph-0.3.50 → memory_graph-0.3.52}/LICENSE.txt +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/MANIFEST.in +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/add_one.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/add_one.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/avltree.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/avltree_dir.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/avltree_fail.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/avltree_key_value.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/avltree_leaf.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/avltree_linear.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/avltree_table.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/bin_search.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/bin_search.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/bin_search_linear.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/bin_tree.gif +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/bin_tree.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/bin_tree.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/binary.gif +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/binary.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/colab_example.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copies.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copies_immutable.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copies_mix.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copy_immutable.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copy_immutable.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copy_method.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copy_method.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copy_mix.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copy_mix.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copy_mutable.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/copy_mutable.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/debug_vscode.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/debugging.gif +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/debugging.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/depth.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/embedded1.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/embedded2.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/extension_numpy.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/extension_numpy.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/extension_pandas.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/extension_torch.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/extension_torch.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/factorial.gif +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/factorial.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/hash_set.gif +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/hash_set.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/hash_set.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/immutable.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/immutable1.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/immutable2.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/introspect_depth.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/introspect_depth.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/ipython.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/jupyter_example.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/linked_list.gif +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/linked_list.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/linked_list.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/many_types.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/marimo_example.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/memory_graph.gv.pdf +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/mutable.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/mutable1.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/mutable2.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/name_rebinding.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/not_node_types.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/power_set.gif +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/power_set.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/rebinding1.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/rebinding2.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/uva.png +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/images/vscode_copying.gif +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/call_stack.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/config_helpers.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/extension_numpy.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/extension_pandas.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/extension_torch.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/html_table.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/list_view.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/node_base.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/node_key_value.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/node_leaf.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/node_table.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/sequence.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/slicer.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/slices.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/slices_iterator.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/slices_table_iterator.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/test.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/test_max_graph_depth.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/test_memory_graph.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/test_memory_to_nodes.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/test_sequence.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/test_slicer.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/test_slices.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/test_slices_iterator.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph/utils.py +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph.egg-info/dependency_links.txt +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph.egg-info/requires.txt +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/memory_graph.egg-info/top_level.txt +0 -0
- {memory_graph-0.3.50 → memory_graph-0.3.52}/setup.cfg +0 -0
- {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.
|
|
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
|

|
|
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
|
|
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
|

|
|
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
|
+

|
|
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
|

|
|
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
|
-

|
|
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
|

|
|
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
|
|
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
|

|
|
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
|
+

|
|
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
|

|
|
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
|
-

|
|
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
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -21,7 +21,7 @@ import builtins
|
|
|
21
21
|
if not hasattr(builtins, "mg"):
|
|
22
22
|
builtins.mg = mg
|
|
23
23
|
|
|
24
|
-
__version__ = "0.3.
|
|
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
|
|
|
@@ -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
|
|
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,
|
|
111
|
-
Node_Key_Value: Slicer(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 =
|
|
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)
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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
|

|
|
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
|
|
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
|

|
|
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
|
+

|
|
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
|

|
|
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
|
-

|
|
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.
|
|
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"}
|
memory_graph-0.3.50/images/-0
DELETED
|
Binary file
|
memory_graph-0.3.50/images/.gif
DELETED
|
File without changes
|
|
@@ -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,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>
|