Skip to content
Python decorators for profiling/tracing/timing a single function
Branch: master
Clone or download
mgedmin Replace 'make test-all-pythons' with tox
So I wouldn't have to keep SUPPORTED_PYTHON_VERSIONS up to date.
Latest commit 2b1d3b6 Apr 12, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.coveragerc Add a .coveragerc Nov 6, 2014
.gitignore Add an appveyor.yml Dec 11, 2015
CHANGES.rst Update changelog and bump minor version Apr 12, 2019
Makefile Replace 'make test-all-pythons' with tox Apr 12, 2019
appveyor.yml Update changelog and bump minor version Apr 12, 2019
pytest.ini Update to 1.3 Nov 8, 2018
setup.cfg Claim Python 3.7 support Aug 7, 2018 Make it possible to use pytest to run tests Apr 12, 2019



It's a collection of decorators for profiling functions. E.g. to profile a single function:

from profilehooks import profile

def my_function(args, etc):

The results will be printed when the program exits (or you can use @profile(immediate=True)).

If you're interested in coarse timings and don't want to pay for the overhead of profiling, use

from profilehooks import timecall

@timecall       # or @timecall(immediate=True)
def my_function(args, etc):

Finally, you may be interested in seeing line coverage for a single function

from profilehooks import coverage

def my_function(args, etc):

Also functions can be available in Python console or module if run it with -m arg

$ python -m profilehooks
>>> profile
<function profile at 0x1005c6488>

$ python -m profilehooks yourmodule

Full documentation is available through pydoc profilehooks after installation.

The home page for this module is It has screensho, uh, that is, more examples.

You can’t perform that action at this time.