{"adoption": {"forks": 1217, "observed_at": "2026-08-28T04:11:08.987875+00:00", "stars": 14952}, "canonical_url": "https://ross.abutalabs.com/products/playwright-python", "card": {"archived": false, "artifact_type": "library", "description": "Python version of the Playwright testing and automation library.", "domain": ["testing", "web-development", "developer-tools"], "enriched": true, "function": ["e2e-testing", "testing", "web-scraping", "workflow-automation", "browser-extension"], "health_score": 99, "homepage": "https://playwright.dev/python/", "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "stable", "member_repos": ["microsoft/playwright-python"], "name": "microsoft/playwright-python", "platform": ["python", "windows", "cli"], "pushed_at": "2026-08-20T17:53:07+00:00", "repo": "microsoft/playwright-python", "stars": 14952, "tags": ["playwright", "browser-automation", "chromium", "firefox", "webkit", "pytest-plugin", "web-scraping", "headless-browser", "sync-and-async", "automation", "linux", "macos"], "topics": ["playwright", "chromium", "firefox", "webkit"], "urls": [], "use_cases": ["run end-to-end tests for a web app in python", "automate browser interactions across chromium firefox and webkit", "scrape dynamic web pages rendered with javascript", "take screenshots of web pages programmatically", "generate tests by recording browser actions", "test web apps on ci across multiple browsers", "emulate mobile devices in browser tests"], "what_it_is": "Playwright for Python is a library to automate Chromium, Firefox, and WebKit browsers with a single API, supporting both sync and async Python. It is designed for reliable end-to-end testing of modern web apps and general-purpose browser automation, with an official Pytest plugin and a codegen test recorder.", "when_to_avoid": ["you only need simple http-level requests without a browser", "your team primarily works in javascript, .net, or java where native playwright bindings may fit better", "you need a full test runner with parallelism and sharding out of the box, which is the node.js Playwright Test rather than the python library"], "when_to_choose": ["you need cross-browser e2e testing from python with sync or async apis", "you want reliable automation with auto-waiting and resilient locators", "you need headless or headed browser automation on linux, macos, or windows", "you want to record tests with codegen or use a pytest plugin"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/playwright-python", "repo": "microsoft/playwright-python", "role": "main", "score": 93}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.987875+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:06:50.565269+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5f20e6c83c65cd453a9e0f704874b6ef48cdc52b02054bba60f744c65244d535", "fetched_at": "2026-08-28T04:11:08.987875+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/playwright-python"}, {"content_hash": "9d5a0afe5894abfe6964303862e4b6499e6605176bba437d6fe6d59de8400db7", "fetched_at": "2026-08-29T08:04:57.945261+00:00", "kind": "homepage", "missing": false, "url": "https://playwright.dev/python/"}, {"content_hash": "5c5822e2deaa7ab8e4f0c956021ac3fb63f5c90ee28e5c5b8a74b90661ae20ab", "fetched_at": "2026-08-29T08:04:57.948043+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/intro"}, {"content_hash": "c97addf75d7e58dd181bb02b025cf37ef0fea3884835459a80378840ded02d14", "fetched_at": "2026-08-29T08:04:57.949965+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/api/class-playwright"}, {"content_hash": "ca82f3fc94fd4f292ffa49ee1e3e82a9d64c1c01424f4a8265b2ed2e4cb77e07", "fetched_at": "2026-08-29T08:04:57.951647+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/docs/intro"}, {"content_hash": "a6ef7805c7acedaf2870afb4dc8e0680d56edf3d957c208946626963dc6fdd6e", "fetched_at": "2026-08-29T08:04:57.953270+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/dotnet/docs/intro"}, {"content_hash": "67158ea3c0a4e4f78cc7638fbbbf6dfba6d9b8840b28d92a3d708d301cfcccfc", "fetched_at": "2026-08-29T08:04:57.955260+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/java/docs/intro"}, {"content_hash": "b996195fd626fae9b864352f1e6600a6d342d631cf1d57062a6fbad8448384e5", "fetched_at": "2026-08-29T08:04:57.957097+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/getting-started-cli"}, {"content_hash": "4c3f2ead6f67ca62ba4de6c314da804eef00e5fbdea54157004b2124f3e5b075", "fetched_at": "2026-08-29T08:04:57.959100+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/getting-started-mcp"}, {"content_hash": "c555992043b8fe20b29d47f792ae72884fea51428ec1237d93afff0cafe2902f", "fetched_at": "2026-08-29T08:04:57.960991+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/codegen"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.987875+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:06:50.565269+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5f20e6c83c65cd453a9e0f704874b6ef48cdc52b02054bba60f744c65244d535", "fetched_at": "2026-08-28T04:11:08.987875+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/playwright-python"}, {"content_hash": "9d5a0afe5894abfe6964303862e4b6499e6605176bba437d6fe6d59de8400db7", "fetched_at": "2026-08-29T08:04:57.945261+00:00", "kind": "homepage", "missing": false, "url": "https://playwright.dev/python/"}, {"content_hash": "5c5822e2deaa7ab8e4f0c956021ac3fb63f5c90ee28e5c5b8a74b90661ae20ab", "fetched_at": "2026-08-29T08:04:57.948043+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/intro"}, {"content_hash": "c97addf75d7e58dd181bb02b025cf37ef0fea3884835459a80378840ded02d14", "fetched_at": "2026-08-29T08:04:57.949965+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/api/class-playwright"}, {"content_hash": "ca82f3fc94fd4f292ffa49ee1e3e82a9d64c1c01424f4a8265b2ed2e4cb77e07", "fetched_at": "2026-08-29T08:04:57.951647+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/docs/intro"}, {"content_hash": "a6ef7805c7acedaf2870afb4dc8e0680d56edf3d957c208946626963dc6fdd6e", "fetched_at": "2026-08-29T08:04:57.953270+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/dotnet/docs/intro"}, {"content_hash": "67158ea3c0a4e4f78cc7638fbbbf6dfba6d9b8840b28d92a3d708d301cfcccfc", "fetched_at": "2026-08-29T08:04:57.955260+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/java/docs/intro"}, {"content_hash": "b996195fd626fae9b864352f1e6600a6d342d631cf1d57062a6fbad8448384e5", "fetched_at": "2026-08-29T08:04:57.957097+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/getting-started-cli"}, {"content_hash": "4c3f2ead6f67ca62ba4de6c314da804eef00e5fbdea54157004b2124f3e5b075", "fetched_at": "2026-08-29T08:04:57.959100+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/getting-started-mcp"}, {"content_hash": "c555992043b8fe20b29d47f792ae72884fea51428ec1237d93afff0cafe2902f", "fetched_at": "2026-08-29T08:04:57.960991+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/codegen"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:06:50.565269+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5f20e6c83c65cd453a9e0f704874b6ef48cdc52b02054bba60f744c65244d535", "fetched_at": "2026-08-28T04:11:08.987875+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/playwright-python"}, {"content_hash": "9d5a0afe5894abfe6964303862e4b6499e6605176bba437d6fe6d59de8400db7", "fetched_at": "2026-08-29T08:04:57.945261+00:00", "kind": "homepage", "missing": false, "url": "https://playwright.dev/python/"}, {"content_hash": "5c5822e2deaa7ab8e4f0c956021ac3fb63f5c90ee28e5c5b8a74b90661ae20ab", "fetched_at": "2026-08-29T08:04:57.948043+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/intro"}, {"content_hash": "c97addf75d7e58dd181bb02b025cf37ef0fea3884835459a80378840ded02d14", "fetched_at": "2026-08-29T08:04:57.949965+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/api/class-playwright"}, {"content_hash": "ca82f3fc94fd4f292ffa49ee1e3e82a9d64c1c01424f4a8265b2ed2e4cb77e07", "fetched_at": "2026-08-29T08:04:57.951647+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/docs/intro"}, {"content_hash": "a6ef7805c7acedaf2870afb4dc8e0680d56edf3d957c208946626963dc6fdd6e", "fetched_at": "2026-08-29T08:04:57.953270+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/dotnet/docs/intro"}, {"content_hash": "67158ea3c0a4e4f78cc7638fbbbf6dfba6d9b8840b28d92a3d708d301cfcccfc", "fetched_at": "2026-08-29T08:04:57.955260+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/java/docs/intro"}, {"content_hash": "b996195fd626fae9b864352f1e6600a6d342d631cf1d57062a6fbad8448384e5", "fetched_at": "2026-08-29T08:04:57.957097+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/getting-started-cli"}, {"content_hash": "4c3f2ead6f67ca62ba4de6c314da804eef00e5fbdea54157004b2124f3e5b075", "fetched_at": "2026-08-29T08:04:57.959100+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/getting-started-mcp"}, {"content_hash": "c555992043b8fe20b29d47f792ae72884fea51428ec1237d93afff0cafe2902f", "fetched_at": "2026-08-29T08:04:57.960991+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/codegen"}], "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:08.987875+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.987875+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.987875+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:06:50.565269+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5f20e6c83c65cd453a9e0f704874b6ef48cdc52b02054bba60f744c65244d535", "fetched_at": "2026-08-28T04:11:08.987875+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/playwright-python"}, {"content_hash": "9d5a0afe5894abfe6964303862e4b6499e6605176bba437d6fe6d59de8400db7", "fetched_at": "2026-08-29T08:04:57.945261+00:00", "kind": "homepage", "missing": false, "url": "https://playwright.dev/python/"}, {"content_hash": "5c5822e2deaa7ab8e4f0c956021ac3fb63f5c90ee28e5c5b8a74b90661ae20ab", "fetched_at": "2026-08-29T08:04:57.948043+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/intro"}, {"content_hash": "c97addf75d7e58dd181bb02b025cf37ef0fea3884835459a80378840ded02d14", "fetched_at": "2026-08-29T08:04:57.949965+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/api/class-playwright"}, {"content_hash": "ca82f3fc94fd4f292ffa49ee1e3e82a9d64c1c01424f4a8265b2ed2e4cb77e07", "fetched_at": "2026-08-29T08:04:57.951647+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/docs/intro"}, {"content_hash": "a6ef7805c7acedaf2870afb4dc8e0680d56edf3d957c208946626963dc6fdd6e", "fetched_at": "2026-08-29T08:04:57.953270+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/dotnet/docs/intro"}, {"content_hash": "67158ea3c0a4e4f78cc7638fbbbf6dfba6d9b8840b28d92a3d708d301cfcccfc", "fetched_at": "2026-08-29T08:04:57.955260+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/java/docs/intro"}, {"content_hash": "b996195fd626fae9b864352f1e6600a6d342d631cf1d57062a6fbad8448384e5", "fetched_at": "2026-08-29T08:04:57.957097+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/getting-started-cli"}, {"content_hash": "4c3f2ead6f67ca62ba4de6c314da804eef00e5fbdea54157004b2124f3e5b075", "fetched_at": "2026-08-29T08:04:57.959100+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/getting-started-mcp"}, {"content_hash": "c555992043b8fe20b29d47f792ae72884fea51428ec1237d93afff0cafe2902f", "fetched_at": "2026-08-29T08:04:57.960991+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/codegen"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.987875+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.987875+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:06:50.565269+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5f20e6c83c65cd453a9e0f704874b6ef48cdc52b02054bba60f744c65244d535", "fetched_at": "2026-08-28T04:11:08.987875+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/playwright-python"}, {"content_hash": "9d5a0afe5894abfe6964303862e4b6499e6605176bba437d6fe6d59de8400db7", "fetched_at": "2026-08-29T08:04:57.945261+00:00", "kind": "homepage", "missing": false, "url": "https://playwright.dev/python/"}, {"content_hash": "5c5822e2deaa7ab8e4f0c956021ac3fb63f5c90ee28e5c5b8a74b90661ae20ab", "fetched_at": "2026-08-29T08:04:57.948043+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/intro"}, {"content_hash": "c97addf75d7e58dd181bb02b025cf37ef0fea3884835459a80378840ded02d14", "fetched_at": "2026-08-29T08:04:57.949965+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/api/class-playwright"}, {"content_hash": "ca82f3fc94fd4f292ffa49ee1e3e82a9d64c1c01424f4a8265b2ed2e4cb77e07", "fetched_at": "2026-08-29T08:04:57.951647+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/docs/intro"}, {"content_hash": "a6ef7805c7acedaf2870afb4dc8e0680d56edf3d957c208946626963dc6fdd6e", "fetched_at": "2026-08-29T08:04:57.953270+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/dotnet/docs/intro"}, {"content_hash": "67158ea3c0a4e4f78cc7638fbbbf6dfba6d9b8840b28d92a3d708d301cfcccfc", "fetched_at": "2026-08-29T08:04:57.955260+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/java/docs/intro"}, {"content_hash": "b996195fd626fae9b864352f1e6600a6d342d631cf1d57062a6fbad8448384e5", "fetched_at": "2026-08-29T08:04:57.957097+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/getting-started-cli"}, {"content_hash": "4c3f2ead6f67ca62ba4de6c314da804eef00e5fbdea54157004b2124f3e5b075", "fetched_at": "2026-08-29T08:04:57.959100+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/getting-started-mcp"}, {"content_hash": "c555992043b8fe20b29d47f792ae72884fea51428ec1237d93afff0cafe2902f", "fetched_at": "2026-08-29T08:04:57.960991+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/codegen"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.987875+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.987875+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.987875+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:06:50.565269+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5f20e6c83c65cd453a9e0f704874b6ef48cdc52b02054bba60f744c65244d535", "fetched_at": "2026-08-28T04:11:08.987875+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/playwright-python"}, {"content_hash": "9d5a0afe5894abfe6964303862e4b6499e6605176bba437d6fe6d59de8400db7", "fetched_at": "2026-08-29T08:04:57.945261+00:00", "kind": "homepage", "missing": false, "url": "https://playwright.dev/python/"}, {"content_hash": "5c5822e2deaa7ab8e4f0c956021ac3fb63f5c90ee28e5c5b8a74b90661ae20ab", "fetched_at": "2026-08-29T08:04:57.948043+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/intro"}, {"content_hash": "c97addf75d7e58dd181bb02b025cf37ef0fea3884835459a80378840ded02d14", "fetched_at": "2026-08-29T08:04:57.949965+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/api/class-playwright"}, {"content_hash": "ca82f3fc94fd4f292ffa49ee1e3e82a9d64c1c01424f4a8265b2ed2e4cb77e07", "fetched_at": "2026-08-29T08:04:57.951647+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/docs/intro"}, {"content_hash": "a6ef7805c7acedaf2870afb4dc8e0680d56edf3d957c208946626963dc6fdd6e", "fetched_at": "2026-08-29T08:04:57.953270+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/dotnet/docs/intro"}, {"content_hash": "67158ea3c0a4e4f78cc7638fbbbf6dfba6d9b8840b28d92a3d708d301cfcccfc", "fetched_at": "2026-08-29T08:04:57.955260+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/java/docs/intro"}, {"content_hash": "b996195fd626fae9b864352f1e6600a6d342d631cf1d57062a6fbad8448384e5", "fetched_at": "2026-08-29T08:04:57.957097+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/getting-started-cli"}, {"content_hash": "4c3f2ead6f67ca62ba4de6c314da804eef00e5fbdea54157004b2124f3e5b075", "fetched_at": "2026-08-29T08:04:57.959100+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/getting-started-mcp"}, {"content_hash": "c555992043b8fe20b29d47f792ae72884fea51428ec1237d93afff0cafe2902f", "fetched_at": "2026-08-29T08:04:57.960991+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/codegen"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.987875+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:08.987875+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:06:50.565269+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5f20e6c83c65cd453a9e0f704874b6ef48cdc52b02054bba60f744c65244d535", "fetched_at": "2026-08-28T04:11:08.987875+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/playwright-python"}, {"content_hash": "9d5a0afe5894abfe6964303862e4b6499e6605176bba437d6fe6d59de8400db7", "fetched_at": "2026-08-29T08:04:57.945261+00:00", "kind": "homepage", "missing": false, "url": "https://playwright.dev/python/"}, {"content_hash": "5c5822e2deaa7ab8e4f0c956021ac3fb63f5c90ee28e5c5b8a74b90661ae20ab", "fetched_at": "2026-08-29T08:04:57.948043+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/intro"}, {"content_hash": "c97addf75d7e58dd181bb02b025cf37ef0fea3884835459a80378840ded02d14", "fetched_at": "2026-08-29T08:04:57.949965+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/api/class-playwright"}, {"content_hash": "ca82f3fc94fd4f292ffa49ee1e3e82a9d64c1c01424f4a8265b2ed2e4cb77e07", "fetched_at": "2026-08-29T08:04:57.951647+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/docs/intro"}, {"content_hash": "a6ef7805c7acedaf2870afb4dc8e0680d56edf3d957c208946626963dc6fdd6e", "fetched_at": "2026-08-29T08:04:57.953270+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/dotnet/docs/intro"}, {"content_hash": "67158ea3c0a4e4f78cc7638fbbbf6dfba6d9b8840b28d92a3d708d301cfcccfc", "fetched_at": "2026-08-29T08:04:57.955260+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/java/docs/intro"}, {"content_hash": "b996195fd626fae9b864352f1e6600a6d342d631cf1d57062a6fbad8448384e5", "fetched_at": "2026-08-29T08:04:57.957097+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/getting-started-cli"}, {"content_hash": "4c3f2ead6f67ca62ba4de6c314da804eef00e5fbdea54157004b2124f3e5b075", "fetched_at": "2026-08-29T08:04:57.959100+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/getting-started-mcp"}, {"content_hash": "c555992043b8fe20b29d47f792ae72884fea51428ec1237d93afff0cafe2902f", "fetched_at": "2026-08-29T08:04:57.960991+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/codegen"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:06:50.565269+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5f20e6c83c65cd453a9e0f704874b6ef48cdc52b02054bba60f744c65244d535", "fetched_at": "2026-08-28T04:11:08.987875+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/playwright-python"}, {"content_hash": "9d5a0afe5894abfe6964303862e4b6499e6605176bba437d6fe6d59de8400db7", "fetched_at": "2026-08-29T08:04:57.945261+00:00", "kind": "homepage", "missing": false, "url": "https://playwright.dev/python/"}, {"content_hash": "5c5822e2deaa7ab8e4f0c956021ac3fb63f5c90ee28e5c5b8a74b90661ae20ab", "fetched_at": "2026-08-29T08:04:57.948043+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/intro"}, {"content_hash": "c97addf75d7e58dd181bb02b025cf37ef0fea3884835459a80378840ded02d14", "fetched_at": "2026-08-29T08:04:57.949965+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/api/class-playwright"}, {"content_hash": "ca82f3fc94fd4f292ffa49ee1e3e82a9d64c1c01424f4a8265b2ed2e4cb77e07", "fetched_at": "2026-08-29T08:04:57.951647+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/docs/intro"}, {"content_hash": "a6ef7805c7acedaf2870afb4dc8e0680d56edf3d957c208946626963dc6fdd6e", "fetched_at": "2026-08-29T08:04:57.953270+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/dotnet/docs/intro"}, {"content_hash": "67158ea3c0a4e4f78cc7638fbbbf6dfba6d9b8840b28d92a3d708d301cfcccfc", "fetched_at": "2026-08-29T08:04:57.955260+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/java/docs/intro"}, {"content_hash": "b996195fd626fae9b864352f1e6600a6d342d631cf1d57062a6fbad8448384e5", "fetched_at": "2026-08-29T08:04:57.957097+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/getting-started-cli"}, {"content_hash": "4c3f2ead6f67ca62ba4de6c314da804eef00e5fbdea54157004b2124f3e5b075", "fetched_at": "2026-08-29T08:04:57.959100+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/getting-started-mcp"}, {"content_hash": "c555992043b8fe20b29d47f792ae72884fea51428ec1237d93afff0cafe2902f", "fetched_at": "2026-08-29T08:04:57.960991+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/codegen"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:06:50.565269+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5f20e6c83c65cd453a9e0f704874b6ef48cdc52b02054bba60f744c65244d535", "fetched_at": "2026-08-28T04:11:08.987875+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/playwright-python"}, {"content_hash": "9d5a0afe5894abfe6964303862e4b6499e6605176bba437d6fe6d59de8400db7", "fetched_at": "2026-08-29T08:04:57.945261+00:00", "kind": "homepage", "missing": false, "url": "https://playwright.dev/python/"}, {"content_hash": "5c5822e2deaa7ab8e4f0c956021ac3fb63f5c90ee28e5c5b8a74b90661ae20ab", "fetched_at": "2026-08-29T08:04:57.948043+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/intro"}, {"content_hash": "c97addf75d7e58dd181bb02b025cf37ef0fea3884835459a80378840ded02d14", "fetched_at": "2026-08-29T08:04:57.949965+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/api/class-playwright"}, {"content_hash": "ca82f3fc94fd4f292ffa49ee1e3e82a9d64c1c01424f4a8265b2ed2e4cb77e07", "fetched_at": "2026-08-29T08:04:57.951647+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/docs/intro"}, {"content_hash": "a6ef7805c7acedaf2870afb4dc8e0680d56edf3d957c208946626963dc6fdd6e", "fetched_at": "2026-08-29T08:04:57.953270+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/dotnet/docs/intro"}, {"content_hash": "67158ea3c0a4e4f78cc7638fbbbf6dfba6d9b8840b28d92a3d708d301cfcccfc", "fetched_at": "2026-08-29T08:04:57.955260+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/java/docs/intro"}, {"content_hash": "b996195fd626fae9b864352f1e6600a6d342d631cf1d57062a6fbad8448384e5", "fetched_at": "2026-08-29T08:04:57.957097+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/getting-started-cli"}, {"content_hash": "4c3f2ead6f67ca62ba4de6c314da804eef00e5fbdea54157004b2124f3e5b075", "fetched_at": "2026-08-29T08:04:57.959100+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/getting-started-mcp"}, {"content_hash": "c555992043b8fe20b29d47f792ae72884fea51428ec1237d93afff0cafe2902f", "fetched_at": "2026-08-29T08:04:57.960991+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/codegen"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:06:50.565269+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5f20e6c83c65cd453a9e0f704874b6ef48cdc52b02054bba60f744c65244d535", "fetched_at": "2026-08-28T04:11:08.987875+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/playwright-python"}, {"content_hash": "9d5a0afe5894abfe6964303862e4b6499e6605176bba437d6fe6d59de8400db7", "fetched_at": "2026-08-29T08:04:57.945261+00:00", "kind": "homepage", "missing": false, "url": "https://playwright.dev/python/"}, {"content_hash": "5c5822e2deaa7ab8e4f0c956021ac3fb63f5c90ee28e5c5b8a74b90661ae20ab", "fetched_at": "2026-08-29T08:04:57.948043+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/intro"}, {"content_hash": "c97addf75d7e58dd181bb02b025cf37ef0fea3884835459a80378840ded02d14", "fetched_at": "2026-08-29T08:04:57.949965+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/api/class-playwright"}, {"content_hash": "ca82f3fc94fd4f292ffa49ee1e3e82a9d64c1c01424f4a8265b2ed2e4cb77e07", "fetched_at": "2026-08-29T08:04:57.951647+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/docs/intro"}, {"content_hash": "a6ef7805c7acedaf2870afb4dc8e0680d56edf3d957c208946626963dc6fdd6e", "fetched_at": "2026-08-29T08:04:57.953270+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/dotnet/docs/intro"}, {"content_hash": "67158ea3c0a4e4f78cc7638fbbbf6dfba6d9b8840b28d92a3d708d301cfcccfc", "fetched_at": "2026-08-29T08:04:57.955260+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/java/docs/intro"}, {"content_hash": "b996195fd626fae9b864352f1e6600a6d342d631cf1d57062a6fbad8448384e5", "fetched_at": "2026-08-29T08:04:57.957097+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/getting-started-cli"}, {"content_hash": "4c3f2ead6f67ca62ba4de6c314da804eef00e5fbdea54157004b2124f3e5b075", "fetched_at": "2026-08-29T08:04:57.959100+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/getting-started-mcp"}, {"content_hash": "c555992043b8fe20b29d47f792ae72884fea51428ec1237d93afff0cafe2902f", "fetched_at": "2026-08-29T08:04:57.960991+00:00", "kind": "site_page", "missing": false, "url": "https://playwright.dev/python/docs/codegen"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 83}, "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": 2254, "days_push": 13, "days_rel": 33, "gap_med": 39.5, "n_releases_24m": 17}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}