austin-dist
Austin - Frame Stack Sampler for CPython
What it is and what it does
Austin is a statistical profiler for CPython that samples the call stack of running processes by directly reading the interpreter's virtual memory, without requiring code instrumentation or modifications. It works as a standalone command-line tool that can profile CPU time, memory usage, and garbage collection state across single and multi-process applications.
The profiler is designed for minimal runtime overhead and produces output compatible with FlameGraph and Speedscope visualization tools. It supports modern Python versions (3.9 through 3.14) and runs on Linux, macOS, and Windows with pre-built wheels available for multiple architectures. The tool is particularly useful for identifying performance bottlenecks in production-like environments where instrumentation overhead is unacceptable.
Use it for:
- Identify CPU hotspots in long-running Python applications without modifying source code
- Profile memory usage patterns in data-heavy workloads to detect leaks or inefficient allocations
- Analyze multi-process applications like mod_wsgi to understand per-process resource consumption
- Generate flamegraph visualizations for performance review and optimization planning
- Sample garbage collection behavior to diagnose GC-related performance issues
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Austin is a frame stack sampler for CPython that profiles running Python processes without instrumentation, collecting time and memory profiling data by reading the interpreter's virtual memory.
Yes, if you need a low-overhead profiler for CPython. Austin's zero-instrumentation design and broad platform support make it valuable for production profiling. The GPLv3+ license requires review if used in proprietary contexts. Install friction is moderate due to compiled wheels, but pre-built binaries are available across major platforms. No known vulnerabilities and active maintenance support the recommendation.
Install
austin-dist on PyPI
pip
pip install austin-distuv
uv add austin-distpoetry
poetry add austin-distInstalling austin-dist
Before you install
Medium install friction due to compiled wheels across multiple platforms (macOS arm64/x86_64, Linux x86_64/aarch64/armv7l/ppc64le, musl variants, Windows). Active maintenance with recent release (286 days ago) and 2211 repository stars indicate solid project health.
License in practice
GPLv3+ copyleft license means any derivative work or distribution must also be open-source under compatible terms. Acceptable for internal use and open-source projects, but requires careful review if integrating into proprietary software.
Quickstart
pip install austin-dist
# Profile a Python script
auston -o output.txt python my_script.py
# Pipe output to flamegraph
auston python my_script.py | flamegraph.pl > flame.svg
Requires CPython runtime; Austin is a native profiler that reads interpreter memory and does not work with PyPy or other Python implementations.
Verify before relying
- Exact performance overhead and sampling accuracy compared to other profilers
- Whether the VS Code extension and Speedscope integration are actively maintained
- Support for profiling async/await code and coroutines
- Memory profiling granularity and accuracy for large heap applications
Package facts
| License | GPLv3+ (copyleft) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 286 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 841,263/month — #4,926 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: austin_dist-4.0.0-py3-none-macosx_11_0_arm64.whl; austin_dist-4.0.0-py3-none-macosx_11_0_x86_64.whl; austin_dist-4.0.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl; austin_dist-4.0.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; austin_dist-4.0.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; austin_dist-4.0.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; austin_dist-4.0.0-py3-none-musllinux_1_1_aarch64.whl; austin_dist-4.0.0-py3-none-musllinux_1_1_armv7l.whl; austin_dist-4.0.0-py3-none-musllinux_1_1_ppc64le.whl; austin_dist-4.0.0-py3-none-musllinux_1_1_x86_64.whl; austin_dist-4.0.0-py3-none-win_amd64.whl
Tags
More Monitoring packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
opentelemetry-semantic-conventionsProvides generated Python code for…
permissive · top 100 on PyPI
opentelemetry-sdkProvides the reference implementation of the…
permissive · top 100 on PyPI
opentelemetry-apiProvides the abstract API and interfaces for…
permissive · top 100 on PyPI
opentelemetry-exporter-otlp-proto-httpExports OpenTelemetry observability data to an…
permissive · top 1,000 on PyPI
opentelemetry-instrumentationProvides automatic instrumentation commands and…
permissive · top 1,000 on PyPI
py-spypy-spy is a sampling profiler that attaches to…
permissive · top 1,000 on PyPI
pyroscope-ioPyroscope-io is a continuous profiling agent…
permissive · top 5,000 on PyPI
xprofXProf is a profiler for ML workloads that…
permissive · top 15,000 on PyPI
scaleneScalene profiles Python code to measure CPU,…
permissive · top 15,000 on PyPI
yappiYappi is a deterministic profiler for Python…
permissive · top 5,000 on PyPI
nvidia-nvtxProvides a Python API for annotating events and…
unclear · top 1,000 on PyPI
tensorboard-plugin-profileProvides a TensorBoard plugin and standalone…
permissive · top 5,000 on PyPI
snakevizSnakeViz is a web-based viewer for Python…
permissive · top 5,000 on PyPI
google-cloud-profilerCollects and uploads CPU, memory, and wall-time…
permissive · top 15,000 on PyPI