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.post2.tar.gz (335.3 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.post2-cp37-cp37m-win_amd64.whl (359.6 kB view details)

Uploaded CPython 3.7mWindows x86-64

guppy3-3.0.6.post2-cp37-cp37m-win32.whl (344.4 kB view details)

Uploaded CPython 3.7mWindows x86

guppy3-3.0.6.post2-cp37-cp37m-manylinux1_x86_64.whl (619.4 kB view details)

Uploaded CPython 3.7m

guppy3-3.0.6.post2-cp37-cp37m-manylinux1_i686.whl (600.7 kB view details)

Uploaded CPython 3.7m

guppy3-3.0.6.post2-cp37-cp37m-macosx_10_6_intel.whl (466.3 kB view details)

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

guppy3-3.0.6.post2-cp36-cp36m-win_amd64.whl (359.5 kB view details)

Uploaded CPython 3.6mWindows x86-64

guppy3-3.0.6.post2-cp36-cp36m-win32.whl (344.3 kB view details)

Uploaded CPython 3.6mWindows x86

guppy3-3.0.6.post2-cp36-cp36m-manylinux1_x86_64.whl (616.5 kB view details)

Uploaded CPython 3.6m

guppy3-3.0.6.post2-cp36-cp36m-manylinux1_i686.whl (597.8 kB view details)

Uploaded CPython 3.6m

guppy3-3.0.6.post2-cp36-cp36m-macosx_10_6_intel.whl (465.5 kB view details)

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

guppy3-3.0.6.post2-cp35-cp35m-win_amd64.whl (357.2 kB view details)

Uploaded CPython 3.5mWindows x86-64

guppy3-3.0.6.post2-cp35-cp35m-win32.whl (341.6 kB view details)

Uploaded CPython 3.5mWindows x86

guppy3-3.0.6.post2-cp35-cp35m-manylinux1_x86_64.whl (615.6 kB view details)

Uploaded CPython 3.5m

guppy3-3.0.6.post2-cp35-cp35m-manylinux1_i686.whl (597.1 kB view details)

Uploaded CPython 3.5m

guppy3-3.0.6.post2-cp35-cp35m-macosx_10_6_intel.whl (465.1 kB view details)

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

File details

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

File metadata

  • Download URL: guppy3-3.0.6.post2.tar.gz
  • Upload date:
  • Size: 335.3 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.post2.tar.gz
Algorithm Hash digest
SHA256 e921f0f5b4a9faa294879b2b121f4d65923e1a06ec361ff778467a4a4d46c8ca
MD5 cbe6ad17c93312b0cd27749dbd8a1d09
BLAKE2b-256 d0ea30b01df0674a27d40e7a2283f7886500c0c22ab82af5694b0715a0c53cbd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.6.post2-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 359.6 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.post2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 0c80c9defba29ca2e31b3d5b5e43b900a836056c2dab3ebc39deaa8c41099e7f
MD5 019b49dcde580c194810dea8ef0cf316
BLAKE2b-256 f99f474a2102bb292d2cc64c0b4d98cbc1eb8639c258bfb05c063e73c7c55e78

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.6.post2-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 344.4 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.post2-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 78775f0b2800b31e7c032a90c13f94493b02cf4e717d2ad0357547d135f93631
MD5 503f975fbc91b2d099048908017724cf
BLAKE2b-256 03ba3bbbdb97601b42c2bb5143c84bfea43d5938ba4ac692d5ca4b795ec2e842

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.6.post2-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 619.4 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.post2-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 93eabf67993b39cc20a249bad13f6cc355006ba8aeda6367e4a3fa7464b13aae
MD5 9eb0be7a7fc543793f6939e62d46cb00
BLAKE2b-256 1adddbdebc651e2964c3cdbd739ed5f44b721b28c054a53318712f49b93d27a2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.6.post2-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 600.7 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.post2-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 f6c2644608ebf78086d66d9eb3d8f645b578cc44ad77ab9c72447507d84ac9e5
MD5 b77fff604042b328af8ec5b98cd6c27b
BLAKE2b-256 d67d668066596a1b07b653a9363f0bb1ad5593d8b8d58c06723f9432f46e35e7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.6.post2-cp37-cp37m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 466.3 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.post2-cp37-cp37m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 ff8a88a566c16392c2c045bd9ee46aa3a58dab2380c4e486bd50e8a146b03c7e
MD5 e5fa8260076c24c94dde1e67432278b8
BLAKE2b-256 757366d54eb6eb82d07f60168978cc1eaf32bbb90eb47e5627113ad62ea54fd5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.6.post2-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 359.5 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.post2-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 a82a14e485a325daf651a2a49f1879f011d7f7e0daa5b3b74464a46e8472e795
MD5 71448404e4acc8346efcdca95f3ffef9
BLAKE2b-256 6d9b8d34b7bfc51442317ee6aa99fda80ad3ffe86c2cf230a14d478680cfb2d5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.6.post2-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 344.3 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.post2-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 f21dd35e7fa4e49e3867fcbc73989541cd83f4129d37d3cfce503c70c54c1bf5
MD5 1badd7e8e420ea8be544748b5ccdf0e1
BLAKE2b-256 6d2b9020fc39cab79a75a0cba1ac5540145fdb066bd415f8c3c9f3eeab372fbb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.6.post2-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 616.5 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.post2-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 683069bfe3f9ecac7d3ae6b2f3c682702b1df7db50e89f19b85bc0994e8c6d6e
MD5 7551b94efaefa2e41af83a0fab8b16a7
BLAKE2b-256 46c61990f9865548fbb3844ece0a99f2c1e1dbcdbb4d1063060f86eaaae63e9d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.6.post2-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 597.8 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.post2-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 ed1ef1aa3b2dcddcfcb3781e2d5da00e812459c4a859665f7efe07e7a9c82fc8
MD5 b9c24c52d6c27af617a58b2e28391f28
BLAKE2b-256 c07106c7748589d2f01994c22cf1d750c660a0601ef7cd666e77a753ce715e0e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.6.post2-cp36-cp36m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 465.5 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.post2-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 d2071d26a87df32ab1e923033c3be903cec5599e0162b4016a5fe05a7a6a0d62
MD5 eb4548fdd0c00bf8293fa005f2e2c445
BLAKE2b-256 10e087851094c638d83c2a7eba86dbedfcd949e538d2fb9778aa85bc3b9c1132

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.6.post2-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 357.2 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.post2-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 478e0a1307ef2306d6c8ed49cc997e06f792be7d652057260c4fe2faa9591180
MD5 dae0b4f1fd03f47474f1d6e957fa5fee
BLAKE2b-256 aec91991d4a35563d05159b946c4e7c39d940658a471c6bbca21e4e245946cef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.6.post2-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 341.6 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.post2-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 5b5813fa03e34622617fd0d083c009749fe50fb93ff213bbc031d9e78cd0b5c0
MD5 d3a948c969cfc1ffbc014346d1705ac6
BLAKE2b-256 bfcdbf47fc7f2495982487cc74a8a8b12af1f80e1f94ce47a1842d0742abed6e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.6.post2-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 615.6 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.post2-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c8986756bdbb7870818c9b1199925c03a13a0e8606d52467fd0960953a12acc6
MD5 a9a36fcd1ce30990852bacfcca9689b6
BLAKE2b-256 4554cab06a14f8ed0a30124643161276aa564f074480730a0136bb99704b3d2c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.6.post2-cp35-cp35m-manylinux1_i686.whl
  • Upload date:
  • Size: 597.1 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.post2-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 c00333ad175b0c0bb14d3d82f3c2be5bde8f0c8fa4f48c35f59bd773a391efee
MD5 b7526c31c93c29dbb7b164a87d54b335
BLAKE2b-256 a93f9f89504be27b55dd7262614fc49e961e993c87c0f37ddf37aebd3c6f703a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.6.post2-cp35-cp35m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 465.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.post2-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 bfbc1da70e5707263e0d33c5068026faa4c7783f3f693bfb43652753c9493ee0
MD5 dc764e3249ee9a8a50823ac2726e0a12
BLAKE2b-256 2691df2556a0f7644ca18f40b2aee325848d751898566338de4c99ed38cdec06

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