# sumerc/yappi

Yet Another Python Profiler, but this time multithreading, asyncio and gevent aware.

Repository: https://github.com/sumerc/yappi
Canonical: https://ross.abutalabs.com/products/yappi
Language: Python
License: MIT
License Family: permissive
Topics: profilers, multi-threaded-applications, coroutine, asynchronous, python, asyncio, performance, profile, asgi, cpu, thread, gevent, greenlet, multithreading
Last push: 2026-07-08T15:13:14+00:00

## Health v2 (maintenance only)
Score: 91/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 91, release rhythm 85, longevity 100
- inputs: {"age_days": 6174, "days_push": 56, "days_rel": 103, "gap_med": 0, "n_releases_24m": 16}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1725, forks 81 (observed 2026-08-28T04:05:28.073069+00:00)

## What it is
Yappi is a fast tracing profiler for Python written in C that is aware of multithreading, asyncio, and gevent/greenlet concurrency. It supports wall and CPU time measurement, per-thread/coroutine tagging and filtering, and exports results in callgrind and pstat formats.

## Use cases
- profile a multithreaded python application
- profile asyncio coroutines
- profile gevent greenlets
- measure cpu time vs wall time of python functions
- profile a long-running server process
- export profiler results to callgrind for kcachegrind
- find slow functions in an asgi web app

## When to choose
- your python code uses threads, asyncio, or gevent and cProfile gives misleading results
- you need to profile long-running multi-threaded processes
- you need CPU time rather than wall clock
- you want callgrind/pstats compatible output

## When to avoid
- you only need simple single-threaded function profiling (cProfile may suffice)
- you need sampling/probabilistic profiling with very low overhead
- you need line-level or memory profiling

## Facets
- artifact type: library
- maturity: stable
- function: benchmarking, developer-tools
- domain: developer-tools, performance
- platform: python, cross-platform
- tags: profiler, asyncio, multithreading, gevent, cpu-time, wall-time, callgrind, pstats, command-line

## Member repositories
- sumerc/yappi (main) score 91

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:28.073069+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:33:52.631629+00:00, confidence not recorded.
  - readme: https://github.com/sumerc/yappi (fetched 2026-08-28T04:05:28.073069+00:00, sha 3c87a532fd20)
  - registry_pypi: https://pypi.org/pypi/yappi/json (fetched 2026-08-29T11:09:10.152287+00:00, sha b0403120b234)
- Data as of 2026-08-30T08:39:29.467469+00:00.
