{"adoption": {"forks": 240, "observed_at": "2026-08-28T04:07:33.871723+00:00", "stars": 2982}, "canonical_url": "https://ross.abutalabs.com/products/pyflame", "card": {"archived": true, "artifact_type": "cli-tool", "description": "🔥 Pyflame: A Ptracing Profiler For Python. This project is deprecated and not maintained.", "domain": ["developer-tools", "performance"], "enriched": true, "function": ["benchmarking", "monitoring", "developer-tools"], "health_score": 10, "homepage": null, "language": "C++", "license": "Apache-2.0", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["uber-archive/pyflame"], "name": "uber-archive/pyflame", "platform": ["cpp", "python", "cli"], "pushed_at": "2019-12-03T07:08:22+00:00", "repo": "uber-archive/pyflame", "stars": 2982, "tags": ["profiler", "flame-graphs", "ptrace", "sampling-profiler", "python-profiling", "deprecated", "command-line", "linux", "docker"], "topics": ["ptrace", "uwsgi", "flame-charts", "fedora", "docker", "debian", "profiler", "python"], "urls": [], "use_cases": ["profile a running python process in production", "generate flame graphs for python code", "profile python program without modifying source code", "profile uwsgi embedded python interpreter", "profile multithreaded python application", "find cpu hotspots in python service"], "what_it_is": "Pyflame is a high-performance sampling profiler for Python implemented in C++ that uses Linux ptrace to capture call stacks without instrumentation, producing flame graph data. It can attach to running processes (including embedded interpreters like uWSGI) with low overhead, but the project is deprecated and unmaintained.", "when_to_avoid": ["you're on macOS or Windows - it relies on Linux ptrace", "you want a maintained tool with support for modern Python versions", "you need memory profiling rather than CPU/call-stack sampling"], "when_to_choose": ["you need to attach to an already-running Python process on Linux without instrumentation", "you need low-overhead production profiling with flame graph output", "you're profiling embedded interpreters like uWSGI on an older Python stack"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pyflame", "repo": "uber-archive/pyflame", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.871723+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:31:28.827285+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3427e5e02d499655078d3145e08771a6d11ae8b13ceb3dc0dcf2a8de797d9e56", "fetched_at": "2026-08-28T04:07:33.871723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber-archive/pyflame"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.871723+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:31:28.827285+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3427e5e02d499655078d3145e08771a6d11ae8b13ceb3dc0dcf2a8de797d9e56", "fetched_at": "2026-08-28T04:07:33.871723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber-archive/pyflame"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:31:28.827285+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3427e5e02d499655078d3145e08771a6d11ae8b13ceb3dc0dcf2a8de797d9e56", "fetched_at": "2026-08-28T04:07:33.871723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber-archive/pyflame"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.871723+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.871723+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.871723+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:31:28.827285+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3427e5e02d499655078d3145e08771a6d11ae8b13ceb3dc0dcf2a8de797d9e56", "fetched_at": "2026-08-28T04:07:33.871723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber-archive/pyflame"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.871723+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.871723+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:31:28.827285+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3427e5e02d499655078d3145e08771a6d11ae8b13ceb3dc0dcf2a8de797d9e56", "fetched_at": "2026-08-28T04:07:33.871723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber-archive/pyflame"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.871723+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.871723+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.871723+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:31:28.827285+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3427e5e02d499655078d3145e08771a6d11ae8b13ceb3dc0dcf2a8de797d9e56", "fetched_at": "2026-08-28T04:07:33.871723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber-archive/pyflame"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.871723+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.871723+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:31:28.827285+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3427e5e02d499655078d3145e08771a6d11ae8b13ceb3dc0dcf2a8de797d9e56", "fetched_at": "2026-08-28T04:07:33.871723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber-archive/pyflame"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:31:28.827285+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3427e5e02d499655078d3145e08771a6d11ae8b13ceb3dc0dcf2a8de797d9e56", "fetched_at": "2026-08-28T04:07:33.871723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber-archive/pyflame"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:31:28.827285+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3427e5e02d499655078d3145e08771a6d11ae8b13ceb3dc0dcf2a8de797d9e56", "fetched_at": "2026-08-28T04:07:33.871723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber-archive/pyflame"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:31:28.827285+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3427e5e02d499655078d3145e08771a6d11ae8b13ceb3dc0dcf2a8de797d9e56", "fetched_at": "2026-08-28T04:07:33.871723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/uber-archive/pyflame"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3676, "days_push": 2465, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}