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

|
|
55
|
-
|
|
55
|
+
Run a live demo in the 👉 [**Memory Graph Web Debugger**](https://memory-graph.com/#play) 👈 now, no installation required!
|
|
56
56
|
|
|
57
57
|
- learn the right **mental model** to think about Python data (references, mutability, shallow vs deep copy)
|
|
58
58
|
- **visualize the structure of your data** to easily understand and debug any data structure
|
|
@@ -663,6 +663,9 @@ Different aspects of memory_graph can be configured. The default configuration c
|
|
|
663
663
|
- ***mg.config.embedding_types*** : set[type]
|
|
664
664
|
- Holds all dictionary types that embed their key-value tuple children.
|
|
665
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
|
+
|
|
666
669
|
- ***mg.config.type_to_node*** : dict[type, fun(data) -> Node]
|
|
667
670
|
- Determines how a data type is converted to a Node subclass for visualization in the graph.
|
|
668
671
|
|
|
@@ -676,7 +679,7 @@ Different aspects of memory_graph can be configured. The default configuration c
|
|
|
676
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.
|
|
677
680
|
|
|
678
681
|
- ***mg.config.max_graph_depth*** : int
|
|
679
|
-
- The maxium depth of the graph with default value
|
|
682
|
+
- The maxium depth of the graph with default value 1000.
|
|
680
683
|
|
|
681
684
|
- ***mg.config.graph_cut_symbol*** : str
|
|
682
685
|
- The symbol indicating where the graph is cut short with default `✂`.
|
|
@@ -7,7 +7,7 @@ Additionally [Graphviz](https://graphviz.org/download/) needs to be installed.
|
|
|
7
7
|
|
|
8
8
|
# Highlights #
|
|
9
9
|

|
|
10
|
-
|
|
10
|
+
Run a live demo in the 👉 [**Memory Graph Web Debugger**](https://memory-graph.com/#play) 👈 now, no installation required!
|
|
11
11
|
|
|
12
12
|
- learn the right **mental model** to think about Python data (references, mutability, shallow vs deep copy)
|
|
13
13
|
- **visualize the structure of your data** to easily understand and debug any data structure
|
|
@@ -618,6 +618,9 @@ Different aspects of memory_graph can be configured. The default configuration c
|
|
|
618
618
|
- ***mg.config.embedding_types*** : set[type]
|
|
619
619
|
- Holds all dictionary types that embed their key-value tuple children.
|
|
620
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
|
+
|
|
621
624
|
- ***mg.config.type_to_node*** : dict[type, fun(data) -> Node]
|
|
622
625
|
- Determines how a data type is converted to a Node subclass for visualization in the graph.
|
|
623
626
|
|
|
@@ -631,7 +634,7 @@ Different aspects of memory_graph can be configured. The default configuration c
|
|
|
631
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.
|
|
632
635
|
|
|
633
636
|
- ***mg.config.max_graph_depth*** : int
|
|
634
|
-
- The maxium depth of the graph with default value
|
|
637
|
+
- The maxium depth of the graph with default value 1000.
|
|
635
638
|
|
|
636
639
|
- ***mg.config.graph_cut_symbol*** : str
|
|
637
640
|
- The symbol indicating where the graph is cut short with default `✂`.
|
|
@@ -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
|
|
@@ -40,3 +40,6 @@ python hidden_edges.py
|
|
|
40
40
|
# extensions
|
|
41
41
|
python extension_numpy.py
|
|
42
42
|
python extension_pandas.py
|
|
43
|
+
|
|
44
|
+
# clean up the graphviz files
|
|
45
|
+
rm *.gv
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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,7 +52,7 @@ Additionally [Graphviz](https://graphviz.org/download/) needs to be installed.
|
|
|
52
52
|
|
|
53
53
|
# Highlights #
|
|
54
54
|

|
|
55
|
-
|
|
55
|
+
Run a live demo in the 👉 [**Memory Graph Web Debugger**](https://memory-graph.com/#play) 👈 now, no installation required!
|
|
56
56
|
|
|
57
57
|
- learn the right **mental model** to think about Python data (references, mutability, shallow vs deep copy)
|
|
58
58
|
- **visualize the structure of your data** to easily understand and debug any data structure
|
|
@@ -663,6 +663,9 @@ Different aspects of memory_graph can be configured. The default configuration c
|
|
|
663
663
|
- ***mg.config.embedding_types*** : set[type]
|
|
664
664
|
- Holds all dictionary types that embed their key-value tuple children.
|
|
665
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
|
+
|
|
666
669
|
- ***mg.config.type_to_node*** : dict[type, fun(data) -> Node]
|
|
667
670
|
- Determines how a data type is converted to a Node subclass for visualization in the graph.
|
|
668
671
|
|
|
@@ -676,7 +679,7 @@ Different aspects of memory_graph can be configured. The default configuration c
|
|
|
676
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.
|
|
677
680
|
|
|
678
681
|
- ***mg.config.max_graph_depth*** : int
|
|
679
|
-
- The maxium depth of the graph with default value
|
|
682
|
+
- The maxium depth of the graph with default value 1000.
|
|
680
683
|
|
|
681
684
|
- ***mg.config.graph_cut_symbol*** : str
|
|
682
685
|
- The symbol indicating where the graph is cut short with default `✂`.
|
|
@@ -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.51/images/-0
DELETED
|
Binary file
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
digraph memory_graph {
|
|
2
|
-
node [shape=plaintext]
|
|
3
|
-
node139894338702912 [label=<
|
|
4
|
-
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="lightcoral" PORT="table">
|
|
5
|
-
<TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 4 </TD></TR>
|
|
6
|
-
<TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> 3 </TD></TR>
|
|
7
|
-
<TR><TD BORDER="0"><font color="#505050">2</font></TD><TD BORDER="1"> 2 </TD></TR>
|
|
8
|
-
<TR><TD BORDER="0"><font color="#505050">3</font></TD><TD BORDER="1"> 1 </TD></TR>
|
|
9
|
-
</TABLE>
|
|
10
|
-
> xlabel=list]
|
|
11
|
-
node139894328041856 [label=<
|
|
12
|
-
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="orange" PORT="table">
|
|
13
|
-
<TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 4 </TD></TR>
|
|
14
|
-
<TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> 3 </TD></TR>
|
|
15
|
-
<TR><TD BORDER="0"><font color="#505050">2</font></TD><TD BORDER="1"> 2 </TD></TR>
|
|
16
|
-
</TABLE>
|
|
17
|
-
> xlabel=tuple]
|
|
18
|
-
node139894327354560 [label=<
|
|
19
|
-
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="lightcoral" PORT="table">
|
|
20
|
-
<TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 4 </TD></TR>
|
|
21
|
-
<TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> 3 </TD></TR>
|
|
22
|
-
<TR><TD BORDER="0"><font color="#505050">2</font></TD><TD BORDER="1"> 2 </TD></TR>
|
|
23
|
-
</TABLE>
|
|
24
|
-
> xlabel=list]
|
|
25
|
-
node139894327914240 [label=<
|
|
26
|
-
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="#60a5ff" PORT="table">
|
|
27
|
-
<TR><TD BORDER="1" STYLE="ROUNDED"> a </TD><TD BORDER="1" STYLE="ROUNDED"> b </TD><TD BORDER="1" STYLE="ROUNDED"> c </TD></TR>
|
|
28
|
-
<TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1" PORT="ref1"> </TD><TD BORDER="1" PORT="ref2"> </TD></TR>
|
|
29
|
-
</TABLE>
|
|
30
|
-
> xlabel=dict]
|
|
31
|
-
node139894327914240:ref0 -> node139894338702912:table [style=solid]
|
|
32
|
-
node139894327914240:ref1 -> node139894328041856:table [style=solid]
|
|
33
|
-
node139894327914240:ref2 -> node139894327354560:table [style=solid]
|
|
34
|
-
node139894328059728 [label=<
|
|
35
|
-
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="orange" PORT="table">
|
|
36
|
-
<TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 4 </TD></TR>
|
|
37
|
-
<TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> 3 </TD></TR>
|
|
38
|
-
<TR><TD BORDER="0"><font color="#505050">2</font></TD><TD BORDER="1"> 2 </TD></TR>
|
|
39
|
-
<TR><TD BORDER="0"><font color="#505050">3</font></TD><TD BORDER="1"> 1 </TD></TR>
|
|
40
|
-
</TABLE>
|
|
41
|
-
> xlabel=tuple]
|
|
42
|
-
node139894328042240 [label=<
|
|
43
|
-
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="lightcoral" PORT="table">
|
|
44
|
-
<TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 4 </TD></TR>
|
|
45
|
-
<TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> 3 </TD></TR>
|
|
46
|
-
<TR><TD BORDER="0"><font color="#505050">2</font></TD><TD BORDER="1"> 2 </TD></TR>
|
|
47
|
-
<TR><TD BORDER="0"><font color="#505050">3</font></TD><TD BORDER="1"> 1 </TD></TR>
|
|
48
|
-
</TABLE>
|
|
49
|
-
> xlabel=list]
|
|
50
|
-
node139894323520576 [label=<
|
|
51
|
-
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="#60a5ff" PORT="table">
|
|
52
|
-
<TR><TD BORDER="1" STYLE="ROUNDED"> a </TD><TD BORDER="1" STYLE="ROUNDED"> b </TD><TD BORDER="1" STYLE="ROUNDED"> c </TD></TR>
|
|
53
|
-
<TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1" PORT="ref1"> </TD><TD BORDER="1" PORT="ref2"> </TD></TR>
|
|
54
|
-
</TABLE>
|
|
55
|
-
> xlabel=dict]
|
|
56
|
-
node139894323520576:ref0 -> node139894338702912:table [style=solid]
|
|
57
|
-
node139894323520576:ref1 -> node139894328059728:table [style=solid]
|
|
58
|
-
node139894323520576:ref2 -> node139894328042240:table [style=solid]
|
|
59
|
-
node139894323574128 [label=<
|
|
60
|
-
<TABLE BORDER="3" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="khaki" PORT="table">
|
|
61
|
-
<TR><TD BORDER="1" STYLE="ROUNDED"> 0: <module> </TD><TD BORDER="1" STYLE="ROUNDED"> 1: add_one </TD></TR>
|
|
62
|
-
<TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1" PORT="ref1"> </TD></TR>
|
|
63
|
-
</TABLE>
|
|
64
|
-
> xlabel=call_stack]
|
|
65
|
-
node139894323574128:ref0 -> node139894327914240:table [style=solid]
|
|
66
|
-
node139894323574128:ref1 -> node139894323520576:table [style=solid]
|
|
67
|
-
subgraph { rank=same; node139894327914240 -> node139894323520576[weight=10, style=invis]; }
|
|
68
|
-
subgraph { rank=same; node139894338702912 -> node139894328041856 -> node139894327354560 -> node139894328059728 -> node139894328042240[weight=10, style=invis]; }
|
|
69
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
digraph memory_graph {
|
|
2
|
-
node [shape=plaintext]
|
|
3
|
-
node140717000093552 [label=<
|
|
4
|
-
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
|
|
5
|
-
<TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> __class__ </TD></TR>
|
|
6
|
-
<TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> __delattr__ </TD></TR>
|
|
7
|
-
<TR><TD BORDER="0"><font color="#505050">2</font></TD><TD BORDER="1"> __dir__ </TD></TR>
|
|
8
|
-
<TR><TD BORDER="0"><font color="#505050">3</font></TD><TD BORDER="1"> __doc__ </TD></TR>
|
|
9
|
-
<TR><TD BORDER="0"><font color="#505050">4</font></TD><TD BORDER="1"> __eq__ </TD></TR>
|
|
10
|
-
<TR><TD BORDER="0"><font color="#505050">5</font></TD><TD BORDER="1"> __firstlineno__ </TD></TR>
|
|
11
|
-
<TR><TD BORDER="0"><font color="#505050">6</font></TD><TD BORDER="1"> __format__ </TD></TR>
|
|
12
|
-
<TR><TD BORDER="0"><font color="#505050">7</font></TD><TD BORDER="1"> __ge__ </TD></TR>
|
|
13
|
-
<TR><TD BORDER="0"><font color="#505050">8</font></TD><TD BORDER="1"> __getattribute__ </TD></TR>
|
|
14
|
-
<TR><TD BORDER="0"><font color="#505050">9</font></TD><TD BORDER="1"> __getitem__ </TD></TR>
|
|
15
|
-
<TR><TD BORDER="0"><font color="#505050">10</font></TD><TD BORDER="1"> __getstate__ </TD></TR>
|
|
16
|
-
<TR><TD BORDER="0"><font color="#505050">11</font></TD><TD BORDER="1"> __gt__ </TD></TR>
|
|
17
|
-
<TR><TD BORDER="0"><font color="#505050">12</font></TD><TD BORDER="1"> __hash__ </TD></TR>
|
|
18
|
-
<TR><TD BORDER="0"><font color="#505050">13</font></TD><TD BORDER="1"> __init__ </TD></TR>
|
|
19
|
-
<TR><TD BORDER="0"><font color="#505050">14</font></TD><TD BORDER="1"> __init_subclass__ </TD></TR>
|
|
20
|
-
<TR><TD BORDER="0"><font color="#505050">15</font></TD><TD BORDER="1"> __le__ </TD></TR>
|
|
21
|
-
<TR><TD BORDER="0"><font color="#505050">16</font></TD><TD BORDER="1"> __lt__ </TD></TR>
|
|
22
|
-
<TR><TD BORDER="0"><font color="#505050">17</font></TD><TD BORDER="1"> __module__ </TD></TR>
|
|
23
|
-
<TR><TD BORDER="0"><font color="#505050">18</font></TD><TD BORDER="1"> __ne__ </TD></TR>
|
|
24
|
-
<TR><TD BORDER="0"><font color="#505050">19</font></TD><TD BORDER="1"> __new__ </TD></TR>
|
|
25
|
-
<TR><TD BORDER="0"><font color="#505050">20</font></TD><TD BORDER="1"> __reduce__ </TD></TR>
|
|
26
|
-
<TR><TD BORDER="0"><font color="#505050">21</font></TD><TD BORDER="1"> __reduce_ex__ </TD></TR>
|
|
27
|
-
<TR><TD BORDER="0"><font color="#505050">22</font></TD><TD BORDER="1"> __repr__ </TD></TR>
|
|
28
|
-
<TR><TD BORDER="0"><font color="#505050">23</font></TD><TD BORDER="1"> __setattr__ </TD></TR>
|
|
29
|
-
<TR><TD BORDER="0"><font color="#505050">24</font></TD><TD BORDER="1"> __setitem__ </TD></TR>
|
|
30
|
-
<TR><TD BORDER="0"><font color="#505050">25</font></TD><TD BORDER="1"> __sizeof__ </TD></TR>
|
|
31
|
-
<TR><TD BORDER="0"><font color="#505050">26</font></TD><TD BORDER="1"> __slots__ </TD></TR>
|
|
32
|
-
<TR><TD BORDER="0"><font color="#505050">27</font></TD><TD BORDER="1"> __static_attributes__ </TD></TR>
|
|
33
|
-
<TR><TD BORDER="0"><font color="#505050">28</font></TD><TD BORDER="1"> __str__ </TD></TR>
|
|
34
|
-
<TR><TD BORDER="0"><font color="#505050">29</font></TD><TD BORDER="1"> __subclasshook__ </TD></TR>
|
|
35
|
-
<TR><TD BORDER="0"><font color="#505050">30</font></TD><TD BORDER="1"> balance </TD></TR>
|
|
36
|
-
<TR><TD BORDER="0"><font color="#505050">31</font></TD><TD BORDER="1"> free </TD></TR>
|
|
37
|
-
<TR><TD BORDER="0"><font color="#505050">32</font></TD><TD BORDER="1"> key </TD></TR>
|
|
38
|
-
<TR><TD BORDER="0"><font color="#505050">33</font></TD><TD BORDER="1"> left </TD></TR>
|
|
39
|
-
<TR><TD BORDER="0"><font color="#505050">34</font></TD><TD BORDER="1"> right </TD></TR>
|
|
40
|
-
<TR><TD BORDER="0"><font color="#505050">35</font></TD><TD BORDER="1"> value </TD></TR>
|
|
41
|
-
</TABLE>
|
|
42
|
-
> xlabel="Node"]
|
|
43
|
-
node140716987336416 [label=<
|
|
44
|
-
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="seagreen1" PORT="table">
|
|
45
|
-
<TR><TD BORDER="1" STYLE="ROUNDED"> _root </TD><TD BORDER="1" STYLE="ROUNDED"> _count </TD></TR>
|
|
46
|
-
<TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> 4 </TD></TR>
|
|
47
|
-
</TABLE>
|
|
48
|
-
> xlabel=AVLTree]
|
|
49
|
-
node140716987336416:ref0 -> node140717000093552:table [style=solid]
|
|
50
|
-
node140716989974400 [label=<
|
|
51
|
-
<TABLE BORDER="3" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="#60a5ff" PORT="table">
|
|
52
|
-
<TR><TD BORDER="1" STYLE="ROUNDED"> tree </TD></TR>
|
|
53
|
-
<TR><TD BORDER="1" PORT="ref0"> </TD></TR>
|
|
54
|
-
</TABLE>
|
|
55
|
-
> xlabel=dict]
|
|
56
|
-
node140716989974400:ref0 -> node140716987336416:table [style=solid]
|
|
57
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
digraph memory_graph {
|
|
2
|
-
node [shape=plaintext]
|
|
3
|
-
node124172493692400 [label=<
|
|
4
|
-
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="white" PORT="table">
|
|
5
|
-
<TR><TD BORDER="1"> <bintrees.avltree.Node object at 0x70ef296... </TD></TR>
|
|
6
|
-
</TABLE>
|
|
7
|
-
> xlabel="Node"]
|
|
8
|
-
node124172492521984 [label=<
|
|
9
|
-
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="seagreen1" PORT="table">
|
|
10
|
-
<TR><TD BORDER="1" STYLE="ROUNDED"> _root </TD><TD BORDER="1" STYLE="ROUNDED"> _count </TD></TR>
|
|
11
|
-
<TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> 4 </TD></TR>
|
|
12
|
-
</TABLE>
|
|
13
|
-
> xlabel=AVLTree]
|
|
14
|
-
node124172492521984:ref0 -> node124172493692400:table [style=solid]
|
|
15
|
-
node124172495724224 [label=<
|
|
16
|
-
<TABLE BORDER="3" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="#60a5ff" PORT="table">
|
|
17
|
-
<TR><TD BORDER="1" STYLE="ROUNDED"> tree </TD></TR>
|
|
18
|
-
<TR><TD BORDER="1" PORT="ref0"> </TD></TR>
|
|
19
|
-
</TABLE>
|
|
20
|
-
> xlabel=dict]
|
|
21
|
-
node124172495724224:ref0 -> node124172492521984:table [style=solid]
|
|
22
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
digraph memory_graph {
|
|
2
|
-
node [shape=plaintext]
|
|
3
|
-
node129575228425776 [label=<
|
|
4
|
-
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
|
|
5
|
-
<TR><TD BORDER="1" STYLE="ROUNDED"> left </TD><TD BORDER="1"> None </TD></TR>
|
|
6
|
-
<TR><TD BORDER="1" STYLE="ROUNDED"> key </TD><TD BORDER="1"> 5 </TD></TR>
|
|
7
|
-
<TR><TD BORDER="1" STYLE="ROUNDED"> value </TD><TD BORDER="1"> five </TD></TR>
|
|
8
|
-
<TR><TD BORDER="1" STYLE="ROUNDED"> right </TD><TD BORDER="1"> None </TD></TR>
|
|
9
|
-
</TABLE>
|
|
10
|
-
> xlabel="Node"]
|
|
11
|
-
node129575228539984 [label=<
|
|
12
|
-
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
|
|
13
|
-
<TR><TD BORDER="1" STYLE="ROUNDED"> left </TD><TD BORDER="1"> None </TD></TR>
|
|
14
|
-
<TR><TD BORDER="1" STYLE="ROUNDED"> key </TD><TD BORDER="1"> 15 </TD></TR>
|
|
15
|
-
<TR><TD BORDER="1" STYLE="ROUNDED"> value </TD><TD BORDER="1"> fifteen </TD></TR>
|
|
16
|
-
<TR><TD BORDER="1" STYLE="ROUNDED"> right </TD><TD BORDER="1"> None </TD></TR>
|
|
17
|
-
</TABLE>
|
|
18
|
-
> xlabel="Node"]
|
|
19
|
-
node129575228540064 [label=<
|
|
20
|
-
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
|
|
21
|
-
<TR><TD BORDER="1" STYLE="ROUNDED"> left </TD><TD BORDER="1" STYLE="ROUNDED"> key </TD><TD BORDER="1" STYLE="ROUNDED"> value </TD><TD BORDER="1" STYLE="ROUNDED"> right </TD></TR>
|
|
22
|
-
<TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> 20 </TD><TD BORDER="1"> twenty </TD><TD BORDER="1"> None </TD></TR>
|
|
23
|
-
</TABLE>
|
|
24
|
-
> xlabel="Node"]
|
|
25
|
-
node129575228540064:ref0 -> node129575228539984:table [style=solid]
|
|
26
|
-
node129575242854256 [label=<
|
|
27
|
-
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
|
|
28
|
-
<TR><TD BORDER="1" STYLE="ROUNDED"> left </TD><TD BORDER="1" STYLE="ROUNDED"> key </TD><TD BORDER="1" STYLE="ROUNDED"> value </TD><TD BORDER="1" STYLE="ROUNDED"> right </TD></TR>
|
|
29
|
-
<TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> 10 </TD><TD BORDER="1"> ten </TD><TD BORDER="1" PORT="ref1"> </TD></TR>
|
|
30
|
-
</TABLE>
|
|
31
|
-
> xlabel="Node"]
|
|
32
|
-
node129575242854256:ref0 -> node129575228425776:table [style=solid]
|
|
33
|
-
node129575242854256:ref1 -> node129575228540064:table [style=solid]
|
|
34
|
-
node129575229722976 [label=<
|
|
35
|
-
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="seagreen1" PORT="table">
|
|
36
|
-
<TR><TD BORDER="1" STYLE="ROUNDED"> _root </TD><TD BORDER="1" STYLE="ROUNDED"> _count </TD></TR>
|
|
37
|
-
<TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> 4 </TD></TR>
|
|
38
|
-
</TABLE>
|
|
39
|
-
> xlabel=AVLTree]
|
|
40
|
-
node129575229722976:ref0 -> node129575242854256:table [style=solid]
|
|
41
|
-
node129575232423936 [label=<
|
|
42
|
-
<TABLE BORDER="3" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="#60a5ff" PORT="table">
|
|
43
|
-
<TR><TD BORDER="1" STYLE="ROUNDED"> tree </TD></TR>
|
|
44
|
-
<TR><TD BORDER="1" PORT="ref0"> </TD></TR>
|
|
45
|
-
</TABLE>
|
|
46
|
-
> xlabel=dict]
|
|
47
|
-
node129575232423936:ref0 -> node129575229722976:table [style=solid]
|
|
48
|
-
subgraph { rank=same; node129575228425776 -> node129575228540064[weight=10, style=invis]; }
|
|
49
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
digraph memory_graph {
|
|
2
|
-
node [shape=plaintext]
|
|
3
|
-
node129575242854256 [label=<
|
|
4
|
-
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
|
|
5
|
-
<TR><TD BORDER="1"> key:10 value:ten </TD></TR>
|
|
6
|
-
</TABLE>
|
|
7
|
-
> xlabel="Node"]
|
|
8
|
-
node129575229722976 [label=<
|
|
9
|
-
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="seagreen1" PORT="table">
|
|
10
|
-
<TR><TD BORDER="1" STYLE="ROUNDED"> _root </TD><TD BORDER="1" STYLE="ROUNDED"> _count </TD></TR>
|
|
11
|
-
<TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> 4 </TD></TR>
|
|
12
|
-
</TABLE>
|
|
13
|
-
> xlabel=AVLTree]
|
|
14
|
-
node129575229722976:ref0 -> node129575242854256:table [style=solid]
|
|
15
|
-
node129575232423936 [label=<
|
|
16
|
-
<TABLE BORDER="3" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="#60a5ff" PORT="table">
|
|
17
|
-
<TR><TD BORDER="1" STYLE="ROUNDED"> tree </TD></TR>
|
|
18
|
-
<TR><TD BORDER="1" PORT="ref0"> </TD></TR>
|
|
19
|
-
</TABLE>
|
|
20
|
-
> xlabel=dict]
|
|
21
|
-
node129575232423936:ref0 -> node129575229722976:table [style=solid]
|
|
22
|
-
}
|