Python Predicate-Runtime SDK
Browser session + snapshots + selector DSL + real actions.
Core loop: snapshot → decide → act. The SDK collects coarse geometry locally (extension) and refines/ranks via /v1/snapshot.
- snapshot(browser, ...): returns a compact element list + metadata
- find/query(snapshot, selector): selector DSL over refined elements
- click(...): uses real mouse events by default
from sentience import SentienceBrowser, snapshot, find, query, click
with SentienceBrowser(api_key="sk_live_…") as b:
b.page.goto("https://example.com")
# Collect + refine
snap = snapshot(
b,
limit=50,
filter={"min_area": 100, "allowed_roles": ["button", "textbox"]},
)
# Selector DSL
login = find(snap, "role=button text~'Sign in'")
click(b, login.id)
# Multi-match
inputs = query(snap, "role=textbox")
print(len(inputs))