{"id":19796519,"url":"https://github.com/frohoff/yappi","last_synced_at":"2026-06-12T17:31:58.910Z","repository":{"id":150186160,"uuid":"138326068","full_name":"frohoff/yappi","owner":"frohoff","description":"Imported from https://bitbucket.org/sumerc/yappi","archived":false,"fork":false,"pushed_at":"2018-06-22T16:47:08.000Z","size":1017,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-28T16:11:59.007Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/frohoff.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-22T16:42:02.000Z","updated_at":"2018-06-22T17:16:08.000Z","dependencies_parsed_at":"2023-05-31T20:45:32.870Z","dependency_job_id":null,"html_url":"https://github.com/frohoff/yappi","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/frohoff/yappi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frohoff%2Fyappi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frohoff%2Fyappi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frohoff%2Fyappi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frohoff%2Fyappi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frohoff","download_url":"https://codeload.github.com/frohoff/yappi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frohoff%2Fyappi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34256180,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T07:19:55.956Z","updated_at":"2026-06-12T17:31:58.904Z","avatar_url":"https://github.com/frohoff.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nYappi\n===================\n\n[![Build Status](https://drone.io/bitbucket.org/sumerc/yappi/status.png)](https://drone.io/bitbucket.org/sumerc/yappi/latest)\n\nMotivation:\n===================\nCPython standard distribution is coming with three profilers. cProfile, Profile and hotshot. \ncProfile module is implemented as a C module based on lsprof, Profile is in pure Python and the \nhotshot can be seen as a small subset of a cProfile. The motivation to implement a new profiler is\nthat all of these profilers lacks the support of multi-threaded programs. If you want to profile a \nmulti-threaded application, you must give an entry point to these profilers and then maybe merge \nthe outputs. None of these profilers is designed to work on long-running multi-threaded application. \nWhile implementing a game server, it turns out that is is impossible to profile an application \nretrieve the statistics then stop and then start later on on the fly(without affecting the profiled\napplication). With the experience of implementing a game server in Python, we have identified most \nof the problems, tricky parts regarding profiler usage and so, we have come up with simple but \npowerful requirements.\n\nFeatures:\n===================\n* Ability to analyze per-thread information. (*new in 0.94*)\n* Ability to hook underlying threading model events/properties. (*new in 0.92*)\n* Decorator to profile individual functions easily. (*new in 0.92*)\n* Profiler results can be saved in callgrind and pstat formats. (new in 0.82) \n* Profiler results can be merged from different sessions on-the-fly. (new in 0.82)\n* Profiler results can be easily converted to pstats. (new in 0.82) \n* Supports profiling per-thread CPU time. See http://en.wikipedia.org/wiki/CPU_time for details. (new in 0.62)\n* Profiling of multithreaded Python applications transparently. \n* Profiler can be started from any thread at any time.\n* Ability to get statistics at any time without even stopping the profiler.\n* Various flags to arrange/sort profiler results.\n  \nLimitations:\n===================\n* Latest version of Yappi supports Python 2.6.x \u003c= x \u003c= Python.3.4\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrohoff%2Fyappi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrohoff%2Fyappi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrohoff%2Fyappi/lists"}