Python Object Graphs
====================
.. image:: https://github.com/mgedmin/objgraph/workflows/build/badge.svg?branch=master
:target: https://github.com/mgedmin/objgraph/actions
:alt: Build Status
.. image:: https://ci.appveyor.com/api/projects/status/github/mgedmin/objgraph?branch=master&svg=true
:target: https://ci.appveyor.com/project/mgedmin/objgraph
:alt: Build Status (Windows)
.. image:: https://coveralls.io/repos/mgedmin/objgraph/badge.svg?branch=master
:target: https://coveralls.io/r/mgedmin/objgraph?branch=master
:alt: Test Coverage
.. image:: https://readthedocs.org/projects/objgraph/badge/?version=latest
:target: https://readthedocs.org/projects/objgraph/?badge=latest
:alt: Documentation Status
``objgraph`` is a module that lets you visually explore Python object graphs.
You'll need `graphviz <https://www.graphviz.org/>`_ if you want to draw
the pretty graphs.
I recommend `xdot <https://pypi.python.org/pypi/xdot>`_ for interactive use.
``pip install xdot`` should suffice; objgraph will automatically look for it
in your ``PATH``.
Installation and Documentation
------------------------------
``pip install objgraph`` or `download it from PyPI
<https://pypi.python.org/pypi/objgraph>`_.
Documentation lives at https://mg.pov.lt/objgraph.
.. _history:
History
-------
I've developed a set of functions that eventually became objgraph when I
was hunting for memory leaks in a Python program. The whole story -- with
illustrated examples -- is in this series of blog posts:
* `Hunting memory leaks in Python
<https://mg.pov.lt/blog/hunting-python-memleaks.html>`_
* `Python object graphs
<https://mg.pov.lt/blog/python-object-graphs.html>`_
* `Object graphs with graphviz
<https://mg.pov.lt/blog/object-graphs-with-graphviz.html>`_
.. _devel:
Support and Development
-----------------------
The source code can be found in this Git repository:
https://github.com/mgedmin/objgraph.
To check it out, use ``git clone https://github.com/mgedmin/objgraph``.
Report bugs at https://github.com/mgedmin/objgraph/issues.
Changes
=======
3.6.2 (2024-10-10)
------------------
- Add support for Python 3.13.
3.6.1 (2024-02-26)
------------------
- Add support for Python 3.12.
3.6.0 (2023-06-16)
------------------
- Add support for Python 3.9, 3.10, and 3.11.
- Drop support for Python 2.7 and 3.6.
3.5.0 (2020-10-11)
------------------
- Do not require ``mock`` for the test suite on Python 3; use unittest.mock
instead.
- 100% test coverage for each version of Python rather than combined, using
``coverage-python-version``.
- Add the optional ``extra_node_attrs`` parameter to ``show_backrefs`` and
``show_backrefs``
- Fix IPython/Jupyter inline graph support code that would kick in even if you
explicitly passed a filename='foo.png' argument to
``show_refs``/``show_backrefs``. See `issue 47
<https://github.com/mgedmin/objgraph/issues/47>`_.
- Add support for Python 3.8.
- Drop support for Python 3.5.
3.4.1 (2019-04-23)
------------------
- Add support for Python 3.7.
- Drop support for Python 3.3 and 3.4.
3.4.0 (2018-02-13)
------------------
- New functions: `get_new_ids`, `at_addrs`.
Contributed by Justin Black in `PR 36
<https://github.com/mgedmin/objgraph/pull/36>`_.
3.3.0 (2017-12-28)
------------------
- New function: `growth`.
3.2.0 (2017-12-20)
------------------
- New ``filter`` argument for `typestats`, `most_common_types`,
`show_most_common_types`, `show_growth`.
- Show lambda functions in a more human-friendly way.
3.1.2 (2017-11-27)
------------------
- Correct UTF-8 mojibake in the changelog and switch all links to HTTPS.
3.1.1 (2017-10-30)
------------------
- Add support for Python 3.6.
- Replace bare ``except:`` in ``safe_repr()`` with ``except Exception:``.
3.1.0 (2016-12-07)
------------------
- Support displaying graphs inline in IPython/Jupyter notebooks (`issue 28
<https://github.com/mgedmin/objgraph/pull/28>`).
3.0.1 (2016-09-17)
------------------
- The ``file`` argument of `show_most_common_types` and
`show_growth` now defaults to ``None`` instead of ``sys.stdout``.
``None`` is interpreted to be the same as ``sys.stdout``, which means
the right stdout will be used if you change it at runtime (which happens,
in doctests).
3.0.0 (2016-04-13)
------------------
- `show_most_common_types` and `show_growth` now accept a ``file``
argument if you want to redirect the output elsewhere.
Fixes `issue 24 <https://github.com/mgedmin/objgraph/pull/24>`_. Contributed
by "d-sun-d".
- Don't trust ``__class__`` to be accurate and ``__name__`` to be a string.
Fixes errors in some convoluted corner cases when mocks are involved.
Contributed by Andrew Shannon Brown in `PR 26
<https://github.com/mgedmin/objgraph/pull/26>`_.
- Drop support for Python 2.4, 2.5, and 2.6.
- Drop support for Python 3.1 and 3.2.
- Add support for Python 3.5.
2.0.1 (2015-07-28)
------------------
- Avoid creating reference cycles between the stack frame and the local
``objects`` variable in `by_type`, `count`, and
`typestats`.
Fixes `issue 22 <https://github.com/mgedmin/objgraph/pull/22>`_. Contributed
by Erik Bray.
2.0.0 (2015-04-18)
------------------
- `show_refs` and `show_backrefs` now accept a file-like object
(via the new ``output`` argument) as an alternative to a filename.
- Made internal helper methods private. This includes ``find_chain``,
``show_graph``, ``obj_node_id``, ``obj_label``, ``quote``,
``long_typename``, ``safe_repr``, ``short_repr``,
``gradient``, ``edge_label``, and ``_program_in_path``.
- Correctly determine the name of old-style classes in `count`,
`by_type`, and graph drawing functions.
Fixes `issue 16 <https://github.com/mgedmin/objgraph/pull/16>`_. Contributed
by Mike Lambert.
1.8.1 (2014-05-15)
------------------
- Do not expect file objects to have an ``encoding`` attribute. Makes objgraph
compatible with Eventlet's monkey-patching.
Fixes `issue 6 <https://github.com/mgedmin/objgraph/pull/6>`_. Contributed
by Jakub Stasiak.
1.8.0 (2014-02-13)
------------------
- Moved to GitHub.
- Python 3.4 support (`LP#1270872 <https://launchpad.net/bugs/1270872>`_).
- New function: `is_proper_module`.
- New ``shortnames`` argument for `typestats`, `most_common_types`,
`show_most_common_types`, `show_growth`, `show_refs`,
and `show_backrefs`.
`count` and `by_type` accept fully-qualified type names now.
Fixes `issue 4 <https://github.com/mgedmin/objgraph/issues/4>`_.
1.7.2 (2012-10-23)
------------------
- Bugfix: setup.py sdist was broken on Python 2.7 (UnicodeDecodeError in
tarfile).
- The ``filename`` argument for `show_refs` and `show_backrefs` now
allows arbitrary image formats, not just PNG. Patch by `Riccardo
Murri <https://launchpad.net/~rmurri>`_.
- Temporary dot files are now named `objgraph-*.dot` instead of `tmp*.dot`.
- Python 3.3 support: no code changes, but some tests started failing because
the new and improved dictionary implementation no longer holds references to
str objects used as dict keys.
- Added a tox.ini for convenient multi-Python testing.
1.7.1 (2011-12-11)
------------------
- Bugfix: non-ASCII characters in object representations would break graph
generation on Python 3.x, in some locales (e.g. with LC_ALL=C). Reported and
fixed by `Stefano Rivera <https://launchpad.net/~stefanor>`_.
- Bugfix: setup.py was broken on Python 3.x
- Bugfix: dot.exe/xdot.exe were not found on Windows (`LP#767239
<https://launchpad.net/bugs/767239>`_).
- Documentation updates: document the forgotten `find_ref_chain`,
update `show_chain` prototype.
1.7.0 (2011-03-11)
------------------
- New function: `find_ref_chain`.
- New ``backrefs`` argument for `show_chain`.
- New function: `get_leaking_objects`, based on `a blog post by
Kristján Valur
<https://cosmicpercolator.com/2010/12/08/finding-c-reference-leaks-using-the-gc-module/>`_.
- New ``objects`` argument for `count`, `typestats`,
`most_common_types`, `show_most_common_types`, and
`by_type`.
- Edges pointing to function attributes such as __defaults__ or __globals__
are now labeled.
- Edge labels that are not simple strings now show the type.
- Bugfix: '\0' and other unsafe characters used in a dictionary key could
break graph generation.
- Bugfix: show_refs(..., filename='graph.dot') would then go to complain
about unrecognized file types and then produce a png.
1.6.0 (2010-12-18)
------------------
- Python 3 support, thanks to Stefano Rivera (fixes `LP#687601
<https://launchpad.net/bugs/687601>`_).
- Removed weird weakref special-casing.
1.5.1 (2010-12-09)
------------------
- Avoid test failures in uncollectable-garbage.txt (fixes `LP#686731
<https://launchpad.net/bugs/686731>`_).
- Added HACKING.txt (later renamed to HACKING.rst).
1.5.0 (2010-12-05)
------------------
- Show frame objects as well (fixes `LP#361704
<https://launchpad.net/bugs/361704>`_).
- New functions: `show_growth`, `show_chain`.
- `find_backref_chain` returns ``[obj]`` instead of ``None`` when a chain
could not be found. This makes ``show_chain(find_backref_chain(...), ...)``
not break.
- Show how many references were skipped from the output of
`show_refs`/`show_backrefs` by specifying ``too_many``.
- Make `show_refs` descend into modules.
- Do not highlight classes that define a ``__del__``, highlight only instances of
those classes.
- Option to show reference counts in `show_refs`/`show_backrefs`.
- Add `Sphinx <https://pypi.python.org/pypi/Sphinx>`_ documentation and a PyPI
long description.
1.4.0 (2010-11-03)
------------------
- Compatibility with Python 2.4 and 2.5 (``tempfile.NamedTemporaryFile`` has no
``delete`` argument).
- New function: `most_common_types`.
1.3.1 (2010-07-17)
------------------
- Rebuild an sdist with no missing files (fixes `LP#606604
<https://launchpad.net/bugs/606604>`_).
- Added MANIFEST.in and a Makefile to check that setup.py sdist generates
source distributions with no files missing.
1.3 (2010-07-13)
----------------
- Highlight objects with a ``__del__`` method.
- Fixes `LP#483411 <https://launchpad.net/bugs/483411>`_: suggest always passing
``[obj]`` to `show_refs`, `show_backrefs`, since obj might be a
list/tuple.
- Fixes `LP#514422 <https://launchpad.net/bugs/514422>`_: `show_refs`,
`show_backrefs` don't create files in the current working directory any
more. Instead they accept a filename argument, which can be a .dot file or a
.png file. If None or not specified, those functions will try to spawn xdot
as before.
- New extra_info argument to graph-generating functions (patch by Thouis Jones,
`LP#558914 <https://launchpad.net/bugs/558914>`_).
- setup.py should work with distutils now (`LP#604430
<https://launchpad.net/bugs/604430>`_, thanks to Randy Heydon).
1.2 (2009-03-25)
----------------
- Project website, public source repository, uploaded to PyPI.
- No code changes.
1.1 (2008-09-10)
----------------
- New function: `show_refs` for showing forward references.
- New functions: `typestats` and `show_most_common_types`.
- Object boxes are less crammed with useless information (such as IDs).
- Spawns `xdot <https://pypi.python.org/pypi/xdot>`_ if it is available.
1.0 (2008-06-14)
----------------
- First public release.
Raw data
{
"_id": null,
"home_page": "https://mg.pov.lt/objgraph/",
"name": "objgraph",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "object graph visualization graphviz garbage collection",
"author": "Marius Gedminas",
"author_email": "marius@gedmin.as",
"download_url": "https://files.pythonhosted.org/packages/ba/74/60dfb345ca493d69551dd1ba599ceb6fe325527fedabe4217d6e030449e2/objgraph-3.6.2.tar.gz",
"platform": null,
"description": "Python Object Graphs\n====================\n\n.. image:: https://github.com/mgedmin/objgraph/workflows/build/badge.svg?branch=master\n :target: https://github.com/mgedmin/objgraph/actions\n :alt: Build Status\n\n.. image:: https://ci.appveyor.com/api/projects/status/github/mgedmin/objgraph?branch=master&svg=true\n :target: https://ci.appveyor.com/project/mgedmin/objgraph\n :alt: Build Status (Windows)\n\n.. image:: https://coveralls.io/repos/mgedmin/objgraph/badge.svg?branch=master\n :target: https://coveralls.io/r/mgedmin/objgraph?branch=master\n :alt: Test Coverage\n\n.. image:: https://readthedocs.org/projects/objgraph/badge/?version=latest\n :target: https://readthedocs.org/projects/objgraph/?badge=latest\n :alt: Documentation Status\n\n\n``objgraph`` is a module that lets you visually explore Python object graphs.\n\nYou'll need `graphviz <https://www.graphviz.org/>`_ if you want to draw\nthe pretty graphs.\n\nI recommend `xdot <https://pypi.python.org/pypi/xdot>`_ for interactive use.\n``pip install xdot`` should suffice; objgraph will automatically look for it\nin your ``PATH``.\n\n\nInstallation and Documentation\n------------------------------\n\n``pip install objgraph`` or `download it from PyPI\n<https://pypi.python.org/pypi/objgraph>`_.\n\nDocumentation lives at https://mg.pov.lt/objgraph.\n\n\n.. _history:\n\nHistory\n-------\n\nI've developed a set of functions that eventually became objgraph when I\nwas hunting for memory leaks in a Python program. The whole story -- with\nillustrated examples -- is in this series of blog posts:\n\n* `Hunting memory leaks in Python\n <https://mg.pov.lt/blog/hunting-python-memleaks.html>`_\n* `Python object graphs\n <https://mg.pov.lt/blog/python-object-graphs.html>`_\n* `Object graphs with graphviz\n <https://mg.pov.lt/blog/object-graphs-with-graphviz.html>`_\n\n\n.. _devel:\n\nSupport and Development\n-----------------------\n\nThe source code can be found in this Git repository:\nhttps://github.com/mgedmin/objgraph.\n\nTo check it out, use ``git clone https://github.com/mgedmin/objgraph``.\n\nReport bugs at https://github.com/mgedmin/objgraph/issues.\n\n\n\nChanges\n=======\n\n\n\n3.6.2 (2024-10-10)\n------------------\n\n- Add support for Python 3.13.\n\n\n3.6.1 (2024-02-26)\n------------------\n\n- Add support for Python 3.12.\n\n\n3.6.0 (2023-06-16)\n------------------\n\n- Add support for Python 3.9, 3.10, and 3.11.\n\n- Drop support for Python 2.7 and 3.6.\n\n\n3.5.0 (2020-10-11)\n------------------\n\n- Do not require ``mock`` for the test suite on Python 3; use unittest.mock\n instead.\n\n- 100% test coverage for each version of Python rather than combined, using\n ``coverage-python-version``.\n\n- Add the optional ``extra_node_attrs`` parameter to ``show_backrefs`` and\n ``show_backrefs``\n\n- Fix IPython/Jupyter inline graph support code that would kick in even if you\n explicitly passed a filename='foo.png' argument to\n ``show_refs``/``show_backrefs``. See `issue 47\n <https://github.com/mgedmin/objgraph/issues/47>`_.\n\n- Add support for Python 3.8.\n\n- Drop support for Python 3.5.\n\n\n3.4.1 (2019-04-23)\n------------------\n\n- Add support for Python 3.7.\n\n- Drop support for Python 3.3 and 3.4.\n\n\n3.4.0 (2018-02-13)\n------------------\n\n- New functions: `get_new_ids`, `at_addrs`.\n\n Contributed by Justin Black in `PR 36\n <https://github.com/mgedmin/objgraph/pull/36>`_.\n\n\n3.3.0 (2017-12-28)\n------------------\n\n- New function: `growth`.\n\n\n3.2.0 (2017-12-20)\n------------------\n\n- New ``filter`` argument for `typestats`, `most_common_types`,\n `show_most_common_types`, `show_growth`.\n\n- Show lambda functions in a more human-friendly way.\n\n\n3.1.2 (2017-11-27)\n------------------\n\n- Correct UTF-8 mojibake in the changelog and switch all links to HTTPS.\n\n\n3.1.1 (2017-10-30)\n------------------\n\n- Add support for Python 3.6.\n\n- Replace bare ``except:`` in ``safe_repr()`` with ``except Exception:``.\n\n\n3.1.0 (2016-12-07)\n------------------\n\n- Support displaying graphs inline in IPython/Jupyter notebooks (`issue 28\n <https://github.com/mgedmin/objgraph/pull/28>`).\n\n\n3.0.1 (2016-09-17)\n------------------\n\n- The ``file`` argument of `show_most_common_types` and\n `show_growth` now defaults to ``None`` instead of ``sys.stdout``.\n ``None`` is interpreted to be the same as ``sys.stdout``, which means\n the right stdout will be used if you change it at runtime (which happens,\n in doctests).\n\n\n3.0.0 (2016-04-13)\n------------------\n\n- `show_most_common_types` and `show_growth` now accept a ``file``\n argument if you want to redirect the output elsewhere.\n\n Fixes `issue 24 <https://github.com/mgedmin/objgraph/pull/24>`_. Contributed\n by \"d-sun-d\".\n\n- Don't trust ``__class__`` to be accurate and ``__name__`` to be a string.\n Fixes errors in some convoluted corner cases when mocks are involved.\n\n Contributed by Andrew Shannon Brown in `PR 26\n <https://github.com/mgedmin/objgraph/pull/26>`_.\n\n- Drop support for Python 2.4, 2.5, and 2.6.\n\n- Drop support for Python 3.1 and 3.2.\n\n- Add support for Python 3.5.\n\n\n2.0.1 (2015-07-28)\n------------------\n\n- Avoid creating reference cycles between the stack frame and the local\n ``objects`` variable in `by_type`, `count`, and\n `typestats`.\n\n Fixes `issue 22 <https://github.com/mgedmin/objgraph/pull/22>`_. Contributed\n by Erik Bray.\n\n\n2.0.0 (2015-04-18)\n------------------\n\n- `show_refs` and `show_backrefs` now accept a file-like object\n (via the new ``output`` argument) as an alternative to a filename.\n\n- Made internal helper methods private. This includes ``find_chain``,\n ``show_graph``, ``obj_node_id``, ``obj_label``, ``quote``,\n ``long_typename``, ``safe_repr``, ``short_repr``,\n ``gradient``, ``edge_label``, and ``_program_in_path``.\n\n- Correctly determine the name of old-style classes in `count`,\n `by_type`, and graph drawing functions.\n\n Fixes `issue 16 <https://github.com/mgedmin/objgraph/pull/16>`_. Contributed\n by Mike Lambert.\n\n\n1.8.1 (2014-05-15)\n------------------\n\n- Do not expect file objects to have an ``encoding`` attribute. Makes objgraph\n compatible with Eventlet's monkey-patching.\n\n Fixes `issue 6 <https://github.com/mgedmin/objgraph/pull/6>`_. Contributed\n by Jakub Stasiak.\n\n\n1.8.0 (2014-02-13)\n------------------\n\n- Moved to GitHub.\n\n- Python 3.4 support (`LP#1270872 <https://launchpad.net/bugs/1270872>`_).\n\n- New function: `is_proper_module`.\n\n- New ``shortnames`` argument for `typestats`, `most_common_types`,\n `show_most_common_types`, `show_growth`, `show_refs`,\n and `show_backrefs`.\n\n `count` and `by_type` accept fully-qualified type names now.\n\n Fixes `issue 4 <https://github.com/mgedmin/objgraph/issues/4>`_.\n\n\n1.7.2 (2012-10-23)\n------------------\n\n- Bugfix: setup.py sdist was broken on Python 2.7 (UnicodeDecodeError in\n tarfile).\n\n- The ``filename`` argument for `show_refs` and `show_backrefs` now\n allows arbitrary image formats, not just PNG. Patch by `Riccardo\n Murri <https://launchpad.net/~rmurri>`_.\n\n- Temporary dot files are now named `objgraph-*.dot` instead of `tmp*.dot`.\n\n- Python 3.3 support: no code changes, but some tests started failing because\n the new and improved dictionary implementation no longer holds references to\n str objects used as dict keys.\n\n- Added a tox.ini for convenient multi-Python testing.\n\n\n1.7.1 (2011-12-11)\n------------------\n\n- Bugfix: non-ASCII characters in object representations would break graph\n generation on Python 3.x, in some locales (e.g. with LC_ALL=C). Reported and\n fixed by `Stefano Rivera <https://launchpad.net/~stefanor>`_.\n\n- Bugfix: setup.py was broken on Python 3.x\n\n- Bugfix: dot.exe/xdot.exe were not found on Windows (`LP#767239\n <https://launchpad.net/bugs/767239>`_).\n\n- Documentation updates: document the forgotten `find_ref_chain`,\n update `show_chain` prototype.\n\n\n1.7.0 (2011-03-11)\n------------------\n\n- New function: `find_ref_chain`.\n\n- New ``backrefs`` argument for `show_chain`.\n\n- New function: `get_leaking_objects`, based on `a blog post by\n Kristj\u00e1n Valur\n <https://cosmicpercolator.com/2010/12/08/finding-c-reference-leaks-using-the-gc-module/>`_.\n\n- New ``objects`` argument for `count`, `typestats`,\n `most_common_types`, `show_most_common_types`, and\n `by_type`.\n\n- Edges pointing to function attributes such as __defaults__ or __globals__\n are now labeled.\n\n- Edge labels that are not simple strings now show the type.\n\n- Bugfix: '\\0' and other unsafe characters used in a dictionary key could\n break graph generation.\n\n- Bugfix: show_refs(..., filename='graph.dot') would then go to complain\n about unrecognized file types and then produce a png.\n\n\n1.6.0 (2010-12-18)\n------------------\n\n- Python 3 support, thanks to Stefano Rivera (fixes `LP#687601\n <https://launchpad.net/bugs/687601>`_).\n\n- Removed weird weakref special-casing.\n\n\n1.5.1 (2010-12-09)\n------------------\n\n- Avoid test failures in uncollectable-garbage.txt (fixes `LP#686731\n <https://launchpad.net/bugs/686731>`_).\n\n- Added HACKING.txt (later renamed to HACKING.rst).\n\n\n1.5.0 (2010-12-05)\n------------------\n\n- Show frame objects as well (fixes `LP#361704\n <https://launchpad.net/bugs/361704>`_).\n\n- New functions: `show_growth`, `show_chain`.\n\n- `find_backref_chain` returns ``[obj]`` instead of ``None`` when a chain\n could not be found. This makes ``show_chain(find_backref_chain(...), ...)``\n not break.\n\n- Show how many references were skipped from the output of\n `show_refs`/`show_backrefs` by specifying ``too_many``.\n\n- Make `show_refs` descend into modules.\n\n- Do not highlight classes that define a ``__del__``, highlight only instances of\n those classes.\n\n- Option to show reference counts in `show_refs`/`show_backrefs`.\n\n- Add `Sphinx <https://pypi.python.org/pypi/Sphinx>`_ documentation and a PyPI\n long description.\n\n\n1.4.0 (2010-11-03)\n------------------\n\n- Compatibility with Python 2.4 and 2.5 (``tempfile.NamedTemporaryFile`` has no\n ``delete`` argument).\n\n- New function: `most_common_types`.\n\n\n1.3.1 (2010-07-17)\n------------------\n\n- Rebuild an sdist with no missing files (fixes `LP#606604\n <https://launchpad.net/bugs/606604>`_).\n\n- Added MANIFEST.in and a Makefile to check that setup.py sdist generates\n source distributions with no files missing.\n\n\n1.3 (2010-07-13)\n----------------\n\n- Highlight objects with a ``__del__`` method.\n\n- Fixes `LP#483411 <https://launchpad.net/bugs/483411>`_: suggest always passing\n ``[obj]`` to `show_refs`, `show_backrefs`, since obj might be a\n list/tuple.\n\n- Fixes `LP#514422 <https://launchpad.net/bugs/514422>`_: `show_refs`,\n `show_backrefs` don't create files in the current working directory any\n more. Instead they accept a filename argument, which can be a .dot file or a\n .png file. If None or not specified, those functions will try to spawn xdot\n as before.\n\n- New extra_info argument to graph-generating functions (patch by Thouis Jones,\n `LP#558914 <https://launchpad.net/bugs/558914>`_).\n\n- setup.py should work with distutils now (`LP#604430\n <https://launchpad.net/bugs/604430>`_, thanks to Randy Heydon).\n\n\n1.2 (2009-03-25)\n----------------\n\n- Project website, public source repository, uploaded to PyPI.\n\n- No code changes.\n\n\n1.1 (2008-09-10)\n----------------\n\n- New function: `show_refs` for showing forward references.\n\n- New functions: `typestats` and `show_most_common_types`.\n\n- Object boxes are less crammed with useless information (such as IDs).\n\n- Spawns `xdot <https://pypi.python.org/pypi/xdot>`_ if it is available.\n\n\n1.0 (2008-06-14)\n----------------\n\n- First public release.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Draws Python object reference graphs with graphviz",
"version": "3.6.2",
"project_urls": {
"Homepage": "https://mg.pov.lt/objgraph/",
"Source": "https://github.com/mgedmin/objgraph"
},
"split_keywords": [
"object",
"graph",
"visualization",
"graphviz",
"garbage",
"collection"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8e677bffbb861cb8a0a62b7df50738d35812bf40dc8bcc1559c04bdf593f1164",
"md5": "40e1b81071f7f334bfba9ae5841155f5",
"sha256": "8114c97712291c3ba30d882406a384d0a7651b307ea9a06e0d83836ccde85e15"
},
"downloads": -1,
"filename": "objgraph-3.6.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "40e1b81071f7f334bfba9ae5841155f5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 17667,
"upload_time": "2024-10-10T12:00:41",
"upload_time_iso_8601": "2024-10-10T12:00:41.581493Z",
"url": "https://files.pythonhosted.org/packages/8e/67/7bffbb861cb8a0a62b7df50738d35812bf40dc8bcc1559c04bdf593f1164/objgraph-3.6.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ba7460dfb345ca493d69551dd1ba599ceb6fe325527fedabe4217d6e030449e2",
"md5": "70a28869363564744f03b88dcbd16855",
"sha256": "00b9f2f40f7422e3c7f45a61c4dafdaf81f03ff0649d6eaec866f01030e51ad8"
},
"downloads": -1,
"filename": "objgraph-3.6.2.tar.gz",
"has_sig": false,
"md5_digest": "70a28869363564744f03b88dcbd16855",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 759524,
"upload_time": "2024-10-10T12:00:45",
"upload_time_iso_8601": "2024-10-10T12:00:45.207450Z",
"url": "https://files.pythonhosted.org/packages/ba/74/60dfb345ca493d69551dd1ba599ceb6fe325527fedabe4217d6e030449e2/objgraph-3.6.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-10 12:00:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mgedmin",
"github_project": "objgraph",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"appveyor": true,
"tox": true,
"lcname": "objgraph"
}