# bterwijn/memory_graph

Teaching tool and debugging aid in context of references, mutable data types, and shallow and deep copy.

Repository: https://github.com/bterwijn/memory_graph
Canonical: https://ross.abutalabs.com/products/memory_graph
Language: Python
License: BSD-2-Clause
License Family: permissive
Topics: python3-data-visualization-debugging-education
Last push: 2026-09-01T00:52:35+00:00

## Health v2 (maintenance only)
Score: 74/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 100, release rhythm 35, longevity 85
- inputs: {"age_days": 1202, "days_push": 2, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1063, forks 76 (observed 2026-09-01T02:13:59.293832+00:00)

## What it is
memory_graph is a Python library that visualizes data structures, references, mutability, and the call stack as graphs to teach Python's memory model and aid debugging. It renders graphs via Graphviz to screen or files and includes a web-based debugger.

## Use cases
- visualize python data structures as graphs
- teach students about references and mutable data types
- understand shallow vs deep copy behavior
- debug aliasing bugs where two variables share a list
- visualize the call stack and variable scope
- learn the mental model of python memory
- render data structure diagrams to pdf or png

## When to choose
- teaching or learning python references, mutability, and copying
- debugging confusing data structure sharing or aliasing issues
- explaining program state and call stacks visually

## When to avoid
- you need production profiling or performance monitoring rather than educational visualization
- you cannot install Graphviz
- you need visualization for languages other than python

## Facets
- artifact type: library
- maturity: active
- function: data-visualization, developer-tools
- domain: education, developer-tools, data-visualization, programming-languages
- platform: python, cross-platform
- tags: debugging-aid, teaching-tool, graphviz, memory-model, references, mutability, call-stack-visualization, debugging

## Member repositories
- bterwijn/memory_graph (main) score 74

## Provenance
- Observed fields: from GitHub, fetched 2026-09-01T02:13:59.293832+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:57:45.234952+00:00, confidence not recorded.
  - readme: https://github.com/bterwijn/memory_graph (fetched 2026-09-01T02:13:59.293832+00:00, sha ae9337f2565b)
  - registry_pypi: https://pypi.org/pypi/memory_graph/json (fetched 2026-08-29T12:59:31.709746+00:00, sha 93ed2f2af895)
- Data as of 2026-08-30T08:39:29.467469+00:00.
