{"adoption": {"forks": 101, "observed_at": "2026-08-28T04:05:02.118743+00:00", "stars": 1550}, "canonical_url": "https://ross.abutalabs.com/products/littledivy-mimic", "card": {"archived": false, "artifact_type": "library", "description": "Intercept any app, then call it from Python like a library", "domain": ["developer-tools", "apis", "reverse-engineering"], "enriched": true, "function": ["http-client", "web-scraping", "sdk", "developer-tools", "security"], "health_score": 77, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["littledivy/mimic"], "name": "littledivy/mimic", "platform": ["python", "cli"], "pushed_at": "2026-07-26T16:04:20+00:00", "repo": "littledivy/mimic", "stars": 1550, "tags": ["api-client-generation", "traffic-capture", "mitmproxy", "reverse-engineered-apis", "codegen", "mobile-apis", "automation", "macos"], "topics": [], "urls": [], "use_cases": ["call a mobile app's private API from Python like a library", "generate a Python client for an undocumented API by capturing traffic", "replay app requests with captured bearer tokens and session cookies", "automate actions in an iOS app programmatically", "script against an API that has no official SDK", "capture and reuse auth headers from mitmproxy flows"], "what_it_is": "mimic is a Python tool that captures traffic from mobile or web apps via mitmproxy, extracts authentication material, and uses AI to generate a plain Python client library for the app's private API. It also provides a hand-rolled Session class for building requests from captured mitm flows or 'Copy as cURL' data.", "when_to_avoid": ["you need a supported, sanctioned integration with a service that offers an official API", "you can't or won't install a trusted MITM proxy certificate", "the target app uses certificate pinning or heavily rotating request signing", "you need production-grade reliability or legal clearance for API automation"], "when_to_choose": ["you want to script or automate an app whose API is undocumented", "you need a quick Python client generated from real captured traffic", "you're comfortable with mitmproxy certificate setup on iOS or desktop", "you want editable, plain-Python generated clients rather than a black box"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/littledivy-mimic", "repo": "littledivy/mimic", "role": "main", "score": 55}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.118743+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:30:19.482845+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b6eb8d16f6cb4d3a3aa0bf81cc5c8393c910a51ac26b6ba61197e5b2c3395c4d", "fetched_at": "2026-08-28T04:05:02.118743+00:00", "kind": "readme", "missing": false, "url": "https://github.com/littledivy/mimic"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.118743+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:30:19.482845+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b6eb8d16f6cb4d3a3aa0bf81cc5c8393c910a51ac26b6ba61197e5b2c3395c4d", "fetched_at": "2026-08-28T04:05:02.118743+00:00", "kind": "readme", "missing": false, "url": "https://github.com/littledivy/mimic"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:30:19.482845+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b6eb8d16f6cb4d3a3aa0bf81cc5c8393c910a51ac26b6ba61197e5b2c3395c4d", "fetched_at": "2026-08-28T04:05:02.118743+00:00", "kind": "readme", "missing": false, "url": "https://github.com/littledivy/mimic"}], "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:05:02.118743+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.118743+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.118743+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:30:19.482845+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b6eb8d16f6cb4d3a3aa0bf81cc5c8393c910a51ac26b6ba61197e5b2c3395c4d", "fetched_at": "2026-08-28T04:05:02.118743+00:00", "kind": "readme", "missing": false, "url": "https://github.com/littledivy/mimic"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.118743+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.118743+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:30:19.482845+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b6eb8d16f6cb4d3a3aa0bf81cc5c8393c910a51ac26b6ba61197e5b2c3395c4d", "fetched_at": "2026-08-28T04:05:02.118743+00:00", "kind": "readme", "missing": false, "url": "https://github.com/littledivy/mimic"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.118743+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.118743+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.118743+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:30:19.482845+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b6eb8d16f6cb4d3a3aa0bf81cc5c8393c910a51ac26b6ba61197e5b2c3395c4d", "fetched_at": "2026-08-28T04:05:02.118743+00:00", "kind": "readme", "missing": false, "url": "https://github.com/littledivy/mimic"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.118743+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.118743+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:30:19.482845+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b6eb8d16f6cb4d3a3aa0bf81cc5c8393c910a51ac26b6ba61197e5b2c3395c4d", "fetched_at": "2026-08-28T04:05:02.118743+00:00", "kind": "readme", "missing": false, "url": "https://github.com/littledivy/mimic"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:30:19.482845+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b6eb8d16f6cb4d3a3aa0bf81cc5c8393c910a51ac26b6ba61197e5b2c3395c4d", "fetched_at": "2026-08-28T04:05:02.118743+00:00", "kind": "readme", "missing": false, "url": "https://github.com/littledivy/mimic"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:30:19.482845+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b6eb8d16f6cb4d3a3aa0bf81cc5c8393c910a51ac26b6ba61197e5b2c3395c4d", "fetched_at": "2026-08-28T04:05:02.118743+00:00", "kind": "readme", "missing": false, "url": "https://github.com/littledivy/mimic"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:30:19.482845+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b6eb8d16f6cb4d3a3aa0bf81cc5c8393c910a51ac26b6ba61197e5b2c3395c4d", "fetched_at": "2026-08-28T04:05:02.118743+00:00", "kind": "readme", "missing": false, "url": "https://github.com/littledivy/mimic"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 94, "longevity": 3, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 51, "days_push": 38, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 55, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}