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, 3.7, or 3.8. 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.9.tar.gz (334.0 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.9-cp37-cp37m-win_amd64.whl (352.7 kB view details)

Uploaded CPython 3.7mWindows x86-64

guppy3-3.0.9-cp37-cp37m-win32.whl (337.6 kB view details)

Uploaded CPython 3.7mWindows x86

guppy3-3.0.9-cp37-cp37m-manylinux1_x86_64.whl (614.2 kB view details)

Uploaded CPython 3.7m

guppy3-3.0.9-cp37-cp37m-manylinux1_i686.whl (596.0 kB view details)

Uploaded CPython 3.7m

guppy3-3.0.9-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.9-cp36-cp36m-win_amd64.whl (352.8 kB view details)

Uploaded CPython 3.6mWindows x86-64

guppy3-3.0.9-cp36-cp36m-win32.whl (337.6 kB view details)

Uploaded CPython 3.6mWindows x86

guppy3-3.0.9-cp36-cp36m-manylinux1_x86_64.whl (612.4 kB view details)

Uploaded CPython 3.6m

guppy3-3.0.9-cp36-cp36m-manylinux1_i686.whl (594.1 kB view details)

Uploaded CPython 3.6m

guppy3-3.0.9-cp36-cp36m-macosx_10_6_intel.whl (458.9 kB view details)

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

guppy3-3.0.9-cp35-cp35m-win_amd64.whl (350.7 kB view details)

Uploaded CPython 3.5mWindows x86-64

guppy3-3.0.9-cp35-cp35m-win32.whl (334.8 kB view details)

Uploaded CPython 3.5mWindows x86

guppy3-3.0.9-cp35-cp35m-manylinux1_x86_64.whl (611.6 kB view details)

Uploaded CPython 3.5m

guppy3-3.0.9-cp35-cp35m-manylinux1_i686.whl (593.2 kB view details)

Uploaded CPython 3.5m

guppy3-3.0.9-cp35-cp35m-macosx_10_6_intel.whl (458.5 kB view details)

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

File details

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

File metadata

  • Download URL: guppy3-3.0.9.tar.gz
  • Upload date:
  • Size: 334.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for guppy3-3.0.9.tar.gz
Algorithm Hash digest
SHA256 eec8fb73af5766ba5c366b252290e7e3f20cd0ce438ed2f0efa3b866d9476bec
MD5 95f036b70c1e4311adbd538350b4a9e0
BLAKE2b-256 4929d81123758716ddd40b7cdcc686b0297a99ce1e0681e538c8bc53508a9258

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.9-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 352.7 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for guppy3-3.0.9-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 3a5fcbd16a163f5e933f3444ba371c4d2a5823e6eef4d101dccf081aae98b61a
MD5 06685276c768aa023dc59518bc950d1e
BLAKE2b-256 8fd28882f52ec019e672e0352aac2d0d7678bcfeb811b75361261516e431dd89

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.9-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 337.6 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for guppy3-3.0.9-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 68f6b1a7e3cf825cc0362e5d2933a887b79d7f5ef3efda92e313c47dafb42d1a
MD5 9108396ebd5bfa8d96ad40c65ca3f877
BLAKE2b-256 575a408db1647a94a969affde77d6f32a71f775879596bf4837ea67b206e485b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.9-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 614.2 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for guppy3-3.0.9-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 687182af49fca0e0c65051d4d11e7b7f377cbbf8e5567567c8618615a7e089ed
MD5 6f27264ad5dcfc7efe331e58ea69d88c
BLAKE2b-256 8550d8032ef39c2a741f783eee7f10c644276af3bbe77014ae6e6b6b81afa4d7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.9-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 596.0 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for guppy3-3.0.9-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 d09bb2cddbee5a2c12913a07ace71f1ee44832652d3d69e04647b3aaa1a3d1ed
MD5 9b1719e14b842c6045e64ab035c3a3ba
BLAKE2b-256 df2acf7d1059e671148c4e5450ef6a02be18d17181417298231b9f580a4d12d7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.9-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/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for guppy3-3.0.9-cp37-cp37m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 a759e975888910b68ccff49632ad6ae94e1ef0737f6bf37c4201dafb84dd322a
MD5 3319c96796f977bcad8bc96efb6505ec
BLAKE2b-256 305f66ebbc5433405994566d7dbb5fe33cb1c7dab675c0e6748d43574d252e08

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.9-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 352.8 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for guppy3-3.0.9-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 d76503e9fe7aea708d8fffdd8ca836cbf348c136e2ce9d51d7addd2dc93ea3ac
MD5 e3a4f3f1ca927ba28dbe5a377e3ba87a
BLAKE2b-256 058db7b9ef6c5a24779d590991035b1d608161f9cbc6623f22e7f0997985e3ae

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.9-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 337.6 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for guppy3-3.0.9-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 054fa853664316dce9876dc079b85d55cc4e04f373dabd6a373bcccc0a64b023
MD5 01c00de0529437f1bd6e97844849cc4f
BLAKE2b-256 9d0c2d0e10e76d737fecebf58c78ae75b473b1120c3fc79fcedd3f2a2813f338

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.9-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 612.4 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for guppy3-3.0.9-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 6768a5c5481a98bceb681c2d585846dfb14f5b57d8e832353d0749f2e2c3456c
MD5 996b690313c1447479a7d2bd0c734dde
BLAKE2b-256 d5f65ecd5391bd50055186d1492592129412377a533bca7079cbdb70e3ffbadd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.9-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 594.1 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for guppy3-3.0.9-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 2c75169c4170adc6992be5d278c6fc5f42032467548783e470d65f8e8d73aa61
MD5 d9828dfecbd8468b3ed135f6c5010689
BLAKE2b-256 3d862f041ca180c909c422175284a5be246eb003d6b61e00ca8d93b6fb9aeb3e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.9-cp36-cp36m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 458.9 kB
  • Tags: CPython 3.6m, macOS 10.6+ Intel (x86-64, i386)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for guppy3-3.0.9-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 7a91ccc485ca4d1dcbc1d4105b5cab538a4610f1bf00a6688a4292ff7c345d48
MD5 36f1cf484cd4a950b266b432e602991c
BLAKE2b-256 a8eb7ac7dd773c831e775427211695371473039a0052c3f441e30a67aa337e43

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.9-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 350.7 kB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for guppy3-3.0.9-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 1903fc8be7ba7ff6f1464579baacbae2b7902dcad0254bb1378fb94180cd539c
MD5 9ed28281f23ebaf4545c0b1b94cd6d8c
BLAKE2b-256 5212ef9ac67a40ecb723bbf1f383e47d4d5ef829befd2dcdb5a09a8c3f5d93ec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.9-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 334.8 kB
  • Tags: CPython 3.5m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for guppy3-3.0.9-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 7aa483086bdc5f427cec89973956ca7a8d5c7b594b5b9d27c108cdd087bc5da8
MD5 83437841f58c13fbb7959b1fa86622cd
BLAKE2b-256 ea0dfcddb5260761ffbe5b26805b60f4363a420adff2e876360cc3adafcb44f7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.9-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 611.6 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for guppy3-3.0.9-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 f15dd972d67e687931ff071e4fbb95bd5de20138d74a844d511250da336d212c
MD5 9f967472ef9ab03c41583099759f63f2
BLAKE2b-256 ce87186d93a067fe024f50ee2a00080c5e6da65431d7e3c8c32d2f233d1cc651

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.9-cp35-cp35m-manylinux1_i686.whl
  • Upload date:
  • Size: 593.2 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for guppy3-3.0.9-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 4aa729542792b257625336c1655b8e07645e778b4666222257dcd9f0722bb5f0
MD5 ce5b208aa05ee28a170aff653702e79b
BLAKE2b-256 6d929fac26f966bc2bb2c3a90cde13d0efa4821a04a1b51501f8b5e7b8807a84

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guppy3-3.0.9-cp35-cp35m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 458.5 kB
  • Tags: CPython 3.5m, macOS 10.6+ Intel (x86-64, i386)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for guppy3-3.0.9-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 8c06a22d149a98ed85c5450128923554c75c576937562c094473909ee9baff79
MD5 70eefe03b14ec4f3d953e17b3813532f
BLAKE2b-256 45f1b525aea9cdb3455029b13f15813e5cf3f793983bbc431f9ab7ec82c60c9d

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