Skip to content
SPECIFICTION
Get listed

py-spy

github.com

Free plan WindowsmacOSLinux
Visit github.com
Spec score 7.4 #21 of 29 in Profiling Software

Spec sheet

Purpose
py-spy is a sampling profiler for Python programs that visualizes where a program spends time without restarting it or changing its code.Read 5 Oct 2026 · github.com
License
The repository says py-spy is released under the MIT License.Read 5 Oct 2026 · github.com
Commands
The command line has `record`, `top`, and `dump` subcommands for saving profiles, viewing live activity, and displaying thread call stacks.Read 5 Oct 2026 · github.com
Containers
For Docker and Kubernetes, the README says py-spy needs the `SYS_PTRACE` capability to read process memory.Read 5 Oct 2026 · github.com
Installation
The project documents installation through PyPI with pip, GitHub release binaries, Cargo, Homebrew, Arch AUR, and Alpine packages.Read 5 Oct 2026 · github.com
Low overhead
It is written in Rust and runs outside the profiled Python process, which the project says makes it safe to use against production Python code.Read 5 Oct 2026 · github.com
Native extensions
The README says py-spy can profile native Python extensions written in C, C++, or Cython on some platforms.Read 5 Oct 2026 · github.com
Nonblocking mode
The `--nonblocking` option avoids pausing the target process, though the README notes it can cause sampling errors or partial stack frames.Read 5 Oct 2026 · github.com
Permissions
Attaching to a process may require elevated permissions; the README says macOS always requires root and Linux commonly requires root when attaching to a non-child process.Read 5 Oct 2026 · github.com
Profile outputs
`record` can create flame graphs, speedscope profiles, or raw data, and release notes also list Chrome trace format support.Read 5 Oct 2026 · github.com
Python support
The README says it supports recent CPython versions 2.3–2.7 and 3.3–3.14.Read 5 Oct 2026 · github.com
Security reporting
The security policy asks users to report vulnerabilities by email and says only the most recent version receives security updates.Read 5 Oct 2026 · github.com
Subprocesses
With `--subprocesses`, `record` or `top` can include child Python processes, such as multiprocessing or gunicorn workers.Read 5 Oct 2026 · github.com

Plans and prices

py-spy Free MIT-licensed; sampling profiler for Python programs Read 5 Oct 2026 · github.com

Every py-spy plan and price →

Where Specifiction places it

Alternatives to py-spyAll alternatives →