Skip to main content

Guppy 3 -- Guppy-PE ported to Python 3

Project description

Guppy 3

Build Status Azure DevOps builds Codecov PyPI version
PyPI - Implementation PyPI - Python Version PyPI - Downloads PyPI - License

A Python Programming Environment & Heap analysis toolset.

This package contains the following subpackages:

  • etc - Support modules. Contains especially the Glue protocol module.
  • gsl - The Guppy Specification Language implementation. This can be used to create documents and tests from a common source.
  • heapy - The heap analysis toolset. It can be used to find information about the objects in the heap and display the information in various ways.
  • sets - Bitsets and 'nodesets' implemented in C.

Guppy 3 is a fork of Guppy-PE, created by Sverker Nilsson for Python 2.

Requirements

You should have Python 3.5, 3.6, or 3.7. This package is CPython only; PyPy and other Python implementations are not supported. Python 2 support can be obtained from guppy-pe by Sverker Nilsson, from which this package is forked.

To use the graphical browser, Tkinter is needed. To use the remote monitor, threading must be available.

Installation

Install with pip by:

pip install guppy3

Usage

The following example shows

  1. How to create the session context: h=hpy()
  2. How to show the reachable objects in the heap: h.heap()
  3. How to show the shortest paths from the root to the single largest object: h.heap().byid[0].sp
  4. How to create and show a set of objects: h.iso(1,[],{})
>>> from guppy import hpy; h=hpy()
>>> h.heap()
Partition of a set of 30976 objects. Total size = 3544220 bytes.
 Index  Count   %     Size   % Cumulative  % Kind (class / dict of class)
     0   8292  27   739022  21    739022  21 str
     1   7834  25   625624  18   1364646  39 tuple
     2   2079   7   300624   8   1665270  47 types.CodeType
     3    400   1   297088   8   1962358  55 type
     4   4168  13   279278   8   2241636  63 bytes
     5   1869   6   269136   8   2510772  71 function
     6    400   1   228464   6   2739236  77 dict of type
     7     79   0   139704   4   2878940  81 dict of module
     8   1061   3    93368   3   2972308  84 types.WrapperDescriptorType
     9    172   1    81712   2   3054020  86 dict (no owner)
<89 more rows. Type e.g. '_.more' to view.>
>>> h.heap().byid[0].sp
 0: h.Root.i0_modules['os'].__dict__
>>> h.iso(1,[],{})
Partition of a set of 3 objects. Total size = 348 bytes.
 Index  Count   %     Size   % Cumulative  % Kind (class / dict of class)
     0      1  33      248  71       248  71 dict (no owner)
     1      1  33       72  21       320  92 list
     2      1  33       28   8       348 100 int
>>>

People have written awesome posts on how to use this toolset, including:

Formal and API documentation are also available.

Contributing

Issues and pull requests are welcome. You may also ask for help on using this toolset; however, in such cases, we will only provide guidance, and not profile your code for you.

Please make sure to update tests as appropriate.

Testing

To test if the heapy build and installation was ok, you can do:

>>> from guppy import hpy
>>> hpy().test()
Testing sets
Test #0
Test #1
Test #2
...

There will be several more tests. Some tests may take a while.

License

Copyright (C) 2005-2013 Sverker Nilsson, S. Nilsson Computer System AB
Copyright (C) 2019 YiFei Zhu

The right is granted to copy, use, modify and redistribute this code according to the rules in what is commonly referred to as an MIT license.

*** USE AT YOUR OWN RISK AND BE AWARE THAT THIS IS AN EARLY RELEASE ***

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

guppy3-3.0.6.post3.tar.gz (335.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

guppy3-3.0.6.post3-cp37-cp37m-win_amd64.whl (358.7 kB view details)

Uploaded CPython 3.7mWindows x86-64

guppy3-3.0.6.post3-cp37-cp37m-win32.whl (343.7 kB view details)

Uploaded CPython 3.7mWindows x86

guppy3-3.0.6.post3-cp37-cp37m-manylinux1_x86_64.whl (617.1 kB view details)

Uploaded CPython 3.7m

guppy3-3.0.6.post3-cp37-cp37m-manylinux1_i686.whl (598.8 kB view details)

Uploaded CPython 3.7m

guppy3-3.0.6.post3-cp37-cp37m-macosx_10_6_intel.whl (464.1 kB view details)

Uploaded CPython 3.7mmacOS 10.6+ Intel (x86-64, i386)

guppy3-3.0.6.post3-cp36-cp36m-win_amd64.whl (358.6 kB view details)

Uploaded CPython 3.6mWindows x86-64

guppy3-3.0.6.post3-cp36-cp36m-win32.whl (343.6 kB view details)

Uploaded CPython 3.6mWindows x86

guppy3-3.0.6.post3-cp36-cp36m-manylinux1_x86_64.whl (614.2 kB view details)

Uploaded CPython 3.6m

guppy3-3.0.6.post3-cp36-cp36m-manylinux1_i686.whl (596.1 kB view details)

Uploaded CPython 3.6m

guppy3-3.0.6.post3-cp36-cp36m-macosx_10_6_intel.whl (463.4 kB view details)

Uploaded CPython 3.6mmacOS 10.6+ Intel (x86-64, i386)

guppy3-3.0.6.post3-cp35-cp35m-win_amd64.whl (356.4 kB view details)

Uploaded CPython 3.5mWindows x86-64

guppy3-3.0.6.post3-cp35-cp35m-win32.whl (340.8 kB view details)

Uploaded CPython 3.5mWindows x86

guppy3-3.0.6.post3-cp35-cp35m-manylinux1_x86_64.whl (613.4 kB view details)

Uploaded CPython 3.5m

guppy3-3.0.6.post3-cp35-cp35m-manylinux1_i686.whl (595.3 kB view details)

Uploaded CPython 3.5m

guppy3-3.0.6.post3-cp35-cp35m-macosx_10_6_intel.whl (463.1 kB view details)

Uploaded CPython 3.5mmacOS 10.6+ Intel (x86-64, i386)

File details

Details for the file guppy3-3.0.6.post3.tar.gz.

File metadata

  • Download URL: guppy3-3.0.6.post3.tar.gz
  • Upload date:
  • Size: 335.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4

File hashes

Hashes for guppy3-3.0.6.post3.tar.gz
Algorithm Hash digest
SHA256 468316021184e2b7f0edfd5d1e1a2bde6b3dda9a8d06ec0c612c3e1ceb1e09d9
MD5 54690388ad713943042008e4a16b6af7
BLAKE2b-256 9a59cd76335916b76063da24df25da7bfc46bdc0ff47a5c4c98f97b1f37bd02b

See more details on using hashes here.

File details

Details for the file guppy3-3.0.6.post3-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: guppy3-3.0.6.post3-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 358.7 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4

File hashes

Hashes for guppy3-3.0.6.post3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 a7a39877b0f659cd4070b4f9914e532d1f1a8130c13fb93f4a26998ad0d2b20f
MD5 eecb0fdf5be2609432c6a0e8076500ee
BLAKE2b-256 2c87046399a371445158d5b7b769cc4f3d6f9654763ba737c58575d4dc1f0c3d

See more details on using hashes here.

File details

Details for the file guppy3-3.0.6.post3-cp37-cp37m-win32.whl.

File metadata

  • Download URL: guppy3-3.0.6.post3-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 343.7 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4

File hashes

Hashes for guppy3-3.0.6.post3-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 3e01915ebe9e4cccc077202d09178410f0e7060ac53cb95131e04eb9d969750c
MD5 d13d02cbbcd2f921d5de8554d8307cfa
BLAKE2b-256 6563d8ec199e129bc1b2348a1ddcf6ed5fd091cb27577fa3b268655f685b507e

See more details on using hashes here.

File details

Details for the file guppy3-3.0.6.post3-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: guppy3-3.0.6.post3-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 617.1 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4

File hashes

Hashes for guppy3-3.0.6.post3-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 78a6ecfc6007551efe1cf726d504760916c1a8ca98a15efda2c77c9b77a59a4f
MD5 f7fa39bf80a61e5da27542d290371d11
BLAKE2b-256 caee3d6a0f4a8812dddbcdd893be4f37f7c681122dd96cc455a2e0fa2729bd26

See more details on using hashes here.

File details

Details for the file guppy3-3.0.6.post3-cp37-cp37m-manylinux1_i686.whl.

File metadata

  • Download URL: guppy3-3.0.6.post3-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 598.8 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4

File hashes

Hashes for guppy3-3.0.6.post3-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 7a04307dd4913569fc915faafff4448f364d8767c7c4e4cf36ed88dc55036188
MD5 c1d386081bd2d8e3971fc511fc93f036
BLAKE2b-256 2926028a8e51fa3ae9b7fead402d9e840dcad10eac1746479f68cf160038fac2

See more details on using hashes here.

File details

Details for the file guppy3-3.0.6.post3-cp37-cp37m-macosx_10_6_intel.whl.

File metadata

  • Download URL: guppy3-3.0.6.post3-cp37-cp37m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 464.1 kB
  • Tags: CPython 3.7m, macOS 10.6+ Intel (x86-64, i386)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4

File hashes

Hashes for guppy3-3.0.6.post3-cp37-cp37m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 f825f56bca0bd3bd87ffe4cbde8c2f702455c667bbdc0ea54af561fe0c54755e
MD5 51545362361c9e1835bf9c161ea1b3e0
BLAKE2b-256 8399d72a3a66d7596a0f1b721eabe93460ceb3b6bb53f646cfa7401d8cc15901

See more details on using hashes here.

File details

Details for the file guppy3-3.0.6.post3-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: guppy3-3.0.6.post3-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 358.6 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4

File hashes

Hashes for guppy3-3.0.6.post3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 30673231dd7cd98fd5a7714663f7662a721e0aa73a5f51cfa1e8f651e61273ae
MD5 cbba5285e52360f8e4c7ea1f6c9d92cc
BLAKE2b-256 f486df23d17481c402f33d88fd959c8930b97cd907098080b70d5bafe96854d3

See more details on using hashes here.

File details

Details for the file guppy3-3.0.6.post3-cp36-cp36m-win32.whl.

File metadata

  • Download URL: guppy3-3.0.6.post3-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 343.6 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4

File hashes

Hashes for guppy3-3.0.6.post3-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 a986f259d8965fd6f5745f437d39f9adfca5f432e7f83c4f49829209a365f500
MD5 165ebfae648c3bb26ff03f86fb0031e4
BLAKE2b-256 f0e616f943f50c8eeac29d3dd0ab1e01910774b411148dad1c4b4412c3755cda

See more details on using hashes here.

File details

Details for the file guppy3-3.0.6.post3-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: guppy3-3.0.6.post3-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 614.2 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4

File hashes

Hashes for guppy3-3.0.6.post3-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c50ea3f8dd979a7757475334537c7876a3162fe678fa5eaff97a87e6011dd25a
MD5 47c8547c46f0e29a8ff63f1ad66e7dd5
BLAKE2b-256 ce0d90a4501451cc5bbde760aeadc3ced48244bd99eb665108f57a2ac6a9a357

See more details on using hashes here.

File details

Details for the file guppy3-3.0.6.post3-cp36-cp36m-manylinux1_i686.whl.

File metadata

  • Download URL: guppy3-3.0.6.post3-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 596.1 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4

File hashes

Hashes for guppy3-3.0.6.post3-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 804ef1059532393c1cc1b54bc66b91f4b26b8fd9757553b107eba49307f2510a
MD5 60e54f60a109c09d01ecb3229b116573
BLAKE2b-256 ff346c5f10ea949ecccf25d4659ff39c96ac501c85d74de5c3da56b1faae283e

See more details on using hashes here.

File details

Details for the file guppy3-3.0.6.post3-cp36-cp36m-macosx_10_6_intel.whl.

File metadata

  • Download URL: guppy3-3.0.6.post3-cp36-cp36m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 463.4 kB
  • Tags: CPython 3.6m, macOS 10.6+ Intel (x86-64, i386)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4

File hashes

Hashes for guppy3-3.0.6.post3-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 c94f7d5a64f44272b6a05d13c2c9cd5801a7bef8858f21bf0db04fd5af13d9f0
MD5 3767900c02ed904f4fdfae5338f44555
BLAKE2b-256 32b08bdb60e10f00eee4a7dc652761134ee142b28b7c5ef8b25e10e6cfc1dc81

See more details on using hashes here.

File details

Details for the file guppy3-3.0.6.post3-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: guppy3-3.0.6.post3-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 356.4 kB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4

File hashes

Hashes for guppy3-3.0.6.post3-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 0f1e701939210aef7878ee9fed4a30a4a23282543eee82a0191f5567043cf170
MD5 8a91392ab70eb86a1aac707d3762e551
BLAKE2b-256 ae6830f9d59e7b6d2e187ee5f0b37bda8f2c1066ae47ccdfdb18c15c37eda064

See more details on using hashes here.

File details

Details for the file guppy3-3.0.6.post3-cp35-cp35m-win32.whl.

File metadata

  • Download URL: guppy3-3.0.6.post3-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 340.8 kB
  • Tags: CPython 3.5m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4

File hashes

Hashes for guppy3-3.0.6.post3-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 c5e08cc2d8441a96e2e9892a9c4c173430a5611a7a1999a04d041e86febf39e5
MD5 98bc2dae4e6d8575cfd7c1a47fb11469
BLAKE2b-256 76ee8c48721606bdc994624a4d7999bde27257d2bddeccf253673226e5430437

See more details on using hashes here.

File details

Details for the file guppy3-3.0.6.post3-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: guppy3-3.0.6.post3-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 613.4 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4

File hashes

Hashes for guppy3-3.0.6.post3-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 5af7fad9cfe25fdbdb41eabd85b74e821f99ad73a9082888e9a4f906698d9937
MD5 44ccfee556142cb43083693844241a99
BLAKE2b-256 95e9071957a0320397156e84d6078feebae065d6f527e18eac2c5a38e10b98a3

See more details on using hashes here.

File details

Details for the file guppy3-3.0.6.post3-cp35-cp35m-manylinux1_i686.whl.

File metadata

  • Download URL: guppy3-3.0.6.post3-cp35-cp35m-manylinux1_i686.whl
  • Upload date:
  • Size: 595.3 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4

File hashes

Hashes for guppy3-3.0.6.post3-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 8460aefff131f57c55b8a1c00be75a48016bdffd3ae2388a4b8d1922e233fb46
MD5 30ab837dc83ffab39a74ea6eaf82dece
BLAKE2b-256 33bec662629bfb935d668bf253bb1f2f88d947065e0c922f1311bfc9b86456c5

See more details on using hashes here.

File details

Details for the file guppy3-3.0.6.post3-cp35-cp35m-macosx_10_6_intel.whl.

File metadata

  • Download URL: guppy3-3.0.6.post3-cp35-cp35m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 463.1 kB
  • Tags: CPython 3.5m, macOS 10.6+ Intel (x86-64, i386)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4

File hashes

Hashes for guppy3-3.0.6.post3-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 835c82e34695fa9d7cde637f80f71f9ec75bd8b13b0eb7eec0a23782c213a661
MD5 4b624fac3ea8bdafb3f241b0320027ac
BLAKE2b-256 74f25b634c160ff535a1cafd3f418386608cd641aea3ed7e9c2081a9e4ee2489

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page