guppy3
Guppy 3 -- Guppy-PE ported to Python 3
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- 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.
- Medium install friction due to compiled C extensions across multiple platforms and architectures.
License · maintenance · safety
MIT (permissive) — MIT license permits free use, modification, and redistribution with minimal restrictions, making it suitable for both open-source and commercial projects.
last release 2026-05-11 (95 days) · last repo commit 2026-05-18 · 431 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,382,674 downloads/mo, #3,980 on PyPI
Alternatives
Verify before relying
pip install guppy3
from guppy import hpy
h = hpy()
h.heap()
h.iso(1, [], {})- 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
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 on it.
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
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.
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.
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, [], {})
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 |
| Classifiers | Development Status :: 4 - BetaEnvironment :: ConsoleIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: CProgramming Language :: Python :: 3Programming Language :: Python :: Implementation :: CPythonTopic :: Software Development :: Debuggers |
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
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “heap analysis tool”
- guppy3Guppy 3 analyzes Python heap memory to identify object allocations,…
- PymplerPympler measures, monitors, and analyzes memory behavior of Python…
- HeapDictHeapDict is a mutable mapping that acts as a priority queue,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Debuggers packages
Extracts and displays stack frame and traceback data with context-aware source code rendering, used to power enhanced tracebacks in IPython and similar tools.
Install it if you need to display or inspect stack frames with source context; skip it if your use case doesn't involve frame introspection.
debugpy is a Debug Adapter Protocol implementation for Python that enables remote debugging of Python scripts and modules through standard DAP clients, with support for breakpoints, exception handling, and subprocess debugging.
Install it if you need remote debugging, DAP client integration, or programmatic control over breakpoints and exception handling.
Pylint is a static code analyzer that checks Python code for errors, enforces coding standards, detects code smells, and suggests refactoring improvements without executing the code.
Install it if you need thorough code analysis with inference-based bug detection; if speed is critical, consider pairing it with faster linters like ruff for…
yamllint checks YAML files for syntax errors, style violations, and structural problems like key repetition, line length, trailing spaces, and indentation issues.
ipdb is an IPython-enabled debugger that replaces Python's standard pdb with tab completion, syntax highlighting, and better introspection while maintaining the same pdb interface.
Memray is a memory profiler for Python that traces every function call to track memory allocations across Python code, native extensions, and the interpreter itself, generating reports like flame graphs and tables to analyze memory usage.
See also mozleak · pyelftools · tuna · HeapDict · scalene · Pympler · lizard · snakeviz · django-silk · environ