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.8.tar.gz (329.2 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.8-cp37-cp37m-win_amd64.whl (353.1 kB view details)

Uploaded CPython 3.7mWindows x86-64

guppy3-3.0.8-cp37-cp37m-win32.whl (337.9 kB view details)

Uploaded CPython 3.7mWindows x86

guppy3-3.0.8-cp37-cp37m-manylinux1_x86_64.whl (614.1 kB view details)

Uploaded CPython 3.7m

guppy3-3.0.8-cp37-cp37m-manylinux1_i686.whl (595.8 kB view details)

Uploaded CPython 3.7m

guppy3-3.0.8-cp37-cp37m-macosx_10_6_intel.whl (459.0 kB view details)

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

guppy3-3.0.8-cp36-cp36m-win_amd64.whl (353.0 kB view details)

Uploaded CPython 3.6mWindows x86-64

guppy3-3.0.8-cp36-cp36m-win32.whl (337.7 kB view details)

Uploaded CPython 3.6mWindows x86

guppy3-3.0.8-cp36-cp36m-manylinux1_x86_64.whl (611.2 kB view details)

Uploaded CPython 3.6m

guppy3-3.0.8-cp36-cp36m-manylinux1_i686.whl (593.0 kB view details)

Uploaded CPython 3.6m

guppy3-3.0.8-cp36-cp36m-macosx_10_6_intel.whl (458.3 kB view details)

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

guppy3-3.0.8-cp35-cp35m-win_amd64.whl (350.8 kB view details)

Uploaded CPython 3.5mWindows x86-64

guppy3-3.0.8-cp35-cp35m-win32.whl (335.0 kB view details)

Uploaded CPython 3.5mWindows x86

guppy3-3.0.8-cp35-cp35m-manylinux1_x86_64.whl (610.4 kB view details)

Uploaded CPython 3.5m

guppy3-3.0.8-cp35-cp35m-manylinux1_i686.whl (592.1 kB view details)

Uploaded CPython 3.5m

guppy3-3.0.8-cp35-cp35m-macosx_10_6_intel.whl (457.8 kB view details)

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

File details

Details for the file guppy3-3.0.8.tar.gz.

File metadata

  • Download URL: guppy3-3.0.8.tar.gz
  • Upload date:
  • Size: 329.2 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.8.tar.gz
Algorithm Hash digest
SHA256 eaaad780aa3c7c1a332e2f28b2226389445d068d69a2ab72f22011855e5f8b7e
MD5 a4289c41861f71ae4bcc7b50a9c37299
BLAKE2b-256 cb617c38f9bb79913c7ab5c4b04d1906f697977a6b16a076ba5e61557b419a1c

See more details on using hashes here.

File details

Details for the file guppy3-3.0.8-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: guppy3-3.0.8-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 353.1 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.8-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 e54b9ec0e479c41f3f987ed204180e015698895ddfcb59c57dc9f952c7973e1a
MD5 97dd1ab2faf01112a7cc85abb57d0932
BLAKE2b-256 ec9ebb89afe76fc42a0cb426d6988c9237c469ee6b6288ff3215cf9002f876cd

See more details on using hashes here.

File details

Details for the file guppy3-3.0.8-cp37-cp37m-win32.whl.

File metadata

  • Download URL: guppy3-3.0.8-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 337.9 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.8-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 4417124f48776c53358d1f060b86909e37f1dd75693583e81992b820bc59f234
MD5 74b0d0e183f39144c34dbb7fbce76e4c
BLAKE2b-256 11334db7fca8f15264828a26c170ffdae74edffb2d749d34f00a8a96c674de0a

See more details on using hashes here.

File details

Details for the file guppy3-3.0.8-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: guppy3-3.0.8-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 614.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.8-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 2efd66d4bcfe6abc2099358777d06362fe5acbdc666cafb33107230c191abb0f
MD5 dc84c52c0ca902642f9d2c5ae9d3efeb
BLAKE2b-256 fcbf107811a412cc4bf9428088b926c32e7087f43e054160fdc0abbb1a753226

See more details on using hashes here.

File details

Details for the file guppy3-3.0.8-cp37-cp37m-manylinux1_i686.whl.

File metadata

  • Download URL: guppy3-3.0.8-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 595.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.8-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 487b11861ed3ba233e4d9bf087d0b64bc8e24da30bb968ea8a49430ca0784d2e
MD5 da480b8856f059b19e95c830ca94ad16
BLAKE2b-256 773f257c2ccc5fd0b1856595b6cfc0cb00c5d77f4425b31c2498035aa92a6797

See more details on using hashes here.

File details

Details for the file guppy3-3.0.8-cp37-cp37m-macosx_10_6_intel.whl.

File metadata

  • Download URL: guppy3-3.0.8-cp37-cp37m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 459.0 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.8-cp37-cp37m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 d26cb7cac7701227729c76f4deafb0f0661a3d2661ffaf2c2342b83cfbda8d85
MD5 3f1f63ce1ec8fe0abfcdff70b28c2c6a
BLAKE2b-256 1b58d87dd49ac87b9ce543410e0acf159dd1235b58e9e1c4aa5b5fdbab150d94

See more details on using hashes here.

File details

Details for the file guppy3-3.0.8-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: guppy3-3.0.8-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 353.0 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.8-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 f33bd3b230101c17512edba3e1e971a4c9818d1b6b78a21e74e8687d13aa79a1
MD5 4336712dad7ea6bde4e6b27e77a7ae1c
BLAKE2b-256 a8716ce0c9b128aa02e89a5358b540731077f30f5689413c0c62648353ade25f

See more details on using hashes here.

File details

Details for the file guppy3-3.0.8-cp36-cp36m-win32.whl.

File metadata

  • Download URL: guppy3-3.0.8-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 337.7 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.8-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 48a5c0b95e01dd9fbb930c5a8d2675a92fe2ee9ad66bf43fa4136c73eb7bb541
MD5 c5422d9767db0bc2244bc0b2dfa25a9e
BLAKE2b-256 405df514846cdb42bfbf0f2404efeeb61c5b9c65ddc511ca43c6115480f5be19

See more details on using hashes here.

File details

Details for the file guppy3-3.0.8-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: guppy3-3.0.8-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 611.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.8-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 1d3506153310c0543aa5e3c76c859f33fa8848f68b2b944109ea96e4845932c1
MD5 3578cafda66b62d13a7aa110470bbcae
BLAKE2b-256 17fd4617495e7673757b6718cc8dcff86adf29abd85a3b09a040f6b23137e64a

See more details on using hashes here.

File details

Details for the file guppy3-3.0.8-cp36-cp36m-manylinux1_i686.whl.

File metadata

  • Download URL: guppy3-3.0.8-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 593.0 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.8-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 f3495455a5011ceacab38f726d07f407b96e7d7bbc5a517dc54c1c67ceafefe5
MD5 22a671ead8f47fd21c4c1345902b2c03
BLAKE2b-256 f928ba48cbf8598c0bb2ff298a1bc61f9587f059e3a318751a6bf3580abe22a3

See more details on using hashes here.

File details

Details for the file guppy3-3.0.8-cp36-cp36m-macosx_10_6_intel.whl.

File metadata

  • Download URL: guppy3-3.0.8-cp36-cp36m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 458.3 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.8-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 7ce9cd464f2980d510fe633c87dacb72f1eb3ca4e6f18f9964af7bbda40af95e
MD5 7120f637c2132fa79744ca57514718ab
BLAKE2b-256 e99c1984c3930cbdab421c64885b115ad43babfc44f6bf115e6a30b2aa6024db

See more details on using hashes here.

File details

Details for the file guppy3-3.0.8-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: guppy3-3.0.8-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 350.8 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.8-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 8a0f827f93fb640aefac11a92ec51f7eae121d44f1a04b4c7bcc867668089c69
MD5 6ff73c1c6e933d96cc985e17a36f6989
BLAKE2b-256 be2be9330033e2488b61524cb70672e9b9a4f445e0357a1364c921c9323654ed

See more details on using hashes here.

File details

Details for the file guppy3-3.0.8-cp35-cp35m-win32.whl.

File metadata

  • Download URL: guppy3-3.0.8-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 335.0 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.8-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 0568897466bc9853a622f45bd0708b6d7f60b58b70198c79d7d6cfc72791a8b2
MD5 704d3b9b541a5828fa90303e405b0f0c
BLAKE2b-256 9ed1755a4b1c7014201e254033da221a4bbc0ceba097e4f1cffd758730ade6e8

See more details on using hashes here.

File details

Details for the file guppy3-3.0.8-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: guppy3-3.0.8-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 610.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.8-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 ead76fb5b2093119c05314fddff783b8f66f8bf7ea368a2cb4ac22d09ca0b1c9
MD5 56881960470e93a9840ef065ec11217d
BLAKE2b-256 57a97cb46c9ee9f4c146ba83dfee9c433a70be3674beecef4a8f074e11fff958

See more details on using hashes here.

File details

Details for the file guppy3-3.0.8-cp35-cp35m-manylinux1_i686.whl.

File metadata

  • Download URL: guppy3-3.0.8-cp35-cp35m-manylinux1_i686.whl
  • Upload date:
  • Size: 592.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.8-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 a7ca267b636df905ada2669ef99b593807ac248e73467bff128d97c3d3591470
MD5 079d516caf4c6f5ded7411c51018e39f
BLAKE2b-256 1d16d9660764229add42038ec2ea20baf0fee7e96c26e9594d1dea8d9efdaa43

See more details on using hashes here.

File details

Details for the file guppy3-3.0.8-cp35-cp35m-macosx_10_6_intel.whl.

File metadata

  • Download URL: guppy3-3.0.8-cp35-cp35m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 457.8 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.8-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 66af717b93967392861495c1c049d391a75f9d5759e6a7634f0517a857b8d30a
MD5 bf25bb8152fe8a796d36e3d8307c36ff
BLAKE2b-256 93e6ff97fa890b604d56bbcdcbe7db953fa650b39509d3a90c29f0ec21fb364c

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