Skip to main content

Yappi

[![Build Status](https://drone.io/bitbucket.org/sumerc/yappi/status.png)](https://drone.io/bitbucket.org/sumerc/yappi/latest)

Motivation:

CPython standard distribution is coming with three profilers. cProfile, Profile and hotshot. cProfile module is implemented as a C module based on lsprof, Profile is in pure Python and the hotshot can be seen as a small subset of a cProfile. The motivation to implement a new profiler is that all of these profilers lacks the support of multi-threaded programs. If you want to profile a multi-threaded application, you must give an entry point to these profilers and then maybe merge the outputs. None of these profilers is designed to work on long-running multi-threaded application. While implementing a game server, it turns out that is is impossible to profile an application retrieve the statistics then stop and then start later on on the fly(without affecting the profiled application). With the experience of implementing a game server in Python, we have identified most of the problems, tricky parts regarding profiler usage and so, we have come up with simple but powerful requirements.

Features:

  • Ability to analyze per-thread information. (new in 0.94)

  • Ability to hook underlying threading model events/properties. (new in 0.92)

  • Decorator to profile individual functions easily. (new in 0.92)

  • Profiler results can be saved in callgrind and pstat formats. (new in 0.82)

  • Profiler results can be merged from different sessions on-the-fly. (new in 0.82)

  • Profiler results can be easily converted to pstats. (new in 0.82)

  • Supports profiling per-thread CPU time. See http://en.wikipedia.org/wiki/CPU_time for details. (new in 0.62)

  • Profiling of multithreaded Python applications transparently.

  • Profiler can be started from any thread at any time.

  • Ability to get statistics at any time without even stopping the profiler.

  • Various flags to arrange/sort profiler results.

Limitations:

  • Latest version of Yappi supports Python 2.6.x <= x <= Python.3.4

Metadata

Release files for yappi 0.98

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for yappi 0.98
File Size Uploaded Provenance Actions
yappi-0.98.tar.gz 37.1 kB Without provenance Details for yappi-0.98.tar.gz

Release files / yappi-0.98.tar.gz

Download URL yappi-0.98.tar.gz
Size 37.1 kB
Tags Source
SHA-256 checksum
How to use checksums
5f657129e1b9b952379ffbc009357d0dcdb58c50f3bfe88ffbb992e4b27b263c
BLAKE2b-256 checksum
How to use checksums
3543489bf1dd0923c16b4abe09271da979ca0576662d02ba59f26cfb54e93be1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for yappi 0.98

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page