browserwright 0.6.2__tar.gz → 0.6.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. {browserwright-0.6.2 → browserwright-0.6.4}/PKG-INFO +1 -1
  2. {browserwright-0.6.2 → browserwright-0.6.4}/pyproject.toml +1 -1
  3. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/version.py +34 -3
  4. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright.egg-info/PKG-INFO +1 -1
  5. {browserwright-0.6.2 → browserwright-0.6.4}/README.md +0 -0
  6. {browserwright-0.6.2 → browserwright-0.6.4}/setup.cfg +0 -0
  7. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/__init__.py +0 -0
  8. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/__main__.py +0 -0
  9. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/_executor/__init__.py +0 -0
  10. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/_executor/__main__.py +0 -0
  11. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/_executor/client.py +0 -0
  12. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/_executor/process.py +0 -0
  13. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/_executor/protocol.py +0 -0
  14. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/api.py +0 -0
  15. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/cdp.py +0 -0
  16. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/cli.py +0 -0
  17. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/__init__.py +0 -0
  18. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/_ipc.py +0 -0
  19. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/active_tab.py +0 -0
  20. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/auth.py +0 -0
  21. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/backends/__init__.py +0 -0
  22. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/backends/base.py +0 -0
  23. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/backends/cloud.py +0 -0
  24. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/backends/env.py +0 -0
  25. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/backends/extension.py +0 -0
  26. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/backends/rdp.py +0 -0
  27. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/cli.py +0 -0
  28. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/config.py +0 -0
  29. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/doctor.py +0 -0
  30. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/errors.py +0 -0
  31. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/launch_chrome.py +0 -0
  32. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/observability.py +0 -0
  33. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/platforms.py +0 -0
  34. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/resolver.py +0 -0
  35. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/server/__init__.py +0 -0
  36. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/server/daemon.py +0 -0
  37. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/server/executor_registry.py +0 -0
  38. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/server/extension_upstream.py +0 -0
  39. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/server/facade.py +0 -0
  40. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/server/facade_extension.py +0 -0
  41. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/server/listener.py +0 -0
  42. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/server/proxy.py +0 -0
  43. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/server/relay.py +0 -0
  44. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/server/state.py +0 -0
  45. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/server/upstream.py +0 -0
  46. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/daemon/userscripts.py +0 -0
  47. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/discovery.py +0 -0
  48. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/errors.py +0 -0
  49. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/health.py +0 -0
  50. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/install.py +0 -0
  51. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/memory/__init__.py +0 -0
  52. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/memory/_md.py +0 -0
  53. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/memory/_yaml.py +0 -0
  54. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/memory/global_mem.py +0 -0
  55. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/memory/repl_mem.py +0 -0
  56. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/memory/session_decisions.py +0 -0
  57. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/memory/site_mem.py +0 -0
  58. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/mode_b_client.py +0 -0
  59. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/multitask.py +0 -0
  60. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/output_schema.py +0 -0
  61. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/primitives/__init__.py +0 -0
  62. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/primitives/discovery_api.py +0 -0
  63. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/primitives/http.py +0 -0
  64. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/primitives/inspect.py +0 -0
  65. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/primitives/interact.py +0 -0
  66. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/primitives/page.py +0 -0
  67. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/primitives/site.py +0 -0
  68. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/release_install.py +0 -0
  69. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/repl/__init__.py +0 -0
  70. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/repl/_namespace.py +0 -0
  71. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/repl/_smart_goto.py +0 -0
  72. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/repl/inline.py +0 -0
  73. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/repl/playwright_handle.py +0 -0
  74. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/repl/snapshot.py +0 -0
  75. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/session.py +0 -0
  76. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/session_create.py +0 -0
  77. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/session_ctx.py +0 -0
  78. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/session_registry.py +0 -0
  79. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/session_runtime.py +0 -0
  80. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/site_skills_starter/github.com/SKILL.md +0 -0
  81. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/site_skills_starter/github.com/memory.md +0 -0
  82. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/site_skills_starter/github.com/tasks/list_issues.py +0 -0
  83. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/site_skills_starter/google.com/SKILL.md +0 -0
  84. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/site_skills_starter/google.com/memory.md +0 -0
  85. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/site_skills_starter/google.com/tasks/search.py +0 -0
  86. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/site_skills_starter/producthunt.com/SKILL.md +0 -0
  87. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/site_skills_starter/producthunt.com/memory.md +0 -0
  88. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/site_skills_starter/producthunt.com/tasks/today.py +0 -0
  89. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/site_skills_starter/wikipedia.org/SKILL.md +0 -0
  90. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/site_skills_starter/wikipedia.org/memory.md +0 -0
  91. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/site_skills_starter/wikipedia.org/tasks/lookup.py +0 -0
  92. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/site_skills_starter/ycombinator.com/SKILL.md +0 -0
  93. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/site_skills_starter/ycombinator.com/memory.md +0 -0
  94. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/site_skills_starter/ycombinator.com/tasks/front_page.py +0 -0
  95. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/skill_doc.py +0 -0
  96. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/skill_runtime.md +0 -0
  97. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/subscriptions.py +0 -0
  98. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright/task_runner.py +0 -0
  99. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright.egg-info/SOURCES.txt +0 -0
  100. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright.egg-info/dependency_links.txt +0 -0
  101. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright.egg-info/entry_points.txt +0 -0
  102. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright.egg-info/requires.txt +0 -0
  103. {browserwright-0.6.2 → browserwright-0.6.4}/src/browserwright.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: browserwright
3
- Version: 0.6.2
3
+ Version: 0.6.4
4
4
  Summary: Browserwright — let AI/code agents drive a real or isolated browser and author userscripts. Single package: the agent-facing REPL/site-skills/memory layer plus the bundled browser-resolving daemon (CDP proxy + extension/cloud backends).
5
5
  Requires-Python: >=3.11
6
6
  Requires-Dist: cdp-use==1.4.5
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "browserwright"
7
- version = "0.6.2"
7
+ version = "0.6.4"
8
8
  description = "Browserwright — let AI/code agents drive a real or isolated browser and author userscripts. Single package: the agent-facing REPL/site-skills/memory layer plus the bundled browser-resolving daemon (CDP proxy + extension/cloud backends)."
9
9
  requires-python = ">=3.11"
10
10
  dependencies = [
@@ -16,10 +16,29 @@ _SEMVER_RE = re.compile(
16
16
  )
17
17
 
18
18
 
19
+ def _is_browserwright_pyproject(path: Path) -> bool:
20
+ """Return True when `path` is a pyproject.toml owned by the browserwright project.
21
+
22
+ Walking up from `__file__` toward a `pyproject.toml` is ambiguous: a user
23
+ who runs `pip install browserwright` inside another project's virtualenv
24
+ would otherwise resolve that unrelated project's root as our "repo root"
25
+ and start hunting for `chrome-extension/manifest.json` there. Anchoring on
26
+ `project.name == "browserwright"` keeps `_repo_root()` honest.
27
+ """
28
+ try:
29
+ import tomllib
30
+
31
+ data = tomllib.loads(path.read_text(encoding="utf-8"))
32
+ return data.get("project", {}).get("name") == PACKAGE_NAME
33
+ except Exception:
34
+ return False
35
+
36
+
19
37
  def _repo_root() -> Path | None:
20
38
  here = Path(__file__).resolve()
21
39
  for parent in here.parents:
22
- if (parent / "pyproject.toml").is_file():
40
+ candidate = parent / "pyproject.toml"
41
+ if candidate.is_file() and _is_browserwright_pyproject(candidate):
23
42
  return parent
24
43
  return None
25
44
 
@@ -84,14 +103,26 @@ class VersionIssue:
84
103
 
85
104
 
86
105
  def check_versions() -> list[VersionIssue]:
87
- """Return version consistency issues across the repo-distributed pieces."""
106
+ """Return version consistency issues across the repo-distributed pieces.
107
+
108
+ `chrome-extension/` is intentionally NOT part of the PyPI packaging
109
+ contract — the extension ships separately via the Chrome Web Store. So a
110
+ missing manifest is only a problem when we are running from a browserwright
111
+ repo checkout (or a legacy local release that copied the extension beside
112
+ the venv). For a PyPI/`uv tool` install, the absence of the manifest is
113
+ expected; only the version-mismatch case still applies.
114
+ """
88
115
  issues: list[VersionIssue] = []
89
116
  pkg = package_version()
90
117
  ext = extension_version()
91
118
  if not is_semver(pkg):
92
119
  issues.append(VersionIssue("package-not-semver", f"package version is not semver: {pkg}"))
93
120
  if ext is None:
94
- issues.append(VersionIssue("extension-missing", "chrome-extension/manifest.json was not found"))
121
+ # Only flag a missing manifest when we can identify a browserwright
122
+ # repo checkout — that's the only context where the extension is
123
+ # expected to live next to the package.
124
+ if _repo_root() is not None:
125
+ issues.append(VersionIssue("extension-missing", "chrome-extension/manifest.json was not found"))
95
126
  elif not is_semver(ext):
96
127
  issues.append(VersionIssue("extension-not-semver", f"extension version is not semver: {ext}"))
97
128
  elif ext != pkg:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: browserwright
3
- Version: 0.6.2
3
+ Version: 0.6.4
4
4
  Summary: Browserwright — let AI/code agents drive a real or isolated browser and author userscripts. Single package: the agent-facing REPL/site-skills/memory layer plus the bundled browser-resolving daemon (CDP proxy + extension/cloud backends).
5
5
  Requires-Python: >=3.11
6
6
  Requires-Dist: cdp-use==1.4.5
File without changes
File without changes