{"adoption": {"forks": 1099, "observed_at": "2026-08-28T04:06:55.540359+00:00", "stars": 2485}, "canonical_url": "https://ross.abutalabs.com/products/byte-of-python", "card": {"archived": false, "artifact_type": "learning-resource", "description": "Beginners book on Python - start here if you don't know programming", "domain": ["programming-languages", "tutorials", "education"], "enriched": true, "function": ["documentation", "developer-tools"], "health_score": 98, "homepage": "https://python.swaroopch.com/", "language": "Python", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["swaroopch/byte-of-python"], "name": "swaroopch/byte-of-python", "platform": ["cross-platform", "python"], "pushed_at": "2026-08-04T04:23:06+00:00", "repo": "swaroopch/byte-of-python", "stars": 2485, "tags": ["python-book", "beginner-tutorial", "free-book", "learn-to-program"], "topics": ["python", "tutorial", "book", "beginner-friendly"], "urls": [], "use_cases": ["learn python from scratch", "beginner book on programming", "python tutorial for non-programmers", "teach myself python 3", "free python book for beginners", "introduction to programming with python"], "what_it_is": "A Byte of Python is a free, open-source book that teaches programming using Python 3, aimed at complete beginners. It is written in Markdown/GitBook format and available to read online at python.swaroopch.com.", "when_to_avoid": ["you are an experienced programmer seeking advanced or idiomatic Python material", "you need interactive exercises or hands-on coding practice rather than prose", "you need a license-cleared resource for redistribution, since the repo lists no license"], "when_to_choose": ["you have never programmed before and want a gentle introduction", "you want a free, well-regarded text-based Python tutorial", "you prefer reading a structured book over video courses"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/byte-of-python", "repo": "swaroopch/byte-of-python", "role": "main", "score": 93}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.540359+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:28:04.798330+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e36a57b4b1ff55faf39d78fd67aa4cbb2023442c048c15fa84c144f592edf19a", "fetched_at": "2026-08-28T04:06:55.540359+00:00", "kind": "readme", "missing": false, "url": "https://github.com/swaroopch/byte-of-python"}, {"content_hash": "9fd9f41b4e76d7b6e7e59812124d2c0ccf2249a9dc6981cb1e6301b45e7f7099", "fetched_at": "2026-08-29T10:10:15.163538+00:00", "kind": "homepage", "missing": false, "url": "https://python.swaroopch.com/"}, {"content_hash": "a475a0d4fbc30a0a4ea5cf8ef65daacacbab5effb43de0d50f3b127cc9e30367", "fetched_at": "2026-08-29T10:10:15.173175+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/about_python.html"}, {"content_hash": "f4595ff71a75d8a4f0e95580da9f35fac106bd7afb644bd63dff2f5c8ab17b68", "fetched_at": "2026-08-29T10:10:15.175320+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/installation.html"}, {"content_hash": "4bb43fa6e358da392ffe118cf005788b5cd2bbfdd6e7e419707b48f143e09712", "fetched_at": "2026-08-29T10:10:15.177151+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/about.html"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.540359+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:28:04.798330+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e36a57b4b1ff55faf39d78fd67aa4cbb2023442c048c15fa84c144f592edf19a", "fetched_at": "2026-08-28T04:06:55.540359+00:00", "kind": "readme", "missing": false, "url": "https://github.com/swaroopch/byte-of-python"}, {"content_hash": "9fd9f41b4e76d7b6e7e59812124d2c0ccf2249a9dc6981cb1e6301b45e7f7099", "fetched_at": "2026-08-29T10:10:15.163538+00:00", "kind": "homepage", "missing": false, "url": "https://python.swaroopch.com/"}, {"content_hash": "a475a0d4fbc30a0a4ea5cf8ef65daacacbab5effb43de0d50f3b127cc9e30367", "fetched_at": "2026-08-29T10:10:15.173175+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/about_python.html"}, {"content_hash": "f4595ff71a75d8a4f0e95580da9f35fac106bd7afb644bd63dff2f5c8ab17b68", "fetched_at": "2026-08-29T10:10:15.175320+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/installation.html"}, {"content_hash": "4bb43fa6e358da392ffe118cf005788b5cd2bbfdd6e7e419707b48f143e09712", "fetched_at": "2026-08-29T10:10:15.177151+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/about.html"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:28:04.798330+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e36a57b4b1ff55faf39d78fd67aa4cbb2023442c048c15fa84c144f592edf19a", "fetched_at": "2026-08-28T04:06:55.540359+00:00", "kind": "readme", "missing": false, "url": "https://github.com/swaroopch/byte-of-python"}, {"content_hash": "9fd9f41b4e76d7b6e7e59812124d2c0ccf2249a9dc6981cb1e6301b45e7f7099", "fetched_at": "2026-08-29T10:10:15.163538+00:00", "kind": "homepage", "missing": false, "url": "https://python.swaroopch.com/"}, {"content_hash": "a475a0d4fbc30a0a4ea5cf8ef65daacacbab5effb43de0d50f3b127cc9e30367", "fetched_at": "2026-08-29T10:10:15.173175+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/about_python.html"}, {"content_hash": "f4595ff71a75d8a4f0e95580da9f35fac106bd7afb644bd63dff2f5c8ab17b68", "fetched_at": "2026-08-29T10:10:15.175320+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/installation.html"}, {"content_hash": "4bb43fa6e358da392ffe118cf005788b5cd2bbfdd6e7e419707b48f143e09712", "fetched_at": "2026-08-29T10:10:15.177151+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/about.html"}], "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:06:55.540359+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.540359+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.540359+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:28:04.798330+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e36a57b4b1ff55faf39d78fd67aa4cbb2023442c048c15fa84c144f592edf19a", "fetched_at": "2026-08-28T04:06:55.540359+00:00", "kind": "readme", "missing": false, "url": "https://github.com/swaroopch/byte-of-python"}, {"content_hash": "9fd9f41b4e76d7b6e7e59812124d2c0ccf2249a9dc6981cb1e6301b45e7f7099", "fetched_at": "2026-08-29T10:10:15.163538+00:00", "kind": "homepage", "missing": false, "url": "https://python.swaroopch.com/"}, {"content_hash": "a475a0d4fbc30a0a4ea5cf8ef65daacacbab5effb43de0d50f3b127cc9e30367", "fetched_at": "2026-08-29T10:10:15.173175+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/about_python.html"}, {"content_hash": "f4595ff71a75d8a4f0e95580da9f35fac106bd7afb644bd63dff2f5c8ab17b68", "fetched_at": "2026-08-29T10:10:15.175320+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/installation.html"}, {"content_hash": "4bb43fa6e358da392ffe118cf005788b5cd2bbfdd6e7e419707b48f143e09712", "fetched_at": "2026-08-29T10:10:15.177151+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/about.html"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.540359+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.540359+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:28:04.798330+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e36a57b4b1ff55faf39d78fd67aa4cbb2023442c048c15fa84c144f592edf19a", "fetched_at": "2026-08-28T04:06:55.540359+00:00", "kind": "readme", "missing": false, "url": "https://github.com/swaroopch/byte-of-python"}, {"content_hash": "9fd9f41b4e76d7b6e7e59812124d2c0ccf2249a9dc6981cb1e6301b45e7f7099", "fetched_at": "2026-08-29T10:10:15.163538+00:00", "kind": "homepage", "missing": false, "url": "https://python.swaroopch.com/"}, {"content_hash": "a475a0d4fbc30a0a4ea5cf8ef65daacacbab5effb43de0d50f3b127cc9e30367", "fetched_at": "2026-08-29T10:10:15.173175+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/about_python.html"}, {"content_hash": "f4595ff71a75d8a4f0e95580da9f35fac106bd7afb644bd63dff2f5c8ab17b68", "fetched_at": "2026-08-29T10:10:15.175320+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/installation.html"}, {"content_hash": "4bb43fa6e358da392ffe118cf005788b5cd2bbfdd6e7e419707b48f143e09712", "fetched_at": "2026-08-29T10:10:15.177151+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/about.html"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.540359+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.540359+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.540359+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:28:04.798330+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e36a57b4b1ff55faf39d78fd67aa4cbb2023442c048c15fa84c144f592edf19a", "fetched_at": "2026-08-28T04:06:55.540359+00:00", "kind": "readme", "missing": false, "url": "https://github.com/swaroopch/byte-of-python"}, {"content_hash": "9fd9f41b4e76d7b6e7e59812124d2c0ccf2249a9dc6981cb1e6301b45e7f7099", "fetched_at": "2026-08-29T10:10:15.163538+00:00", "kind": "homepage", "missing": false, "url": "https://python.swaroopch.com/"}, {"content_hash": "a475a0d4fbc30a0a4ea5cf8ef65daacacbab5effb43de0d50f3b127cc9e30367", "fetched_at": "2026-08-29T10:10:15.173175+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/about_python.html"}, {"content_hash": "f4595ff71a75d8a4f0e95580da9f35fac106bd7afb644bd63dff2f5c8ab17b68", "fetched_at": "2026-08-29T10:10:15.175320+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/installation.html"}, {"content_hash": "4bb43fa6e358da392ffe118cf005788b5cd2bbfdd6e7e419707b48f143e09712", "fetched_at": "2026-08-29T10:10:15.177151+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/about.html"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.540359+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.540359+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:28:04.798330+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e36a57b4b1ff55faf39d78fd67aa4cbb2023442c048c15fa84c144f592edf19a", "fetched_at": "2026-08-28T04:06:55.540359+00:00", "kind": "readme", "missing": false, "url": "https://github.com/swaroopch/byte-of-python"}, {"content_hash": "9fd9f41b4e76d7b6e7e59812124d2c0ccf2249a9dc6981cb1e6301b45e7f7099", "fetched_at": "2026-08-29T10:10:15.163538+00:00", "kind": "homepage", "missing": false, "url": "https://python.swaroopch.com/"}, {"content_hash": "a475a0d4fbc30a0a4ea5cf8ef65daacacbab5effb43de0d50f3b127cc9e30367", "fetched_at": "2026-08-29T10:10:15.173175+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/about_python.html"}, {"content_hash": "f4595ff71a75d8a4f0e95580da9f35fac106bd7afb644bd63dff2f5c8ab17b68", "fetched_at": "2026-08-29T10:10:15.175320+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/installation.html"}, {"content_hash": "4bb43fa6e358da392ffe118cf005788b5cd2bbfdd6e7e419707b48f143e09712", "fetched_at": "2026-08-29T10:10:15.177151+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/about.html"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:28:04.798330+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e36a57b4b1ff55faf39d78fd67aa4cbb2023442c048c15fa84c144f592edf19a", "fetched_at": "2026-08-28T04:06:55.540359+00:00", "kind": "readme", "missing": false, "url": "https://github.com/swaroopch/byte-of-python"}, {"content_hash": "9fd9f41b4e76d7b6e7e59812124d2c0ccf2249a9dc6981cb1e6301b45e7f7099", "fetched_at": "2026-08-29T10:10:15.163538+00:00", "kind": "homepage", "missing": false, "url": "https://python.swaroopch.com/"}, {"content_hash": "a475a0d4fbc30a0a4ea5cf8ef65daacacbab5effb43de0d50f3b127cc9e30367", "fetched_at": "2026-08-29T10:10:15.173175+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/about_python.html"}, {"content_hash": "f4595ff71a75d8a4f0e95580da9f35fac106bd7afb644bd63dff2f5c8ab17b68", "fetched_at": "2026-08-29T10:10:15.175320+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/installation.html"}, {"content_hash": "4bb43fa6e358da392ffe118cf005788b5cd2bbfdd6e7e419707b48f143e09712", "fetched_at": "2026-08-29T10:10:15.177151+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/about.html"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:28:04.798330+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e36a57b4b1ff55faf39d78fd67aa4cbb2023442c048c15fa84c144f592edf19a", "fetched_at": "2026-08-28T04:06:55.540359+00:00", "kind": "readme", "missing": false, "url": "https://github.com/swaroopch/byte-of-python"}, {"content_hash": "9fd9f41b4e76d7b6e7e59812124d2c0ccf2249a9dc6981cb1e6301b45e7f7099", "fetched_at": "2026-08-29T10:10:15.163538+00:00", "kind": "homepage", "missing": false, "url": "https://python.swaroopch.com/"}, {"content_hash": "a475a0d4fbc30a0a4ea5cf8ef65daacacbab5effb43de0d50f3b127cc9e30367", "fetched_at": "2026-08-29T10:10:15.173175+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/about_python.html"}, {"content_hash": "f4595ff71a75d8a4f0e95580da9f35fac106bd7afb644bd63dff2f5c8ab17b68", "fetched_at": "2026-08-29T10:10:15.175320+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/installation.html"}, {"content_hash": "4bb43fa6e358da392ffe118cf005788b5cd2bbfdd6e7e419707b48f143e09712", "fetched_at": "2026-08-29T10:10:15.177151+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/about.html"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:28:04.798330+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e36a57b4b1ff55faf39d78fd67aa4cbb2023442c048c15fa84c144f592edf19a", "fetched_at": "2026-08-28T04:06:55.540359+00:00", "kind": "readme", "missing": false, "url": "https://github.com/swaroopch/byte-of-python"}, {"content_hash": "9fd9f41b4e76d7b6e7e59812124d2c0ccf2249a9dc6981cb1e6301b45e7f7099", "fetched_at": "2026-08-29T10:10:15.163538+00:00", "kind": "homepage", "missing": false, "url": "https://python.swaroopch.com/"}, {"content_hash": "a475a0d4fbc30a0a4ea5cf8ef65daacacbab5effb43de0d50f3b127cc9e30367", "fetched_at": "2026-08-29T10:10:15.173175+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/about_python.html"}, {"content_hash": "f4595ff71a75d8a4f0e95580da9f35fac106bd7afb644bd63dff2f5c8ab17b68", "fetched_at": "2026-08-29T10:10:15.175320+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/installation.html"}, {"content_hash": "4bb43fa6e358da392ffe118cf005788b5cd2bbfdd6e7e419707b48f143e09712", "fetched_at": "2026-08-29T10:10:15.177151+00:00", "kind": "site_page", "missing": false, "url": "https://python.swaroopch.com/about.html"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 100, "rhythm": 84}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5052, "days_push": 29, "days_rel": 29, "gap_med": 84, "n_releases_24m": 4}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}