{ "info": { "author": "Peter Waller", "author_email": "p@pwaller.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Environment :: X11 Applications :: KDE", "License :: OSI Approved :: MIT License", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Desktop Environment :: K Desktop Environment (KDE)", "Topic :: Software Development", "Topic :: Software Development :: Quality Assurance", "Topic :: System :: System Shells", "Topic :: Utilities" ], "description": "Overview\n========\n\nScript to help visualize profiling data collected with the cProfile\nPython module with the kcachegrind_ (screenshots_) graphical calltree\nanalyser.\n\nThis is a rebranding of the venerable\nhttp://www.gnome.org/~johan/lsprofcalltree.py script by David Allouche\net Al. It aims at making it easier to distribute (e.g. through PyPI)\nand behave more like the scripts of the debian kcachegrind-converters_\npackage. The final goal is to make it part of the official upstream\nkdesdk_ package.\n\n.. _kcachegrind: http://kcachegrind.sourceforge.net\n.. _kcachegrind-converters: https://packages.debian.org/en/stable/kcachegrind-converters\n.. _kdesdk: http://websvn.kde.org/trunk/KDE/kdesdk/kcachegrind/converters/\n.. _screenshots: http://images.google.fr/images?q=kcachegrind\n\nCommand line usage\n==================\n\nUpon installation you should have a `pyprof2calltree` script in your path::\n\n $ pyprof2calltree --help\n usage: pyprof2calltree [-h] [-o output_file_path] [-i input_file_path] [-k]\n [-r scriptfile [args ...]]\n\n optional arguments:\n -h, --help show this help message and exit\n -o output_file_path, --outfile output_file_path\n Save calltree stats to \n -i input_file_path, --infile input_file_path\n Read Python stats from \n -k, --kcachegrind Run the kcachegrind tool on the converted data\n -r scriptfile [args ...], --run-script scriptfile [args ...]\n Name of the Python script to run to collect profiling\n data\n\n\nPython shell usage\n==================\n\n`pyprof2calltree` is also best used from an interactive Python shell such as\nthe default shell. For instance let us profile XML parsing::\n\n >>> from xml.etree import ElementTree\n >>> from cProfile import Profile\n >>> xml_content = '\\n' + '\\ttext\\n' * 100 + ''\n >>> profiler = Profile()\n >>> profiler.runctx(\n ... \"ElementTree.fromstring(xml_content)\",\n ... locals(), globals())\n\n >>> from pyprof2calltree import convert, visualize\n >>> visualize(profiler.getstats()) # run kcachegrind\n >>> convert(profiler.getstats(), 'profiling_results.kgrind') # save for later\n\nor with the ipython_::\n\n In [1]: %doctest_mode\n Exception reporting mode: Plain\n Doctest mode is: ON\n\n >>> from xml.etree import ElementTree\n >>> xml_content = '\\n' + '\\ttext\\n' * 100 + ''\n >>> %prun -D out.stats ElementTree.fromstring(xml_content)\n\n *** Profile stats marshalled to file 'out.stats'\n\n >>> from pyprof2calltree import convert, visualize\n >>> visualize('out.stats')\n >>> convert('out.stats', 'out.kgrind')\n\n >>> results = %prun -r ElementTree.fromstring(xml_content)\n >>> visualize(results)\n\n.. _ipython: https://ipython.org/\n\n\nChange log\n==========\n\n - 1.4.4 - 2018-10-19: Numerous small improvements, drop support for EOL python versions\n - 1.4.3 - 2017-07-28: Windows support (fixed is_installed check - #21)\n - 1.4.2 - 2017-07-19: No feature or bug fixes, just license clarification (#20)\n - 1.4.1 - 2017-05-20: No feature or bug fixes, just test distribution (#17)\n - 1.4.0 - 2016-09-03: Support multiple functions with the same name, tick unit from millis to nanos, tests added (#15)\n - 1.3.2 - 2014-07-05: Bugfix: correct source file paths (#12)\n - 1.3.1 - 2013-11-27: Bugfix for broken output writing on Python 3 (#8)\n - 1.3.0 - 2013-11-19: qcachegrind support\n - 1.2.0 - 2013-11-09: Python 3 support\n - 1.1.1 - 2013-09-25: Miscellaneous bugfixes\n - 1.1.0 - 2008-12-21: integrate fix in conversion by David Glick\n - 1.0.3 - 2008-10-16: fix typos in 1.0 release\n - 1.0 - 2008-10-16: initial release under the pyprof2calltree name\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/pwaller/pyprof2calltree/", "keywords": "profiler visualization programming tool kde kcachegrind qcachegrind", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pyprof2calltree", "package_url": "https://pypi.org/project/pyprof2calltree/", "platform": "", "project_url": "https://pypi.org/project/pyprof2calltree/", "project_urls": { "Homepage": "https://github.com/pwaller/pyprof2calltree/" }, "release_url": "https://pypi.org/project/pyprof2calltree/1.4.4/", "requires_dist": null, "requires_python": "", "summary": "Help visualize profiling data from cProfile with kcachegrind and qcachegrind", "version": "1.4.4" }, "last_serial": 4394600, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "98bafeb9986c3083802da397d580f75c", "sha256": "452604aa60c3b0a7e0ba98ffb0d21687bd49e9158d65a1d30ce35453e9d7125e" }, "downloads": -1, "filename": "pyprof2calltree-1.0-py2.5.egg", "has_sig": false, "md5_digest": "98bafeb9986c3083802da397d580f75c", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 2990, "upload_time": "2008-11-16T18:54:39", "url": "https://files.pythonhosted.org/packages/34/4d/bb0ced4497eb0ae0847267352302853b8f690dd19578f5ae98f6e67ed3ca/pyprof2calltree-1.0-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "b07d19d4149e82b57a73e409ecca0125", "sha256": "299a78cbe7083200ae8f1593c25d6e1e865e98c9a4c76f1296ed354944a29e1b" }, "downloads": -1, "filename": "pyprof2calltree-1.0.tar.gz", "has_sig": false, "md5_digest": "b07d19d4149e82b57a73e409ecca0125", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5921, "upload_time": "2008-11-16T18:54:38", "url": "https://files.pythonhosted.org/packages/ef/1f/a5b54e3fffd8d7114a3d8bf5446ed7f44f15978c70effa33e86754a68c58/pyprof2calltree-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "3487ffda6b5ef5c4863c9a5ec6a10707", "sha256": "d05fdf072f55017188f40ae13cd8819133ba1f6dd5944a22a28aebb07f310396" }, "downloads": -1, "filename": "pyprof2calltree-1.0.1-py2.5.egg", "has_sig": false, "md5_digest": "3487ffda6b5ef5c4863c9a5ec6a10707", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 3029, "upload_time": "2008-11-16T19:12:37", "url": "https://files.pythonhosted.org/packages/40/77/9f24ffc8990acc89eb792d167d99fe62f7167fd744535f50a0ec1023b335/pyprof2calltree-1.0.1-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "a67a23b582fbf3a760aa90bbb0fb89e2", "sha256": "00591a30da912971f42ab411d5d0eafdd7be908ca6ec036dc4cb54c64ec8002c" }, "downloads": -1, "filename": "pyprof2calltree-1.0.1.tar.gz", "has_sig": false, "md5_digest": "a67a23b582fbf3a760aa90bbb0fb89e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5975, "upload_time": "2008-11-16T19:12:36", "url": "https://files.pythonhosted.org/packages/0f/c3/1b1d2c815eb2da5dd6cbb99a6791a4fda3efe598ba9334557286fed34975/pyprof2calltree-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "d9a5a61b3c8a08804f1013db2853051a", "sha256": "ff26b7ee80e8d982d34cede74319d7543f75da9e8d584f52ba656ee2b0ce6021" }, "downloads": -1, "filename": "pyprof2calltree-1.0.2-py2.5.egg", "has_sig": false, "md5_digest": "d9a5a61b3c8a08804f1013db2853051a", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 9818, "upload_time": "2008-11-16T23:02:42", "url": "https://files.pythonhosted.org/packages/4f/06/1130c551cefd5d4f79d9a0287b945c56548f47041edb8aec6d9ba8db12d9/pyprof2calltree-1.0.2-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "31a880e3214145bd5f03a9b3e0516e77", "sha256": "96406c6f589b14b9b75a947df4ee3f048d2939af2edab8ba00854cb976932023" }, "downloads": -1, "filename": "pyprof2calltree-1.0.2.tar.gz", "has_sig": false, "md5_digest": "31a880e3214145bd5f03a9b3e0516e77", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5965, "upload_time": "2008-11-16T23:02:42", "url": "https://files.pythonhosted.org/packages/6f/4e/3f25c7bfe245c889a4eea384d69560dd7dc80c8304efe5e87fb8d916f981/pyprof2calltree-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "1f0cb981d495b5461fd701ec1136b8db", "sha256": "59b24b01f4aa9299be5a12e4f42fda0400e4e51c20a165f2369b13714d4ff07a" }, "downloads": -1, "filename": "pyprof2calltree-1.0.3-py2.5.egg", "has_sig": false, "md5_digest": "1f0cb981d495b5461fd701ec1136b8db", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 9817, "upload_time": "2008-11-16T23:11:54", "url": "https://files.pythonhosted.org/packages/34/ad/2b4324a97538c7d42bcbb167bfc9b62423a28ba9e85fa26603d3e70d23e4/pyprof2calltree-1.0.3-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "7715cc81abd3e7d1e59a7f84dcb10c32", "sha256": "c0eb0cacbf86befb8ad2dd2174ec84cd11ae9b9453ec6fd3e71905b019d5a0e3" }, "downloads": -1, "filename": "pyprof2calltree-1.0.3.tar.gz", "has_sig": false, "md5_digest": "7715cc81abd3e7d1e59a7f84dcb10c32", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5988, "upload_time": "2008-11-16T23:11:53", "url": "https://files.pythonhosted.org/packages/7c/5a/e2acb32a1a545c8e385fa063a023935707016af50d30ae528f53b127a441/pyprof2calltree-1.0.3.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "87867cfc52fb95d13c717029ea83ee37", "sha256": "5bfec5ff4a8970dad821a5179462da09492dd635f594bcf2375c313815dee3e4" }, "downloads": -1, "filename": "pyprof2calltree-1.1.0-py2.5.egg", "has_sig": false, "md5_digest": "87867cfc52fb95d13c717029ea83ee37", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 9898, "upload_time": "2008-12-21T18:34:34", "url": "https://files.pythonhosted.org/packages/bc/0f/1160d8fe3ef37a8d4911126bb378fa999786107aafd6ff58c1107a113ff6/pyprof2calltree-1.1.0-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "60cd2052bd1bf4b224b7533d2b7fa56b", "sha256": "180295d1a17caadbc4b45c94232d291c9762d3ab5445000858bd6d1ac78793ac" }, "downloads": -1, "filename": "pyprof2calltree-1.1.0.tar.gz", "has_sig": false, "md5_digest": "60cd2052bd1bf4b224b7533d2b7fa56b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6030, "upload_time": "2008-12-21T18:34:34", "url": "https://files.pythonhosted.org/packages/2c/79/c5016b8b31e9e50bde3f4735a3d89f7e8e2c54129a3cd016cb957c8404b7/pyprof2calltree-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "3bca49bc10b3548abc433955e98fb744", "sha256": "11279527c74cf9bde36d842bf2c2d161ec3554adf176c71007f7f7b2339732aa" }, "downloads": -1, "filename": "pyprof2calltree-1.1.1.tar.gz", "has_sig": false, "md5_digest": "3bca49bc10b3548abc433955e98fb744", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6323, "upload_time": "2013-09-25T16:00:56", "url": "https://files.pythonhosted.org/packages/34/39/84b947b1bf7714e8a0666bb864db39a2a1fc525e5ccf55fb5408e459eb66/pyprof2calltree-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "6ea0f6d0d89d81aee209fb9ee308f758", "sha256": "08bff47ce5e584231d91597a57fca37011f7566e8374d187a0b336b510e51071" }, "downloads": -1, "filename": "pyprof2calltree-1.2.0.tar.gz", "has_sig": false, "md5_digest": "6ea0f6d0d89d81aee209fb9ee308f758", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6309, "upload_time": "2013-11-09T21:57:42", "url": "https://files.pythonhosted.org/packages/8b/00/9b3867e7fb059e38f01d87603bc3f4003a915ac94ce72380794adf5794f0/pyprof2calltree-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "f1f7dfa99021f79715672db9f0cb8cf6", "sha256": "cb3ca334886fe76fadb7dc096ad62169cb729acad06b361506567e3ab14b26bd" }, "downloads": -1, "filename": "pyprof2calltree-1.3.0.tar.gz", "has_sig": false, "md5_digest": "f1f7dfa99021f79715672db9f0cb8cf6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6531, "upload_time": "2013-11-19T17:18:47", "url": "https://files.pythonhosted.org/packages/e3/d4/c59939d1bb504e565b8278179eb6898d99f8a1b31956e0669748fa07d045/pyprof2calltree-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "b6b0f0f36b0252000ec3ea6ae4223e9b", "sha256": "3afdd4e6ba4d5d02fcf4815f9eebb816c0f74ba936ae34a7e264f26739be1f89" }, "downloads": -1, "filename": "pyprof2calltree-1.3.1.tar.gz", "has_sig": false, "md5_digest": "b6b0f0f36b0252000ec3ea6ae4223e9b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6565, "upload_time": "2013-11-27T13:54:03", "url": "https://files.pythonhosted.org/packages/dc/56/0afcc29c9c97a02ee4f259e99baa8b5f438f2dd80446d96811a82baf5ffb/pyprof2calltree-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "afd3fc6cac1189dd5f23561e21e06058", "sha256": "28eac89262d0edd86ee2574d24d1840cbca2d4ed6a1de7e1d8fc05f30ea5a22b" }, "downloads": -1, "filename": "pyprof2calltree-1.3.2.tar.gz", "has_sig": false, "md5_digest": "afd3fc6cac1189dd5f23561e21e06058", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6609, "upload_time": "2014-07-05T21:40:16", "url": "https://files.pythonhosted.org/packages/69/5a/27fcfc7f5319141812b81775420561c6b8feb721ce9219a26e66025d0233/pyprof2calltree-1.3.2.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "601c6073f5866ebf4a473f660c45c28a", "sha256": "97d4e20152e3659c99220815a09d3606143f122f7a0c406c6ccf929b464418ac" }, "downloads": -1, "filename": "pyprof2calltree-1.4.0.tar.gz", "has_sig": false, "md5_digest": "601c6073f5866ebf4a473f660c45c28a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7676, "upload_time": "2016-09-03T16:57:42", "url": "https://files.pythonhosted.org/packages/ad/d9/2e3380728d3c8709574d81b749020fdc047073576cecba38fe14d6672ce3/pyprof2calltree-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "f76b5cdb68cb9d2405cc78940a6a70e0", "sha256": "3c300f5272950429e2e84fc7b0ee83e84fcfe0695e534589e7bae155fdd7166c" }, "downloads": -1, "filename": "pyprof2calltree-1.4.1.tar.gz", "has_sig": false, "md5_digest": "f76b5cdb68cb9d2405cc78940a6a70e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8095, "upload_time": "2017-05-20T09:41:52", "url": "https://files.pythonhosted.org/packages/30/08/7dd034dccb7972d2ef013c43000632ec515c995e8dff3c2e147aced10ea4/pyprof2calltree-1.4.1.tar.gz" } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "aafbf8a99cc0daab15ee7c735337fdaf", "sha256": "8af043ca47c881b67f01f98ef188f8f178a1ea9b65b58eabb42bed250fb2dbd8" }, "downloads": -1, "filename": "pyprof2calltree-1.4.2.tar.gz", "has_sig": false, "md5_digest": "aafbf8a99cc0daab15ee7c735337fdaf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8138, "upload_time": "2017-07-19T10:50:15", "url": "https://files.pythonhosted.org/packages/f3/e8/687aee2752760cffff06718d04e01515ba31dd4e745448240a7d137c2ca2/pyprof2calltree-1.4.2.tar.gz" } ], "1.4.3": [ { "comment_text": "", "digests": { "md5": "066272c0e160ba072d314699e7089571", "sha256": "38a0774f7716d5303d4c57ff89ec24258154942666e4404558f6ac10f8bb1e52" }, "downloads": -1, "filename": "pyprof2calltree-1.4.3.tar.gz", "has_sig": false, "md5_digest": "066272c0e160ba072d314699e7089571", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8203, "upload_time": "2017-07-28T20:51:40", "url": "https://files.pythonhosted.org/packages/94/50/ba3c2207df3b9ac4122f70f94b9fec1a1eff971b83804c80a5dc9032ee25/pyprof2calltree-1.4.3.tar.gz" } ], "1.4.4": [ { "comment_text": "", "digests": { "md5": "4bbf56ceae90e3421dcdcbcecd783e87", "sha256": "252eead6e7df997183ac24b0063394a87d15fe3ebc7e8d84cc80fc441f62b321" }, "downloads": -1, "filename": "pyprof2calltree-1.4.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4bbf56ceae90e3421dcdcbcecd783e87", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 8843, "upload_time": "2018-10-19T15:26:34", "url": "https://files.pythonhosted.org/packages/08/70/af62e922986974190bb016816841b65053f62f483f539680393854a97d75/pyprof2calltree-1.4.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fe46c9f0370c13760fc80312ac82968b", "sha256": "9ec2d4d70aa1cb3e2e65a8445247eb32c1ef289bbbd64837c63e0994241f90ea" }, "downloads": -1, "filename": "pyprof2calltree-1.4.4.tar.gz", "has_sig": false, "md5_digest": "fe46c9f0370c13760fc80312ac82968b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10061, "upload_time": "2018-10-19T13:11:00", "url": "https://files.pythonhosted.org/packages/17/4e/2bf8ed9e4ea7b1c547c9a887235b1e90bccf5cde2f9f61c42e0e1f87d62b/pyprof2calltree-1.4.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4bbf56ceae90e3421dcdcbcecd783e87", "sha256": "252eead6e7df997183ac24b0063394a87d15fe3ebc7e8d84cc80fc441f62b321" }, "downloads": -1, "filename": "pyprof2calltree-1.4.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4bbf56ceae90e3421dcdcbcecd783e87", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 8843, "upload_time": "2018-10-19T15:26:34", "url": "https://files.pythonhosted.org/packages/08/70/af62e922986974190bb016816841b65053f62f483f539680393854a97d75/pyprof2calltree-1.4.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fe46c9f0370c13760fc80312ac82968b", "sha256": "9ec2d4d70aa1cb3e2e65a8445247eb32c1ef289bbbd64837c63e0994241f90ea" }, "downloads": -1, "filename": "pyprof2calltree-1.4.4.tar.gz", "has_sig": false, "md5_digest": "fe46c9f0370c13760fc80312ac82968b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10061, "upload_time": "2018-10-19T13:11:00", "url": "https://files.pythonhosted.org/packages/17/4e/2bf8ed9e4ea7b1c547c9a887235b1e90bccf5cde2f9f61c42e0e1f87d62b/pyprof2calltree-1.4.4.tar.gz" } ] }