{"adoption": {"forks": 119, "observed_at": "2026-08-28T04:04:45.991062+00:00", "stars": 1451}, "canonical_url": "https://ross.abutalabs.com/products/simonw-til", "card": {"archived": false, "artifact_type": "learning-resource", "description": "Today I Learned", "domain": ["developer-tools", "tutorials", "documentation", "awesome-lists"], "enriched": true, "function": ["documentation", "markdown", "search-engine"], "health_score": 77, "homepage": "https://til.simonwillison.net", "language": "HTML", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["simonw/til"], "name": "simonw/til", "platform": ["python", "cli"], "pushed_at": "2026-07-29T04:43:20+00:00", "repo": "simonw/til", "stars": 1451, "tags": ["til", "knowledge-base", "notes", "datasette", "simon-willison", "atom-feed", "web-server"], "topics": ["datasette", "til"], "urls": [], "use_cases": ["find a quick snippet for configuring GitHub Actions", "look up how to do something in SQLite or Datasette", "search notes about LLM tooling and MCP setup", "browse tips on Python packaging and uv", "subscribe to an Atom feed of new developer tips", "set up a similar TIL site with Datasette"], "what_it_is": "A collection of 580+ short 'Today I Learned' technical notes by Simon Willison, published as Markdown files in a GitHub repository and searchable at til.simonwillison.net via Datasette. Topics span Python, SQLite, LLMs, GitHub Actions, macOS, and many other developer tools.", "when_to_avoid": ["you need comprehensive tutorials or structured courses", "you need production-grade software rather than notes", "you need documentation for a specific tool's full API"], "when_to_choose": ["you want concise, practical notes on Python, SQLite, LLMs, or CI tooling", "you need a searchable reference of small developer how-tos", "you want inspiration for publishing your own TIL collection"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/simonw-til", "repo": "simonw/til", "role": "main", "score": 75}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.991062+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:35:52.879980+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfa26d65cdf8e8b457c90e19cf601f3797a48500a75bf171cedb7b54858ddeed", "fetched_at": "2026-08-28T04:04:45.991062+00:00", "kind": "readme", "missing": false, "url": "https://github.com/simonw/til"}, {"content_hash": "70ba6d743bcef5b12e4c5b384c36a36e7161b6d9c17c25c680e7e1ab18c28fed", "fetched_at": "2026-08-29T11:45:21.678226+00:00", "kind": "homepage", "missing": false, "url": "https://til.simonwillison.net"}, {"content_hash": "ffc0e770821d4ce845eb87f09583fe99bfb9c9333fb22319950647bae6d1f10e", "fetched_at": "2026-08-29T11:45:21.682394+00:00", "kind": "site_page", "missing": false, "url": "https://til.simonwillison.net/readthedocs"}, {"content_hash": "d5940cedcfa9dd20277f04345b87a7f90f1b4a8568939c7f630ca4d635b2fb8a", "fetched_at": "2026-08-29T11:45:21.685704+00:00", "kind": "site_page", "missing": false, "url": "https://til.simonwillison.net/jupyter/jupyterlab-uv-tool-install"}, {"content_hash": "992a7d9ffe26a1324b48f3e9910ae11db7d67f9da37df7eeebdffa41eefc7bb8", "fetched_at": "2026-08-29T11:45:21.684140+00:00", "kind": "site_page", "missing": false, "url": "https://simonwillison.net/2025/Feb/7/sqlite-s3vfs"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.991062+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:35:52.879980+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfa26d65cdf8e8b457c90e19cf601f3797a48500a75bf171cedb7b54858ddeed", "fetched_at": "2026-08-28T04:04:45.991062+00:00", "kind": "readme", "missing": false, "url": "https://github.com/simonw/til"}, {"content_hash": "70ba6d743bcef5b12e4c5b384c36a36e7161b6d9c17c25c680e7e1ab18c28fed", "fetched_at": "2026-08-29T11:45:21.678226+00:00", "kind": "homepage", "missing": false, "url": "https://til.simonwillison.net"}, {"content_hash": "ffc0e770821d4ce845eb87f09583fe99bfb9c9333fb22319950647bae6d1f10e", "fetched_at": "2026-08-29T11:45:21.682394+00:00", "kind": "site_page", "missing": false, "url": "https://til.simonwillison.net/readthedocs"}, {"content_hash": "d5940cedcfa9dd20277f04345b87a7f90f1b4a8568939c7f630ca4d635b2fb8a", "fetched_at": "2026-08-29T11:45:21.685704+00:00", "kind": "site_page", "missing": false, "url": "https://til.simonwillison.net/jupyter/jupyterlab-uv-tool-install"}, {"content_hash": "992a7d9ffe26a1324b48f3e9910ae11db7d67f9da37df7eeebdffa41eefc7bb8", "fetched_at": "2026-08-29T11:45:21.684140+00:00", "kind": "site_page", "missing": false, "url": "https://simonwillison.net/2025/Feb/7/sqlite-s3vfs"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:35:52.879980+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfa26d65cdf8e8b457c90e19cf601f3797a48500a75bf171cedb7b54858ddeed", "fetched_at": "2026-08-28T04:04:45.991062+00:00", "kind": "readme", "missing": false, "url": "https://github.com/simonw/til"}, {"content_hash": "70ba6d743bcef5b12e4c5b384c36a36e7161b6d9c17c25c680e7e1ab18c28fed", "fetched_at": "2026-08-29T11:45:21.678226+00:00", "kind": "homepage", "missing": false, "url": "https://til.simonwillison.net"}, {"content_hash": "ffc0e770821d4ce845eb87f09583fe99bfb9c9333fb22319950647bae6d1f10e", "fetched_at": "2026-08-29T11:45:21.682394+00:00", "kind": "site_page", "missing": false, "url": "https://til.simonwillison.net/readthedocs"}, {"content_hash": "d5940cedcfa9dd20277f04345b87a7f90f1b4a8568939c7f630ca4d635b2fb8a", "fetched_at": "2026-08-29T11:45:21.685704+00:00", "kind": "site_page", "missing": false, "url": "https://til.simonwillison.net/jupyter/jupyterlab-uv-tool-install"}, {"content_hash": "992a7d9ffe26a1324b48f3e9910ae11db7d67f9da37df7eeebdffa41eefc7bb8", "fetched_at": "2026-08-29T11:45:21.684140+00:00", "kind": "site_page", "missing": false, "url": "https://simonwillison.net/2025/Feb/7/sqlite-s3vfs"}], "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:04:45.991062+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.991062+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.991062+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:35:52.879980+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfa26d65cdf8e8b457c90e19cf601f3797a48500a75bf171cedb7b54858ddeed", "fetched_at": "2026-08-28T04:04:45.991062+00:00", "kind": "readme", "missing": false, "url": "https://github.com/simonw/til"}, {"content_hash": "70ba6d743bcef5b12e4c5b384c36a36e7161b6d9c17c25c680e7e1ab18c28fed", "fetched_at": "2026-08-29T11:45:21.678226+00:00", "kind": "homepage", "missing": false, "url": "https://til.simonwillison.net"}, {"content_hash": "ffc0e770821d4ce845eb87f09583fe99bfb9c9333fb22319950647bae6d1f10e", "fetched_at": "2026-08-29T11:45:21.682394+00:00", "kind": "site_page", "missing": false, "url": "https://til.simonwillison.net/readthedocs"}, {"content_hash": "d5940cedcfa9dd20277f04345b87a7f90f1b4a8568939c7f630ca4d635b2fb8a", "fetched_at": "2026-08-29T11:45:21.685704+00:00", "kind": "site_page", "missing": false, "url": "https://til.simonwillison.net/jupyter/jupyterlab-uv-tool-install"}, {"content_hash": "992a7d9ffe26a1324b48f3e9910ae11db7d67f9da37df7eeebdffa41eefc7bb8", "fetched_at": "2026-08-29T11:45:21.684140+00:00", "kind": "site_page", "missing": false, "url": "https://simonwillison.net/2025/Feb/7/sqlite-s3vfs"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.991062+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.991062+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:35:52.879980+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfa26d65cdf8e8b457c90e19cf601f3797a48500a75bf171cedb7b54858ddeed", "fetched_at": "2026-08-28T04:04:45.991062+00:00", "kind": "readme", "missing": false, "url": "https://github.com/simonw/til"}, {"content_hash": "70ba6d743bcef5b12e4c5b384c36a36e7161b6d9c17c25c680e7e1ab18c28fed", "fetched_at": "2026-08-29T11:45:21.678226+00:00", "kind": "homepage", "missing": false, "url": "https://til.simonwillison.net"}, {"content_hash": "ffc0e770821d4ce845eb87f09583fe99bfb9c9333fb22319950647bae6d1f10e", "fetched_at": "2026-08-29T11:45:21.682394+00:00", "kind": "site_page", "missing": false, "url": "https://til.simonwillison.net/readthedocs"}, {"content_hash": "d5940cedcfa9dd20277f04345b87a7f90f1b4a8568939c7f630ca4d635b2fb8a", "fetched_at": "2026-08-29T11:45:21.685704+00:00", "kind": "site_page", "missing": false, "url": "https://til.simonwillison.net/jupyter/jupyterlab-uv-tool-install"}, {"content_hash": "992a7d9ffe26a1324b48f3e9910ae11db7d67f9da37df7eeebdffa41eefc7bb8", "fetched_at": "2026-08-29T11:45:21.684140+00:00", "kind": "site_page", "missing": false, "url": "https://simonwillison.net/2025/Feb/7/sqlite-s3vfs"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.991062+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.991062+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.991062+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:35:52.879980+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfa26d65cdf8e8b457c90e19cf601f3797a48500a75bf171cedb7b54858ddeed", "fetched_at": "2026-08-28T04:04:45.991062+00:00", "kind": "readme", "missing": false, "url": "https://github.com/simonw/til"}, {"content_hash": "70ba6d743bcef5b12e4c5b384c36a36e7161b6d9c17c25c680e7e1ab18c28fed", "fetched_at": "2026-08-29T11:45:21.678226+00:00", "kind": "homepage", "missing": false, "url": "https://til.simonwillison.net"}, {"content_hash": "ffc0e770821d4ce845eb87f09583fe99bfb9c9333fb22319950647bae6d1f10e", "fetched_at": "2026-08-29T11:45:21.682394+00:00", "kind": "site_page", "missing": false, "url": "https://til.simonwillison.net/readthedocs"}, {"content_hash": "d5940cedcfa9dd20277f04345b87a7f90f1b4a8568939c7f630ca4d635b2fb8a", "fetched_at": "2026-08-29T11:45:21.685704+00:00", "kind": "site_page", "missing": false, "url": "https://til.simonwillison.net/jupyter/jupyterlab-uv-tool-install"}, {"content_hash": "992a7d9ffe26a1324b48f3e9910ae11db7d67f9da37df7eeebdffa41eefc7bb8", "fetched_at": "2026-08-29T11:45:21.684140+00:00", "kind": "site_page", "missing": false, "url": "https://simonwillison.net/2025/Feb/7/sqlite-s3vfs"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.991062+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.991062+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:35:52.879980+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfa26d65cdf8e8b457c90e19cf601f3797a48500a75bf171cedb7b54858ddeed", "fetched_at": "2026-08-28T04:04:45.991062+00:00", "kind": "readme", "missing": false, "url": "https://github.com/simonw/til"}, {"content_hash": "70ba6d743bcef5b12e4c5b384c36a36e7161b6d9c17c25c680e7e1ab18c28fed", "fetched_at": "2026-08-29T11:45:21.678226+00:00", "kind": "homepage", "missing": false, "url": "https://til.simonwillison.net"}, {"content_hash": "ffc0e770821d4ce845eb87f09583fe99bfb9c9333fb22319950647bae6d1f10e", "fetched_at": "2026-08-29T11:45:21.682394+00:00", "kind": "site_page", "missing": false, "url": "https://til.simonwillison.net/readthedocs"}, {"content_hash": "d5940cedcfa9dd20277f04345b87a7f90f1b4a8568939c7f630ca4d635b2fb8a", "fetched_at": "2026-08-29T11:45:21.685704+00:00", "kind": "site_page", "missing": false, "url": "https://til.simonwillison.net/jupyter/jupyterlab-uv-tool-install"}, {"content_hash": "992a7d9ffe26a1324b48f3e9910ae11db7d67f9da37df7eeebdffa41eefc7bb8", "fetched_at": "2026-08-29T11:45:21.684140+00:00", "kind": "site_page", "missing": false, "url": "https://simonwillison.net/2025/Feb/7/sqlite-s3vfs"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:35:52.879980+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfa26d65cdf8e8b457c90e19cf601f3797a48500a75bf171cedb7b54858ddeed", "fetched_at": "2026-08-28T04:04:45.991062+00:00", "kind": "readme", "missing": false, "url": "https://github.com/simonw/til"}, {"content_hash": "70ba6d743bcef5b12e4c5b384c36a36e7161b6d9c17c25c680e7e1ab18c28fed", "fetched_at": "2026-08-29T11:45:21.678226+00:00", "kind": "homepage", "missing": false, "url": "https://til.simonwillison.net"}, {"content_hash": "ffc0e770821d4ce845eb87f09583fe99bfb9c9333fb22319950647bae6d1f10e", "fetched_at": "2026-08-29T11:45:21.682394+00:00", "kind": "site_page", "missing": false, "url": "https://til.simonwillison.net/readthedocs"}, {"content_hash": "d5940cedcfa9dd20277f04345b87a7f90f1b4a8568939c7f630ca4d635b2fb8a", "fetched_at": "2026-08-29T11:45:21.685704+00:00", "kind": "site_page", "missing": false, "url": "https://til.simonwillison.net/jupyter/jupyterlab-uv-tool-install"}, {"content_hash": "992a7d9ffe26a1324b48f3e9910ae11db7d67f9da37df7eeebdffa41eefc7bb8", "fetched_at": "2026-08-29T11:45:21.684140+00:00", "kind": "site_page", "missing": false, "url": "https://simonwillison.net/2025/Feb/7/sqlite-s3vfs"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:35:52.879980+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfa26d65cdf8e8b457c90e19cf601f3797a48500a75bf171cedb7b54858ddeed", "fetched_at": "2026-08-28T04:04:45.991062+00:00", "kind": "readme", "missing": false, "url": "https://github.com/simonw/til"}, {"content_hash": "70ba6d743bcef5b12e4c5b384c36a36e7161b6d9c17c25c680e7e1ab18c28fed", "fetched_at": "2026-08-29T11:45:21.678226+00:00", "kind": "homepage", "missing": false, "url": "https://til.simonwillison.net"}, {"content_hash": "ffc0e770821d4ce845eb87f09583fe99bfb9c9333fb22319950647bae6d1f10e", "fetched_at": "2026-08-29T11:45:21.682394+00:00", "kind": "site_page", "missing": false, "url": "https://til.simonwillison.net/readthedocs"}, {"content_hash": "d5940cedcfa9dd20277f04345b87a7f90f1b4a8568939c7f630ca4d635b2fb8a", "fetched_at": "2026-08-29T11:45:21.685704+00:00", "kind": "site_page", "missing": false, "url": "https://til.simonwillison.net/jupyter/jupyterlab-uv-tool-install"}, {"content_hash": "992a7d9ffe26a1324b48f3e9910ae11db7d67f9da37df7eeebdffa41eefc7bb8", "fetched_at": "2026-08-29T11:45:21.684140+00:00", "kind": "site_page", "missing": false, "url": "https://simonwillison.net/2025/Feb/7/sqlite-s3vfs"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:35:52.879980+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfa26d65cdf8e8b457c90e19cf601f3797a48500a75bf171cedb7b54858ddeed", "fetched_at": "2026-08-28T04:04:45.991062+00:00", "kind": "readme", "missing": false, "url": "https://github.com/simonw/til"}, {"content_hash": "70ba6d743bcef5b12e4c5b384c36a36e7161b6d9c17c25c680e7e1ab18c28fed", "fetched_at": "2026-08-29T11:45:21.678226+00:00", "kind": "homepage", "missing": false, "url": "https://til.simonwillison.net"}, {"content_hash": "ffc0e770821d4ce845eb87f09583fe99bfb9c9333fb22319950647bae6d1f10e", "fetched_at": "2026-08-29T11:45:21.682394+00:00", "kind": "site_page", "missing": false, "url": "https://til.simonwillison.net/readthedocs"}, {"content_hash": "d5940cedcfa9dd20277f04345b87a7f90f1b4a8568939c7f630ca4d635b2fb8a", "fetched_at": "2026-08-29T11:45:21.685704+00:00", "kind": "site_page", "missing": false, "url": "https://til.simonwillison.net/jupyter/jupyterlab-uv-tool-install"}, {"content_hash": "992a7d9ffe26a1324b48f3e9910ae11db7d67f9da37df7eeebdffa41eefc7bb8", "fetched_at": "2026-08-29T11:45:21.684140+00:00", "kind": "site_page", "missing": false, "url": "https://simonwillison.net/2025/Feb/7/sqlite-s3vfs"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 95, "longevity": 100, "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": 2327, "days_push": 35, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 75, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}