Skip to main content

A basic wrapper around cProfile with snakeviz/tuna integration

Project description

Releases can be installed via pip from pypi

A simple library for a one-liner performance profile using cProfile and snakeviz! Upon import, will profile your code (profile file will be stats.prof in your current working directory) and launch snakeviz to visualize it. The snakeviz webserver will be open for about 5 seconds before it gets killed by ez_profile. The webpage will still be visible and interactable though, until you refresh the page.

There is a problem with IDLE where the webserver may not be killed, but a SystemError will get raised. This is a known problem and appears to be an issue with IDLE and/or Python itself. If I find a solution, I will fix the problem, but for now IDLE is considered incompatible with ez_profile.

This is meant for internal usage, but if you dont want ez_profile to profile your code, you can pass the --ignore commandline flag. This will bypass ez_profile completely.

Notes about usage: import ez_profile should be at the top of your main file. It profiles the entire project, and to do so, it runs the main file in a separate process. If you put this anywhere else in your project, the part before import ez_profile will not be profiled, and the whole project will be killed after the profiling is completed.

Usage:

# note that this should be at the top of your script
import ez_profile # this is all you need

<all of your other code>

New in 0.1.6 --fname commandline argument to specify where you want the output profile to be saved

python file.py --fname "/path/to/custom/location/file.prof"
python file.py --fname "custom_filename.prof"

New in 0.1.7 --gui commandline argument to specify which profile viewer you want to use. Defaults to "snakeviz" For example, if you want to use tuna instead, you can.

python file.py --gui tuna

Credit for the idea goes to matiiss

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

ez_profile-0.1.9.tar.gz (3.5 kB view details)

Uploaded Source

File details

Details for the file ez_profile-0.1.9.tar.gz.

File metadata

  • Download URL: ez_profile-0.1.9.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for ez_profile-0.1.9.tar.gz
Algorithm Hash digest
SHA256 39bb71b4848ded123d4446d88278dc32f83d3384432f611e7c78cb3732cd6631
MD5 c75a590b586d77a4f8e10883cfe3cbdd
BLAKE2b-256 5c45c2db7d04e3152396c00ae9f9b2bbce38f0b816481ec384f0d75da9185609

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