{"adoption": {"forks": 2364, "observed_at": "2026-08-28T04:10:07.989870+00:00", "stars": 7864}, "canonical_url": "https://ross.abutalabs.com/products/pythonstock-stock", "card": {"archived": false, "artifact_type": "application", "description": "stock，股票系统。使用python进行开发。", "domain": ["fintech", "data-science", "data-visualization", "web-development", "analytics"], "enriched": true, "function": ["data-science", "data-visualization", "web-framework", "etl", "analytics", "scheduling"], "health_score": 80, "homepage": null, "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["pythonstock/stock"], "name": "pythonstock/stock", "platform": ["python", "self-hosted"], "pushed_at": "2026-05-07T07:42:21+00:00", "repo": "pythonstock/stock", "stars": 7864, "tags": ["stock-analysis", "akshare", "tornado", "bokeh", "technical-indicators", "china-stock-market", "docker-compose", "vue", "mariadb", "docker", "web-server", "linux"], "topics": [], "urls": [], "use_cases": ["scrape and store daily China A-share stock data", "compute technical indicators like KDJ, RSI, and CR for stocks", "view stock charts and indicator plots with Bokeh", "track dragon-tiger list and block trade data", "run scheduled daily stock data calculations with cron", "self-host a stock data analysis dashboard with docker-compose"], "what_it_is": "A full-stack stock analysis system built in Python using pandas, akshare, bokeh, stockstats, ta-lib, and tornado, deployed via Docker and docker-compose. It fetches daily China A-share market data, computes 17 technical indicators (KDJ, RSI, CR, volume delta, etc.), stores them in MariaDB, and presents them through a Vue frontend with configurable data display and Bokeh charts.", "when_to_avoid": ["you need real-time trading or live market data", "you need markets outside China's A-share market", "you expect investment advice or profitable signals - the project is for learning only"], "when_to_choose": ["you want a ready-made, Docker-deployable system for Chinese stock market data and indicator analysis", "you are learning Python data analysis with pandas, akshare, and bokeh on real stock data", "you need scheduled daily fetching and computation of stock indicators"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pythonstock-stock", "repo": "pythonstock/stock", "role": "main", "score": 59}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:07.989870+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:33:45.784291+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5674956353e23d09f6c658cdd631f085cca1094295ad4451949470c0426fab9", "fetched_at": "2026-08-28T04:10:07.989870+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pythonstock/stock"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:07.989870+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:33:45.784291+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5674956353e23d09f6c658cdd631f085cca1094295ad4451949470c0426fab9", "fetched_at": "2026-08-28T04:10:07.989870+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pythonstock/stock"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:33:45.784291+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5674956353e23d09f6c658cdd631f085cca1094295ad4451949470c0426fab9", "fetched_at": "2026-08-28T04:10:07.989870+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pythonstock/stock"}], "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:10:07.989870+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:07.989870+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:07.989870+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:33:45.784291+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5674956353e23d09f6c658cdd631f085cca1094295ad4451949470c0426fab9", "fetched_at": "2026-08-28T04:10:07.989870+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pythonstock/stock"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:07.989870+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:07.989870+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:33:45.784291+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5674956353e23d09f6c658cdd631f085cca1094295ad4451949470c0426fab9", "fetched_at": "2026-08-28T04:10:07.989870+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pythonstock/stock"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:07.989870+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:07.989870+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:07.989870+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:33:45.784291+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5674956353e23d09f6c658cdd631f085cca1094295ad4451949470c0426fab9", "fetched_at": "2026-08-28T04:10:07.989870+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pythonstock/stock"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:07.989870+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:07.989870+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:33:45.784291+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5674956353e23d09f6c658cdd631f085cca1094295ad4451949470c0426fab9", "fetched_at": "2026-08-28T04:10:07.989870+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pythonstock/stock"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:33:45.784291+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5674956353e23d09f6c658cdd631f085cca1094295ad4451949470c0426fab9", "fetched_at": "2026-08-28T04:10:07.989870+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pythonstock/stock"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:33:45.784291+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5674956353e23d09f6c658cdd631f085cca1094295ad4451949470c0426fab9", "fetched_at": "2026-08-28T04:10:07.989870+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pythonstock/stock"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:33:45.784291+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5674956353e23d09f6c658cdd631f085cca1094295ad4451949470c0426fab9", "fetched_at": "2026-08-28T04:10:07.989870+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pythonstock/stock"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 81, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3334, "days_push": 118, "days_rel": 550, "gap_med": null, "n_releases_24m": 1}, "score": 59, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}