{"adoption": {"forks": 886, "observed_at": "2026-08-28T04:11:14.525155+00:00", "stars": 15944}, "canonical_url": "https://ross.abutalabs.com/products/pygwalker", "card": {"archived": false, "artifact_type": "library", "description": "PyGWalker: Turn your dataframe into an interactive UI for visual analysis", "domain": ["data-visualization", "data-science", "developer-tools"], "enriched": true, "function": ["data-visualization", "nlp"], "health_score": 96, "homepage": "https://kanaries.net/pygwalker", "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["Kanaries/pygwalker", "Kanaries/graphic-walker"], "name": "PyGWalker", "platform": ["python", "cross-platform"], "pushed_at": "2026-08-10T21:29:13+00:00", "repo": "Kanaries/pygwalker", "stars": 15944, "tags": ["jupyter", "pandas", "tableau-alternative", "exploratory-data-analysis", "dataframe", "drag-and-drop", "streamlit"], "topics": ["data-analysis", "pandas", "tableau", "tableau-alternative", "visualization", "data-exploration", "dataframe", "matplotlib", "plotly"], "urls": [{"kind": "homepage", "url": "https://kanaries.net/pygwalker"}, {"kind": "site_page", "url": "https://docs.kanaries.net/"}, {"kind": "site_page", "url": "https://kanaries.net/subscribe"}, {"kind": "site_page", "url": "https://kanaries.net/features"}, {"kind": "site_page", "url": "https://docs.kanaries.net/pygwalker"}], "use_cases": ["explore a pandas dataframe interactively in jupyter", "open-source tableau alternative for notebooks", "make charts by dragging and dropping fields instead of writing matplotlib code", "clean outliers from a dataframe with an eraser tool", "visualize geographic data on interactive maps", "embed interactive data visualization in streamlit apps", "query my data with natural language to get charts"], "what_it_is": "PyGWalker is a Python library that turns pandas (or Polars/Arrow) dataframes into an interactive drag-and-drop visual analysis UI inside Jupyter Notebooks, powered by Graphic Walker, an open-source Tableau alternative. It supports visualization, data cleaning, annotation, and natural-language-driven exploration with one line of code.", "when_to_avoid": ["you need publication-quality programmatically reproducible plots like matplotlib or plotly", "you need fully automated dashboard pipelines rather than interactive exploration", "you work outside notebook or Python environments (consider GWalkR for R or PyGWalker Desktop)"], "when_to_choose": ["you work in Jupyter and want fast no-code exploratory data analysis", "you want Tableau-style drag-and-drop visualization without leaving Python", "you need to clean or annotate data visually during analysis", "you want to embed interactive visual exploration in Streamlit or share analysis apps"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/repos/Kanaries/pygwalker", "repo": "Kanaries/pygwalker", "role": "main", "score": 81}, {"path": "/repos/Kanaries/graphic-walker", "repo": "Kanaries/graphic-walker", "role": "frontend", "score": 79}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.525155+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:05:19.196329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "159c9cbb22b2511bdb550b93d5b5315f674246c36be21a0b775cdcbd7f4b6cf7", "fetched_at": "2026-08-28T04:11:14.525155+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kanaries/pygwalker"}, {"content_hash": "00ba49e1c71d6410df9d46958b66e73ca862db2d20ffe3ff12d5b9b56ed84c12", "fetched_at": "2026-08-29T08:03:41.426326+00:00", "kind": "homepage", "missing": false, "url": "https://kanaries.net/pygwalker"}, {"content_hash": "9796863256e6ba0d805c15f87a46c3d0af4ce1822234c6c2e22b866d6da511c1", "fetched_at": "2026-08-29T08:03:41.430238+00:00", "kind": "site_page", "missing": false, "url": "https://docs.kanaries.net/"}, {"content_hash": "11f0347ac9f830a2ae5c9c2a007e82675b82eca767cca2de3f015405dd3ad17e", "fetched_at": "2026-08-29T08:03:41.435827+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/features"}, {"content_hash": "a44cba1a8a105d43b93841e097cb7933ce68e4e029d89cf5eeae93ea38713086", "fetched_at": "2026-08-29T08:03:41.437725+00:00", "kind": "site_page", "missing": false, "url": "https://docs.kanaries.net/pygwalker"}, {"content_hash": "13f89397358a5c0e7e88b4a8f3acaeec6bf5e3b8d7c9db5ee40f8e6c5d2667ef", "fetched_at": "2026-08-29T08:03:41.441486+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pygwalker/json"}, {"content_hash": "83b8f046e5be182014be4ead3d3c5a71bac66219e97afcae6b58999b52db52c1", "fetched_at": "2026-08-29T08:03:41.433811+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/subscribe"}, {"content_hash": "3e76743d11d46f0b400466ce91a45c5f10b2aa200e056518eb61187b51e3bf0c", "fetched_at": "2026-08-29T08:03:41.439786+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/integrations"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.525155+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:05:19.196329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "159c9cbb22b2511bdb550b93d5b5315f674246c36be21a0b775cdcbd7f4b6cf7", "fetched_at": "2026-08-28T04:11:14.525155+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kanaries/pygwalker"}, {"content_hash": "00ba49e1c71d6410df9d46958b66e73ca862db2d20ffe3ff12d5b9b56ed84c12", "fetched_at": "2026-08-29T08:03:41.426326+00:00", "kind": "homepage", "missing": false, "url": "https://kanaries.net/pygwalker"}, {"content_hash": "9796863256e6ba0d805c15f87a46c3d0af4ce1822234c6c2e22b866d6da511c1", "fetched_at": "2026-08-29T08:03:41.430238+00:00", "kind": "site_page", "missing": false, "url": "https://docs.kanaries.net/"}, {"content_hash": "11f0347ac9f830a2ae5c9c2a007e82675b82eca767cca2de3f015405dd3ad17e", "fetched_at": "2026-08-29T08:03:41.435827+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/features"}, {"content_hash": "a44cba1a8a105d43b93841e097cb7933ce68e4e029d89cf5eeae93ea38713086", "fetched_at": "2026-08-29T08:03:41.437725+00:00", "kind": "site_page", "missing": false, "url": "https://docs.kanaries.net/pygwalker"}, {"content_hash": "13f89397358a5c0e7e88b4a8f3acaeec6bf5e3b8d7c9db5ee40f8e6c5d2667ef", "fetched_at": "2026-08-29T08:03:41.441486+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pygwalker/json"}, {"content_hash": "83b8f046e5be182014be4ead3d3c5a71bac66219e97afcae6b58999b52db52c1", "fetched_at": "2026-08-29T08:03:41.433811+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/subscribe"}, {"content_hash": "3e76743d11d46f0b400466ce91a45c5f10b2aa200e056518eb61187b51e3bf0c", "fetched_at": "2026-08-29T08:03:41.439786+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/integrations"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:05:19.196329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "159c9cbb22b2511bdb550b93d5b5315f674246c36be21a0b775cdcbd7f4b6cf7", "fetched_at": "2026-08-28T04:11:14.525155+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kanaries/pygwalker"}, {"content_hash": "00ba49e1c71d6410df9d46958b66e73ca862db2d20ffe3ff12d5b9b56ed84c12", "fetched_at": "2026-08-29T08:03:41.426326+00:00", "kind": "homepage", "missing": false, "url": "https://kanaries.net/pygwalker"}, {"content_hash": "9796863256e6ba0d805c15f87a46c3d0af4ce1822234c6c2e22b866d6da511c1", "fetched_at": "2026-08-29T08:03:41.430238+00:00", "kind": "site_page", "missing": false, "url": "https://docs.kanaries.net/"}, {"content_hash": "11f0347ac9f830a2ae5c9c2a007e82675b82eca767cca2de3f015405dd3ad17e", "fetched_at": "2026-08-29T08:03:41.435827+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/features"}, {"content_hash": "a44cba1a8a105d43b93841e097cb7933ce68e4e029d89cf5eeae93ea38713086", "fetched_at": "2026-08-29T08:03:41.437725+00:00", "kind": "site_page", "missing": false, "url": "https://docs.kanaries.net/pygwalker"}, {"content_hash": "13f89397358a5c0e7e88b4a8f3acaeec6bf5e3b8d7c9db5ee40f8e6c5d2667ef", "fetched_at": "2026-08-29T08:03:41.441486+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pygwalker/json"}, {"content_hash": "83b8f046e5be182014be4ead3d3c5a71bac66219e97afcae6b58999b52db52c1", "fetched_at": "2026-08-29T08:03:41.433811+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/subscribe"}, {"content_hash": "3e76743d11d46f0b400466ce91a45c5f10b2aa200e056518eb61187b51e3bf0c", "fetched_at": "2026-08-29T08:03:41.439786+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/integrations"}], "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:11:14.525155+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.525155+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.525155+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:05:19.196329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "159c9cbb22b2511bdb550b93d5b5315f674246c36be21a0b775cdcbd7f4b6cf7", "fetched_at": "2026-08-28T04:11:14.525155+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kanaries/pygwalker"}, {"content_hash": "00ba49e1c71d6410df9d46958b66e73ca862db2d20ffe3ff12d5b9b56ed84c12", "fetched_at": "2026-08-29T08:03:41.426326+00:00", "kind": "homepage", "missing": false, "url": "https://kanaries.net/pygwalker"}, {"content_hash": "9796863256e6ba0d805c15f87a46c3d0af4ce1822234c6c2e22b866d6da511c1", "fetched_at": "2026-08-29T08:03:41.430238+00:00", "kind": "site_page", "missing": false, "url": "https://docs.kanaries.net/"}, {"content_hash": "11f0347ac9f830a2ae5c9c2a007e82675b82eca767cca2de3f015405dd3ad17e", "fetched_at": "2026-08-29T08:03:41.435827+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/features"}, {"content_hash": "a44cba1a8a105d43b93841e097cb7933ce68e4e029d89cf5eeae93ea38713086", "fetched_at": "2026-08-29T08:03:41.437725+00:00", "kind": "site_page", "missing": false, "url": "https://docs.kanaries.net/pygwalker"}, {"content_hash": "13f89397358a5c0e7e88b4a8f3acaeec6bf5e3b8d7c9db5ee40f8e6c5d2667ef", "fetched_at": "2026-08-29T08:03:41.441486+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pygwalker/json"}, {"content_hash": "83b8f046e5be182014be4ead3d3c5a71bac66219e97afcae6b58999b52db52c1", "fetched_at": "2026-08-29T08:03:41.433811+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/subscribe"}, {"content_hash": "3e76743d11d46f0b400466ce91a45c5f10b2aa200e056518eb61187b51e3bf0c", "fetched_at": "2026-08-29T08:03:41.439786+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/integrations"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.525155+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.525155+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:05:19.196329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "159c9cbb22b2511bdb550b93d5b5315f674246c36be21a0b775cdcbd7f4b6cf7", "fetched_at": "2026-08-28T04:11:14.525155+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kanaries/pygwalker"}, {"content_hash": "00ba49e1c71d6410df9d46958b66e73ca862db2d20ffe3ff12d5b9b56ed84c12", "fetched_at": "2026-08-29T08:03:41.426326+00:00", "kind": "homepage", "missing": false, "url": "https://kanaries.net/pygwalker"}, {"content_hash": "9796863256e6ba0d805c15f87a46c3d0af4ce1822234c6c2e22b866d6da511c1", "fetched_at": "2026-08-29T08:03:41.430238+00:00", "kind": "site_page", "missing": false, "url": "https://docs.kanaries.net/"}, {"content_hash": "11f0347ac9f830a2ae5c9c2a007e82675b82eca767cca2de3f015405dd3ad17e", "fetched_at": "2026-08-29T08:03:41.435827+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/features"}, {"content_hash": "a44cba1a8a105d43b93841e097cb7933ce68e4e029d89cf5eeae93ea38713086", "fetched_at": "2026-08-29T08:03:41.437725+00:00", "kind": "site_page", "missing": false, "url": "https://docs.kanaries.net/pygwalker"}, {"content_hash": "13f89397358a5c0e7e88b4a8f3acaeec6bf5e3b8d7c9db5ee40f8e6c5d2667ef", "fetched_at": "2026-08-29T08:03:41.441486+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pygwalker/json"}, {"content_hash": "83b8f046e5be182014be4ead3d3c5a71bac66219e97afcae6b58999b52db52c1", "fetched_at": "2026-08-29T08:03:41.433811+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/subscribe"}, {"content_hash": "3e76743d11d46f0b400466ce91a45c5f10b2aa200e056518eb61187b51e3bf0c", "fetched_at": "2026-08-29T08:03:41.439786+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/integrations"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.525155+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.525155+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.525155+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:05:19.196329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "159c9cbb22b2511bdb550b93d5b5315f674246c36be21a0b775cdcbd7f4b6cf7", "fetched_at": "2026-08-28T04:11:14.525155+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kanaries/pygwalker"}, {"content_hash": "00ba49e1c71d6410df9d46958b66e73ca862db2d20ffe3ff12d5b9b56ed84c12", "fetched_at": "2026-08-29T08:03:41.426326+00:00", "kind": "homepage", "missing": false, "url": "https://kanaries.net/pygwalker"}, {"content_hash": "9796863256e6ba0d805c15f87a46c3d0af4ce1822234c6c2e22b866d6da511c1", "fetched_at": "2026-08-29T08:03:41.430238+00:00", "kind": "site_page", "missing": false, "url": "https://docs.kanaries.net/"}, {"content_hash": "11f0347ac9f830a2ae5c9c2a007e82675b82eca767cca2de3f015405dd3ad17e", "fetched_at": "2026-08-29T08:03:41.435827+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/features"}, {"content_hash": "a44cba1a8a105d43b93841e097cb7933ce68e4e029d89cf5eeae93ea38713086", "fetched_at": "2026-08-29T08:03:41.437725+00:00", "kind": "site_page", "missing": false, "url": "https://docs.kanaries.net/pygwalker"}, {"content_hash": "13f89397358a5c0e7e88b4a8f3acaeec6bf5e3b8d7c9db5ee40f8e6c5d2667ef", "fetched_at": "2026-08-29T08:03:41.441486+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pygwalker/json"}, {"content_hash": "83b8f046e5be182014be4ead3d3c5a71bac66219e97afcae6b58999b52db52c1", "fetched_at": "2026-08-29T08:03:41.433811+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/subscribe"}, {"content_hash": "3e76743d11d46f0b400466ce91a45c5f10b2aa200e056518eb61187b51e3bf0c", "fetched_at": "2026-08-29T08:03:41.439786+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/integrations"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.525155+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.525155+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:05:19.196329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "159c9cbb22b2511bdb550b93d5b5315f674246c36be21a0b775cdcbd7f4b6cf7", "fetched_at": "2026-08-28T04:11:14.525155+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kanaries/pygwalker"}, {"content_hash": "00ba49e1c71d6410df9d46958b66e73ca862db2d20ffe3ff12d5b9b56ed84c12", "fetched_at": "2026-08-29T08:03:41.426326+00:00", "kind": "homepage", "missing": false, "url": "https://kanaries.net/pygwalker"}, {"content_hash": "9796863256e6ba0d805c15f87a46c3d0af4ce1822234c6c2e22b866d6da511c1", "fetched_at": "2026-08-29T08:03:41.430238+00:00", "kind": "site_page", "missing": false, "url": "https://docs.kanaries.net/"}, {"content_hash": "11f0347ac9f830a2ae5c9c2a007e82675b82eca767cca2de3f015405dd3ad17e", "fetched_at": "2026-08-29T08:03:41.435827+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/features"}, {"content_hash": "a44cba1a8a105d43b93841e097cb7933ce68e4e029d89cf5eeae93ea38713086", "fetched_at": "2026-08-29T08:03:41.437725+00:00", "kind": "site_page", "missing": false, "url": "https://docs.kanaries.net/pygwalker"}, {"content_hash": "13f89397358a5c0e7e88b4a8f3acaeec6bf5e3b8d7c9db5ee40f8e6c5d2667ef", "fetched_at": "2026-08-29T08:03:41.441486+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pygwalker/json"}, {"content_hash": "83b8f046e5be182014be4ead3d3c5a71bac66219e97afcae6b58999b52db52c1", "fetched_at": "2026-08-29T08:03:41.433811+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/subscribe"}, {"content_hash": "3e76743d11d46f0b400466ce91a45c5f10b2aa200e056518eb61187b51e3bf0c", "fetched_at": "2026-08-29T08:03:41.439786+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/integrations"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:05:19.196329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "159c9cbb22b2511bdb550b93d5b5315f674246c36be21a0b775cdcbd7f4b6cf7", "fetched_at": "2026-08-28T04:11:14.525155+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kanaries/pygwalker"}, {"content_hash": "00ba49e1c71d6410df9d46958b66e73ca862db2d20ffe3ff12d5b9b56ed84c12", "fetched_at": "2026-08-29T08:03:41.426326+00:00", "kind": "homepage", "missing": false, "url": "https://kanaries.net/pygwalker"}, {"content_hash": "9796863256e6ba0d805c15f87a46c3d0af4ce1822234c6c2e22b866d6da511c1", "fetched_at": "2026-08-29T08:03:41.430238+00:00", "kind": "site_page", "missing": false, "url": "https://docs.kanaries.net/"}, {"content_hash": "11f0347ac9f830a2ae5c9c2a007e82675b82eca767cca2de3f015405dd3ad17e", "fetched_at": "2026-08-29T08:03:41.435827+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/features"}, {"content_hash": "a44cba1a8a105d43b93841e097cb7933ce68e4e029d89cf5eeae93ea38713086", "fetched_at": "2026-08-29T08:03:41.437725+00:00", "kind": "site_page", "missing": false, "url": "https://docs.kanaries.net/pygwalker"}, {"content_hash": "13f89397358a5c0e7e88b4a8f3acaeec6bf5e3b8d7c9db5ee40f8e6c5d2667ef", "fetched_at": "2026-08-29T08:03:41.441486+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pygwalker/json"}, {"content_hash": "83b8f046e5be182014be4ead3d3c5a71bac66219e97afcae6b58999b52db52c1", "fetched_at": "2026-08-29T08:03:41.433811+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/subscribe"}, {"content_hash": "3e76743d11d46f0b400466ce91a45c5f10b2aa200e056518eb61187b51e3bf0c", "fetched_at": "2026-08-29T08:03:41.439786+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/integrations"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:05:19.196329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "159c9cbb22b2511bdb550b93d5b5315f674246c36be21a0b775cdcbd7f4b6cf7", "fetched_at": "2026-08-28T04:11:14.525155+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kanaries/pygwalker"}, {"content_hash": "00ba49e1c71d6410df9d46958b66e73ca862db2d20ffe3ff12d5b9b56ed84c12", "fetched_at": "2026-08-29T08:03:41.426326+00:00", "kind": "homepage", "missing": false, "url": "https://kanaries.net/pygwalker"}, {"content_hash": "9796863256e6ba0d805c15f87a46c3d0af4ce1822234c6c2e22b866d6da511c1", "fetched_at": "2026-08-29T08:03:41.430238+00:00", "kind": "site_page", "missing": false, "url": "https://docs.kanaries.net/"}, {"content_hash": "11f0347ac9f830a2ae5c9c2a007e82675b82eca767cca2de3f015405dd3ad17e", "fetched_at": "2026-08-29T08:03:41.435827+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/features"}, {"content_hash": "a44cba1a8a105d43b93841e097cb7933ce68e4e029d89cf5eeae93ea38713086", "fetched_at": "2026-08-29T08:03:41.437725+00:00", "kind": "site_page", "missing": false, "url": "https://docs.kanaries.net/pygwalker"}, {"content_hash": "13f89397358a5c0e7e88b4a8f3acaeec6bf5e3b8d7c9db5ee40f8e6c5d2667ef", "fetched_at": "2026-08-29T08:03:41.441486+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pygwalker/json"}, {"content_hash": "83b8f046e5be182014be4ead3d3c5a71bac66219e97afcae6b58999b52db52c1", "fetched_at": "2026-08-29T08:03:41.433811+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/subscribe"}, {"content_hash": "3e76743d11d46f0b400466ce91a45c5f10b2aa200e056518eb61187b51e3bf0c", "fetched_at": "2026-08-29T08:03:41.439786+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/integrations"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:05:19.196329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "159c9cbb22b2511bdb550b93d5b5315f674246c36be21a0b775cdcbd7f4b6cf7", "fetched_at": "2026-08-28T04:11:14.525155+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kanaries/pygwalker"}, {"content_hash": "00ba49e1c71d6410df9d46958b66e73ca862db2d20ffe3ff12d5b9b56ed84c12", "fetched_at": "2026-08-29T08:03:41.426326+00:00", "kind": "homepage", "missing": false, "url": "https://kanaries.net/pygwalker"}, {"content_hash": "9796863256e6ba0d805c15f87a46c3d0af4ce1822234c6c2e22b866d6da511c1", "fetched_at": "2026-08-29T08:03:41.430238+00:00", "kind": "site_page", "missing": false, "url": "https://docs.kanaries.net/"}, {"content_hash": "11f0347ac9f830a2ae5c9c2a007e82675b82eca767cca2de3f015405dd3ad17e", "fetched_at": "2026-08-29T08:03:41.435827+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/features"}, {"content_hash": "a44cba1a8a105d43b93841e097cb7933ce68e4e029d89cf5eeae93ea38713086", "fetched_at": "2026-08-29T08:03:41.437725+00:00", "kind": "site_page", "missing": false, "url": "https://docs.kanaries.net/pygwalker"}, {"content_hash": "13f89397358a5c0e7e88b4a8f3acaeec6bf5e3b8d7c9db5ee40f8e6c5d2667ef", "fetched_at": "2026-08-29T08:03:41.441486+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pygwalker/json"}, {"content_hash": "83b8f046e5be182014be4ead3d3c5a71bac66219e97afcae6b58999b52db52c1", "fetched_at": "2026-08-29T08:03:41.433811+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/subscribe"}, {"content_hash": "3e76743d11d46f0b400466ce91a45c5f10b2aa200e056518eb61187b51e3bf0c", "fetched_at": "2026-08-29T08:03:41.439786+00:00", "kind": "site_page", "missing": false, "url": "https://kanaries.net/integrations"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 92, "rhythm": 53}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1294, "days_push": 23, "days_rel": 152, "gap_med": 166, "n_releases_24m": 4}, "score": 81, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}