Simple python flame graph generator
Project description
PyInferno
Python package that renders pyinstrument profiles as flamegraphs, using the inferno rust crate.
Installation
Install from PyPi:
pip install pyinferno
Usage
Context manager
To profile a specific piece of code, you can use the pyinstrument Profiler class, then render the result using pyinferno's InfernoRenderer:
from pyinstrument.profiler import Profiler
from pyinferno import InfernoRenderer
import time
def slow():
time.sleep(0.5)
with Profiler() as profiler:
slow()
output = profiler.output(InfernoRenderer(title="slow"))
with open("flamegraph.svg", "w+") as f:
f.write(output)
For convenience, the same result can be achieved using the InfernoProfiler context manager:
from pyinferno import InfernoProfiler
import time
def slow():
time.sleep(0.5)
with InfernoProfiler(file="flamegraph.svg", auto_open=True, title="slow"):
slow()
Command-line
To profile a Python script, you can pass pyinferno.Renderer as the renderer to the pyinstrument CLI:
pyinstrument -r pyinferno.Renderer -o flamegraph.svg slow.py
For convenience, pyinferno includes its own script which wraps the pyinstrument CLI:
pyinferno slow.py
If no output file is specified, the flamegraph will be written to a temporary file and automatically opened using python's webbrowser module. To save the flamegraph to a file, pass the -o option:
pyinferno -o flamegraph.svg slow.py
To profile a python module, pass the -m argument:
pyinferno -m pytest -k slow_test
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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyinferno-0.2.6.tar.gz.
File metadata
- Download URL: pyinferno-0.2.6.tar.gz
- Upload date:
- Size: 9.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8dd0e2dadb724c8dcceb618a686e282200d1a1f4c1ab85c08db3f9c2de2f27d
|
|
| MD5 |
04fb23b649c435cd6df5245fc39425fc
|
|
| BLAKE2b-256 |
fd78cdabef86a6dc24a9fb8ac8f05ba2834fcbd31ecf983689b5efbe0242ea9f
|
File details
Details for the file pyinferno-0.2.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: pyinferno-0.2.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5e1af93d51ba254944f119881dd601518564d5688f339d21d769243687f56cc
|
|
| MD5 |
cd49f7fe65028d5992f1de31bcf8a1d2
|
|
| BLAKE2b-256 |
dbc62ed38ceee42b28df929360ab0cfe44c06028ef03529afbb26319a4342e3e
|
File details
Details for the file pyinferno-0.2.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: pyinferno-0.2.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a51faf7b317796594cd102f2b391ee02ed7ffa82d2466806df7cf9b929e7af26
|
|
| MD5 |
994382fed8f9e1e4572c942c76c4cef3
|
|
| BLAKE2b-256 |
30ba72a25e34361414e31ea426bf2cedb2627efa30fc96998ab01ad3fa283b71
|
File details
Details for the file pyinferno-0.2.6-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: pyinferno-0.2.6-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72b0c0d33f9788d770ebc4791c7594effbbbb1c0ce8c1c2185f0902a466c70d8
|
|
| MD5 |
718c72472c738ad270788ea0e3af7687
|
|
| BLAKE2b-256 |
5de713fa0e97684a3895f18a77686db6de27a00be86580104397802be2305cb6
|
File details
Details for the file pyinferno-0.2.6-cp311-none-win_amd64.whl.
File metadata
- Download URL: pyinferno-0.2.6-cp311-none-win_amd64.whl
- Upload date:
- Size: 189.0 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0eda3ca7afff448a81d1836456344360c41400c539b994b8201982ae913af4a0
|
|
| MD5 |
6c544d3e7be2f3d81b2a47b888c85e31
|
|
| BLAKE2b-256 |
bb12d0979ca9c294fb47cb0b5c9f52cf73392957e3cd834e6437730eef0be830
|
File details
Details for the file pyinferno-0.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: pyinferno-0.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4890317a77e88ca26487551211cc519b23f239e93b008425b82a5961b7afe21a
|
|
| MD5 |
d4fe58789b0c0ec6219bcd4098c2809a
|
|
| BLAKE2b-256 |
b44df912f892f88382ac9233cb3cea83df12a96f41a5c39a16d673fc77ca184c
|
File details
Details for the file pyinferno-0.2.6-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.
File metadata
- Download URL: pyinferno-0.2.6-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
- Upload date:
- Size: 606.2 kB
- Tags: CPython 3.11, macOS 10.9+ universal2 (ARM64, x86-64), macOS 10.9+ x86-64, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05f52b2afb50d8b8f771faa81e6daadd83599fc853a1c36916f9c3013b6fc077
|
|
| MD5 |
515d2e0eadbbb58a029a225071e57b34
|
|
| BLAKE2b-256 |
d00d7b4d937cfbf58b436a9eb64e361267fc9fb4265a2db1c69321a2517c4f3e
|
File details
Details for the file pyinferno-0.2.6-cp310-none-win_amd64.whl.
File metadata
- Download URL: pyinferno-0.2.6-cp310-none-win_amd64.whl
- Upload date:
- Size: 189.0 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0ceb8c3f6a6254338f40705fb6d462dffc165d5e77159d5420ee31d2d8d08fc
|
|
| MD5 |
447b8602328bb9db547147ae5c4292f5
|
|
| BLAKE2b-256 |
f62b75ec49c817e61e23276febde9fcc9e918fb854e6f9e27d411ebd4ce7ad96
|
File details
Details for the file pyinferno-0.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: pyinferno-0.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ccf9f4f466188c36625bd46884f1d857a7bf27d8e35aa46f914adeaaf5065704
|
|
| MD5 |
186cc12c119f426a4b64d1c3919eacf3
|
|
| BLAKE2b-256 |
6cc67a319bdda223a52455232b97891749482d94cb436cc9a0dc6d5c75eeb2d8
|
File details
Details for the file pyinferno-0.2.6-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.
File metadata
- Download URL: pyinferno-0.2.6-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
- Upload date:
- Size: 606.2 kB
- Tags: CPython 3.10, macOS 10.9+ universal2 (ARM64, x86-64), macOS 10.9+ x86-64, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb13c315431bc6b535dd6e68abf772770085b6d79f0f77a3a3cda55dac647264
|
|
| MD5 |
86f6c603cd1c1d18cce0f367617f09e1
|
|
| BLAKE2b-256 |
0999125eb752ca9e93ba976b3fe2a27487da7bb5ca1beceaa5a99f2169a37628
|
File details
Details for the file pyinferno-0.2.6-cp39-none-win_amd64.whl.
File metadata
- Download URL: pyinferno-0.2.6-cp39-none-win_amd64.whl
- Upload date:
- Size: 189.0 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36168246c7fcc4aca59cc463bc454968ce75d4f027e974f25c4c4814423003ff
|
|
| MD5 |
533816b2301a1c87a8d7e3a7c681383d
|
|
| BLAKE2b-256 |
99326e78b079773dced81797b257539972e64682a6ed95d64d14aecb56f97190
|
File details
Details for the file pyinferno-0.2.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: pyinferno-0.2.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e304f7b78924d3e5a98fc2966e285b7e5b10d0f0e6450fb201ad77e8b13d8f5
|
|
| MD5 |
4d057c5738f011eeb45fc2f45a89f308
|
|
| BLAKE2b-256 |
e99386c0883981055167f9cec80c0fbbe74b4f1c3e98b3ac8b0bdc91ec51495f
|
File details
Details for the file pyinferno-0.2.6-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.
File metadata
- Download URL: pyinferno-0.2.6-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
- Upload date:
- Size: 606.2 kB
- Tags: CPython 3.9, macOS 10.9+ universal2 (ARM64, x86-64), macOS 10.9+ x86-64, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad03786fb06caf3ba8c3f48b98f0d13988a69f639e34f9deaea9f9e3c873181b
|
|
| MD5 |
e758ceba7ccc15af053693963a8287e8
|
|
| BLAKE2b-256 |
e19f2d8609828eb1eefc56757b6ab2abee23b3b33afd70365a1c190842ee1275
|
File details
Details for the file pyinferno-0.2.6-cp38-none-win_amd64.whl.
File metadata
- Download URL: pyinferno-0.2.6-cp38-none-win_amd64.whl
- Upload date:
- Size: 189.1 kB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cac475260d60b1568ff4b1e0cc40f1c32c33ff4324651c9db134f21fca5a0e3c
|
|
| MD5 |
92a9d8afe6926b700181c972fc6f27c0
|
|
| BLAKE2b-256 |
a679e54806c7700ff332899c05bb52823f60b6ce94dee774f2995ae0d41b73bf
|
File details
Details for the file pyinferno-0.2.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: pyinferno-0.2.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33f481bae866bf41faa2444016ad7ceb76498db0674d644ee4e6435bd15c31c3
|
|
| MD5 |
544496c3a20eef3ef013af37f15a79bb
|
|
| BLAKE2b-256 |
d2fe7a941072372906ebd94ed15d2977448265374603d145b2c62647fc643bf0
|
File details
Details for the file pyinferno-0.2.6-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.
File metadata
- Download URL: pyinferno-0.2.6-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
- Upload date:
- Size: 605.5 kB
- Tags: CPython 3.8, macOS 10.9+ universal2 (ARM64, x86-64), macOS 10.9+ x86-64, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ffe6f16737ebafe879f35880a87b8a4d63721989208b1077bcf2cb4b95fef75e
|
|
| MD5 |
4879b0982dd435edaf6eac2a2e0fd604
|
|
| BLAKE2b-256 |
9234ab675d935eda57a302780d78dc230a0119e452ea0a812393c888854b463a
|
File details
Details for the file pyinferno-0.2.6-cp37-none-win_amd64.whl.
File metadata
- Download URL: pyinferno-0.2.6-cp37-none-win_amd64.whl
- Upload date:
- Size: 189.0 kB
- Tags: CPython 3.7, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dcdbbe7905638b889562a262cdb0d2ae1a6a79b307151636814a97be1ffae29d
|
|
| MD5 |
b2f3de9c480047c077fce703db8756bf
|
|
| BLAKE2b-256 |
979827e821727fce1902571a32040338cb1e122a5e8c22585a225de6b7dfb4fb
|
File details
Details for the file pyinferno-0.2.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: pyinferno-0.2.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.7m, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b725d8b06e6b54dd3b5689cc7ed3209226f1b5412ccc8eec10b53f508edad6f
|
|
| MD5 |
6cdde44b96b35effda14263565783129
|
|
| BLAKE2b-256 |
5b36a70f0bf74bc9d46a56b399134e5f57bdcd09371cdca3755c0894c252f62b
|
File details
Details for the file pyinferno-0.2.6-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.
File metadata
- Download URL: pyinferno-0.2.6-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
- Upload date:
- Size: 605.5 kB
- Tags: CPython 3.7m, macOS 10.9+ universal2 (ARM64, x86-64), macOS 10.9+ x86-64, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d58f9421e29d51ae8e6aa0be191fc55adda9178faa120095e57f2bcd1214001d
|
|
| MD5 |
7d462d93b538cce8bca09423d35db026
|
|
| BLAKE2b-256 |
3777c660b0ebe85a5a74ab1db6df551410b398ee9548132d33cf3e25cce4c6e4
|