skillfed

austin-dist

Austin - Frame Stack Sampler for CPython

austin-dist v4.0.0 841.3K downloads/30d#4,926 on PyPI2,211
Copyleft license GPLv3+ Active released

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-dist

uv

uv add austin-dist

poetry

poetry add austin-dist

Installing 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9

Tags

python profiler no instrumentationcpython frame stack samplingstatistical profiler minimal overheadpython memory and cpu profilingflamegraph compatible profilerpython performance analysis toolzero-instrumentation python profiler
profilingperformance-analysiscpython-native

More Monitoring packages