{"adoption": {"forks": 428, "observed_at": "2026-08-28T04:08:38.495951+00:00", "stars": 4183}, "canonical_url": "https://ross.abutalabs.com/products/pychatgpt", "card": {"archived": false, "artifact_type": "library", "description": "⚡️ Python client for the ChatGPT API with, conversation tracking, proxy support and more.", "domain": ["large-language-models", "chatbots", "developer-tools"], "enriched": true, "function": ["http-client", "chatbot", "llm-inference"], "health_score": 76, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["rawandahmad698/PyChatGPT"], "name": "rawandahmad698/PyChatGPT", "platform": ["python", "cli", "cross-platform"], "pushed_at": "2026-07-19T08:13:04+00:00", "repo": "rawandahmad698/PyChatGPT", "stars": 4183, "tags": ["chatgpt", "openai", "unofficial-api", "conversation-tracking", "proxy-support", "access-token", "command-line"], "topics": ["chatgpt", "openai", "python"], "urls": [], "use_cases": ["chat with chatgpt from the terminal in python", "save and resume chatgpt conversations across sessions", "use chatgpt through a proxy without a browser", "automatically get and refresh a chatgpt access token", "build a python script that talks to chatgpt"], "what_it_is": "PyChatGPT is a Python client and CLI for ChatGPT that reverse-engineers the ChatGPT web interface, handling automatic login, access token retrieval and refresh, conversation tracking, and proxy support. It wraps the unofficial web API rather than the official OpenAI API.", "when_to_avoid": ["you want the official OpenAI API - use the official openai Python package instead", "you need a maintained, reliable client - this project targets a deprecated unofficial endpoint and is no longer maintained"], "when_to_choose": ["you specifically need the old reverse-engineered ChatGPT web session flow with token auto-refresh", "you want conversation persistence and proxy support in a lightweight Python client"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pychatgpt", "repo": "rawandahmad698/PyChatGPT", "role": "main", "score": 74}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.495951+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:22:38.923600+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f681dce25fb259f83700358f16cfa0323bdb45d9651b7beee39fcbe11375c57d", "fetched_at": "2026-08-28T04:08:38.495951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rawandahmad698/PyChatGPT"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.495951+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:22:38.923600+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f681dce25fb259f83700358f16cfa0323bdb45d9651b7beee39fcbe11375c57d", "fetched_at": "2026-08-28T04:08:38.495951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rawandahmad698/PyChatGPT"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:22:38.923600+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f681dce25fb259f83700358f16cfa0323bdb45d9651b7beee39fcbe11375c57d", "fetched_at": "2026-08-28T04:08:38.495951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rawandahmad698/PyChatGPT"}], "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:08:38.495951+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.495951+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.495951+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:22:38.923600+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f681dce25fb259f83700358f16cfa0323bdb45d9651b7beee39fcbe11375c57d", "fetched_at": "2026-08-28T04:08:38.495951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rawandahmad698/PyChatGPT"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.495951+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.495951+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:22:38.923600+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f681dce25fb259f83700358f16cfa0323bdb45d9651b7beee39fcbe11375c57d", "fetched_at": "2026-08-28T04:08:38.495951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rawandahmad698/PyChatGPT"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.495951+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.495951+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.495951+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:22:38.923600+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f681dce25fb259f83700358f16cfa0323bdb45d9651b7beee39fcbe11375c57d", "fetched_at": "2026-08-28T04:08:38.495951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rawandahmad698/PyChatGPT"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.495951+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.495951+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:22:38.923600+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f681dce25fb259f83700358f16cfa0323bdb45d9651b7beee39fcbe11375c57d", "fetched_at": "2026-08-28T04:08:38.495951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rawandahmad698/PyChatGPT"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:22:38.923600+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f681dce25fb259f83700358f16cfa0323bdb45d9651b7beee39fcbe11375c57d", "fetched_at": "2026-08-28T04:08:38.495951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rawandahmad698/PyChatGPT"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:22:38.923600+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f681dce25fb259f83700358f16cfa0323bdb45d9651b7beee39fcbe11375c57d", "fetched_at": "2026-08-28T04:08:38.495951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rawandahmad698/PyChatGPT"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:22:38.923600+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f681dce25fb259f83700358f16cfa0323bdb45d9651b7beee39fcbe11375c57d", "fetched_at": "2026-08-28T04:08:38.495951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rawandahmad698/PyChatGPT"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 93, "longevity": 97, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1367, "days_push": 45, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 74, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}