skillfed

guppy3

Guppy 3 -- Guppy-PE ported to Python 3

guppy3 v3.1.7 1.4M downloads/30d#3,980 on PyPI431
Permissive license MIT Active released

What it is and what it does

Guppy 3 is a heap analysis and memory profiling toolkit for CPython that lets you inspect live Python objects, understand memory allocation patterns, and track down memory leaks. It provides an interactive session interface where you create a heap analysis context, query the heap to see object counts and sizes grouped by type, and trace paths from the root to individual objects. The package includes submodules for bitsets implemented in C, a specification language, and support utilities.

The tool is designed for developers debugging memory issues in Python applications. It works by examining the live heap state and presenting partitions of objects with cumulative size analysis, making it practical for identifying which types consume the most memory. It requires CPython 3.10 or later and does not support PyPy or free-threaded CPython due to implementation constraints.

Use it for:

  • Identify which object types consume the most memory in a running Python application.
  • Trace reference chains from the garbage collector root to specific large objects.
  • Profile memory usage in long-running services to detect unexpected growth patterns.
  • Debug memory issues in framework-based applications by inspecting heap state at runtime.
  • Analyze object allocation patterns during development to optimize memory-intensive code.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Guppy 3 analyzes Python heap memory to identify object allocations, memory usage patterns, and potential leaks through interactive heap inspection and reporting.

Yes, if you need to debug Python memory issues or profile heap usage in CPython applications. The package is actively maintained, has no known vulnerabilities, and carries a permissive MIT license. Install friction is moderate due to compiled extensions, but pre-built wheels cover common platforms. Not suitable if you use PyPy, free-threaded CPython, or Python versions below 3.10.

Install

guppy3 on PyPI

pip

pip install guppy3

uv

uv add guppy3

poetry

poetry add guppy3

Installing guppy3

Before you install

Medium install friction due to compiled C extensions across multiple platforms and architectures. The package is actively maintained with a recent release (95 days ago) and receives steady downloads, though it requires CPython 3.10 or later and does not support PyPy or free-threaded CPython.

License in practice

MIT license permits free use, modification, and redistribution with minimal restrictions, making it suitable for both open-source and commercial projects.

Quickstart

pip install guppy3

from guppy import hpy
h = hpy()
h.heap()
h.iso(1, [], {})

Requires CPython 3.10, 3.11, 3.12, 3.13, or 3.14; PyPy and free-threaded CPython are not supported. Tkinter is needed for the graphical browser.

Verify before relying

  • Whether the graphical browser is actively used or primarily a legacy feature
  • Performance overhead and suitability for production vs. development-only use
  • Practical memory profiling workflow and typical use patterns in real applications

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 95 days since the last release
Last repo commit
First released
Downloads 1,382,674/month — #3,980 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: guppy3-3.1.7-cp310-cp310-macosx_10_9_x86_64.whl; guppy3-3.1.7-cp310-cp310-macosx_11_0_arm64.whl; guppy3-3.1.7-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; guppy3-3.1.7-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl; guppy3-3.1.7-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl; guppy3-3.1.7-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl; guppy3-3.1.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; guppy3-3.1.7-cp310-cp310-musllinux_1_2_aarch64.whl; guppy3-3.1.7-cp310-cp310-musllinux_1_2_armv7l.whl; guppy3-3.1.7-cp310-cp310-musllinux_1_2_ppc64le.whl; guppy3-3.1.7-cp310-cp310-musllinux_1_2_s390x.whl; guppy3-3.1.7-cp310-cp310-musllinux_1_2_x86_64.whl; guppy3-3.1.7-cp310-cp310-win32.whl; guppy3-3.1.7-cp310-cp310-win_amd64.whl; guppy3-3.1.7-cp310-cp310-win_arm64.whl; guppy3-3.1.7-cp311-cp311-macosx_10_9_x86_64.whl; guppy3-3.1.7-cp311-cp311-macosx_11_0_arm64.whl; guppy3-3.1.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; guppy3-3.1.7-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl; guppy3-3.1.7-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl

Development Status :: 4 - BetaEnvironment :: ConsoleIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: CProgramming Language :: Python :: 3Programming Language :: Python :: Implementation :: CPythonTopic :: Software Development :: Debuggers

Tags

python memory profilingheap analysis toolmemory leak detectionobject allocation trackingpython memory debuggingheap introspectionmemory usage analysis
memory-profilingheap-analysisdebugging

More Debuggers packages