Too many references ------------------- Objects that have too many references are truncated >>> import objgraph >>> objgraph.show_refs([list(range(7))], too_many=5, filename='too-many.png') Graph written to ....dot (6 nodes) Image generated as too-many.png .. figure:: too-many.png The same sort of thing applies to backreferences >>> moo = 'moo' >>> refs_to_moo = [[moo] for n in range(42)] >>> objgraph.show_backrefs([moo], too_many=5, max_depth=1, filename='42.png') Graph written to ....dot (6 nodes) Image generated as 42.png .. figure:: 42.png Reference counts ---------------- You can enable reference counts. The number of arrows pointing to an object should match the number in square brackets, usually, but there can be exceptions. E.g. objects internal to objgraph's implementation may inflate the reference count somewhat. >>> import sys >>> one_reference = object() >>> objgraph.show_backrefs([one_reference], refcounts=True, ... filename='refcounts.png') # doctest: +NODES_VARY Graph written to ....dot (5 nodes) Image generated as refcounts.png .. figure:: refcounts.png We see two references to the ``one_reference`` object: the one not shown comes from the list passed to show_backrefs. I think the extra references to the frame object and locals dict come from the interpreter internals.