Skip to main content

allwright Python client

This folder contains the high-level Python client for the allwright engine.

It loads the shared proto/engine/v1/engine.proto contract dynamically at runtime and exposes a browser/page API instead of raw gRPC channel setup.

Install

pip install allwright

Installing from a local checkout instead:

pip install -e ./python

Example

from allwright import firefox

browser = firefox.launch()
page = browser.page()
page.goto("https://themoderninternet.vercel.app")
page.click(
    "xpath=//div[contains(@class,'card')][.//h2[normalize-space()='Form Inputs']]"
    "//button[normalize-space()='Visit page']"
)
page.wait_for_selector('xpath=//h1[text()="Form Inputs"]')
browser.close()

For an action that opens a tab, register the generic typed hook first:

from allwright import hooks

hook = page.register_hook(hooks.new_page)
page.click("a[target=_blank]")
new_page = hook.wait()
hook = page.register_hook(hooks.file_chooser)
page.click("button.open-upload")
chooser = hook.wait()
chooser.set_files("fixtures/document.pdf")
hook = page.register_hook(hooks.download)
page.click("a.download-report")
download = hook.wait()
download.save_as(f"artifacts/{download.suggested_filename}")

These paths are local to the Python test process and are streamed through a remote Allwright server when necessary. Android app contexts support hooks.file_chooser and hooks.download with the same lifecycle.

Web state reads: page.url(), locator.input_value(), locator.selected_options(), locator.selected_text(), locator.is_checked(), locator.get_attribute(name), and locator.bounding_box(). Element methods also accept selectors on Page. Selected options return CapturedOption(value, label, index) objects; boxes return BoundingBox(x, y, width, height) in frame/page viewport CSS pixels. Missing attributes, unsupported text selections, and hidden/zero-area boxes return None. Existing text_content() and inner_text() read element text. See the shared semantics.

Release files for allwright 0.1.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for allwright 0.1.15
File Size Uploaded
allwright-0.1.15.tar.gz 33.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for allwright 0.1.15
File Interpreter ABI Platform
allwright-0.1.15-py3-none-any.whl Python 3 none any Details

Total release size: 69.0 kB

Release files / allwright-0.1.15.tar.gz

Download URL allwright-0.1.15.tar.gz
Size 33.1 kB
Tags Source
SHA-256 checksum
How to use checksums
63590a917180a26ae64c6ef226e2b1dc331c271f391077a4b3e5c32899121e17
BLAKE2b-256 checksum
How to use checksums
59f8b464e606c9ea62d29ad60e83a40b01ecd777d7369c977aea64e98035eae4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log

Release files / allwright-0.1.15-py3-none-any.whl

Download URL allwright-0.1.15-py3-none-any.whl
Size 35.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
027b383328bfeb92a1b7427afa6e0ea55618155d8448fefb4f414a2593a7d7ee
BLAKE2b-256 checksum
How to use checksums
5a3c70a98785874615126e3c02e3a2696db939af2b8c1cf444edfbf3c596d441
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.15 This release

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.53

2 release files

0.0.52

2 release files

0.0.51

2 release files

0.0.50

2 release files

0.0.49

2 release files

0.0.48

2 release files

0.0.47

2 release files

0.0.46

2 release files

0.0.45

2 release files

0.0.44

2 release files

0.0.43

2 release files

0.0.42

2 release files

0.0.41

2 release files

0.0.40

2 release files

0.0.39

2 release files

0.0.38

2 release files

0.0.37

2 release files

0.0.36

2 release files

0.0.35

2 release files

0.0.34

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page